Magellan Linux

Contents of /branches/magellan-next/extras/opera/opera-11.52-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9148 - (show annotations) (download)
Mon Nov 7 22:34:21 2011 UTC (12 years, 5 months ago) by niro
File size: 5538 byte(s)
-fixed xdg installation
1 # $Id$
2
3 PNAME="opera"
4 PVER="11.52"
5 PBUILD="r1"
6
7 PCATEGORIE="net-www"
8
9 HOMEPAGE="http://www.opera.com/"
10
11 COMMON_DEPEND=">= x11-libs/libICE-1
12 >= x11-libs/libSM-1
13 >= x11-libs/libX11-1
14 >= x11-libs/libXau-1
15 >= x11-libs/libXdmcp-1
16 >= x11-libs/libXext-1
17 >= x11-libs/libXmu-1
18 >= x11-libs/libXrender-0.9
19 >= x11-libs/libXt-1
20 >= x11-libs/libXcomposite-0.4
21 >= x11-libs/libXcursor-1
22 >= x11-libs/libXdamage-1
23 >= x11-libs/libXfixes-4
24 >= x11-libs/libXi-1
25 >= x11-libs/libXrandr-1
26 >= media-libs/fontconfig-2.6
27 >= media-libs/freetype-2.3
28 >= media-libs/libpng-1.2
29 >= dev-libs/expat-2
30 >= media-libs/gstreamer-0.10.25
31 >= media-libs/gst-plugins-base-0.10.25
32 >= sys-apps/util-linux-2.16
33 >= sys-libs/zlib-1.2.3
34 >= virtual/opengl"
35
36 KDE4_DEPEND=">= x11-libs/qt4-core-4.7
37 >= x11-libs/qt4-gui-4.7
38 >= x11-libs/qt4-dbus-4.7
39 >= x11-libs/qt4-svg-4.7
40 >= kde-base/kdelibs4-4.6"
41
42 GTK2_DEPEND="== net-www/opera-${PVER}
43 >= dev-libs/glib2-2.28
44 >= dev-libs/atk-1.33
45 >= x11-libs/cairo-1.10
46 >= x11-libs/pango-1.28
47 >= x11-libs/gtk2+-2.24"
48
49 SDEPEND="${COMMON_DEPEND}
50 ${KDE4_DEPEND}
51 ${GTK2_DEPEND}
52 >= sys-apps/sed-4"
53
54 # .6 uses newer glibc and qt versions
55 BUILD="1100"
56
57 # ftp://opera.ftp.fu-berlin.de/linux
58 SRCFILE_x86="${PNAME}-${PVER}-${BUILD}.i386.linux.tar.bz2"
59 SRCFILE_x86_64="${PNAME}-${PVER}-${BUILD}.x86_64.linux.tar.bz2"
60 # decide between x86 and x86_64 arch
61 SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})"
62 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}-${BUILD}.${ARCH/i*86/i386}.linux"
63
64 SPLIT_PACKAGES="opera opera-kde4 opera-gtk2"
65 sminclude mtools xdg
66
67 SRC_URI=(
68 ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/${SRCFILE_x86}
69 ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/${SRCFILE_x86_64}
70 ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/final/en/i386/${SRCFILE_x86}
71 ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/final/en/x86_64/${SRCFILE_x86_64}
72 mirror://${PNAME}/${SRCFILE_x86}
73 mirror://${PNAME}/${SRCFILE_x86_64}
74 )
75
76 split_info_opera()
77 {
78 DESCRIPTION="Opera Web browser."
79 DEPEND="${COMMON_DEPEND}"
80 }
81
82 split_info_opera-kde4()
83 {
84 DESCRIPTION="Opera UI integration for KDE4."
85 DEPEND="== net-www/opera-${PVER}
86 ${KDE4_DEPEND}"
87 }
88
89 split_info_opera-gtk2()
90 {
91 DESCRIPTION="Opera UI integration for GTK2 and GNOME."
92 DEPEND="== net-www/opera-${PVER}
93 ${GTK2_DEPEND}"
94 }
95
96 src_prepare()
97 {
98 munpack ${SRCFILE} || die
99 }
100
101 src_install_opera()
102 {
103 cd ${SRCDIR}
104
105 # fix install destination
106 # (do it here, not in src_unpack to support split-packages)
107 sed -i "s:/usr/local:${BINDIR}/opt/opera:g" install || die
108
109 # prepare installation directories for opera's installer script
110 minstalldir /opt/opera
111 # run opera's native installer
112 ./install --system --unattended || die
113
114 # remove uninstaller
115 rm ${BINDIR}/opt/opera/bin/uninstall-opera || die
116
117 # fix ${BINDIR} everywhere
118 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera || die
119 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera-widget-manager || die
120 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-widget-manager.desktop || die
121 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-browser.desktop || die
122 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-widget-installer.desktop || die
123
124 # sanity check
125 if [[ ! -z $(grep -irl ${BINDIR} ${BINDIR}/opt/opera) ]]
126 then
127 die "${BINDIR} in installed /opt/opera files detected!"
128 fi
129
130 # fix permissions
131 mchmod 0755 /opt/opera/bin/opera || die
132 mchmod 0755 /opt/opera/bin/opera-widget-manager || die
133 mchmod 0644 /opt/opera/share/applications/opera-widget-manager.desktop || die
134 mchmod 0644 /opt/opera/share/applications/opera-browser.desktop || die
135 mchmod 0644 /opt/opera/share/applications/opera-widget-installer.desktop || die
136
137 # install the icons
138 local i
139 for i in 16x16 22x22 24x24 32x32 48x48 128x128 scalable
140 do
141 minstalldir /usr/share/icons/hicolor/${i}/apps || die
142 if [[ -f share/icons/hicolor/${i}/apps/opera-browser.png ]]
143 then
144 minstallfile share/icons/hicolor/${i}/apps/opera-browser.png /usr/share/icons/hicolor/${i}/apps || die
145 fi
146 if [[ -f share/icons/hicolor/${i}/apps/opera-widget-manager.png ]]
147 then
148 minstallfile share/icons/hicolor/${i}/apps/opera-widget-manager.png /usr/share/icons/hicolor/${i}/apps || die
149 fi
150
151 minstalldir /usr/share/icons/hicolor/${i}/mimetypes || die
152 if [[ -f share/icons/hicolor/${i}/mimetypes/opera-widget.png ]]
153 then
154 minstallfile share/icons/hicolor/${i}/mimetypes/opera-widget.png /usr/share/icons/hicolor/${i}/mimetypes || die
155 fi
156 if [[ -f share/icons/hicolor/${i}/mimetypes/opera-unite-application.png ]]
157 then
158 minstallfile share/icons/hicolor/${i}/mimetypes/opera-unite-application.png /usr/share/icons/hicolor/${i}/mimetypes || die
159 fi
160 done
161
162 # install a symlink /usr/bin/opera
163 minstalldir /usr/bin || die
164 mlink /opt/opera/bin/opera /usr/bin/opera || die
165 mlink /opt/opera/bin/opera-widget-manager /usr/bin/opera-widget-manager || die
166
167 # install desktop icons
168 minstallxdg share/applications/opera-browser.desktop || die
169 minstallxdg share/applications/opera-widget-manager.desktop || die
170 minstallxdg share/applications/opera-widget-installer.desktop || die
171
172 # cleanup
173 rm ${BINDIR}/opt/opera/lib/opera/liboperakde4.so || die
174 rm ${BINDIR}/opt/opera/lib/opera/liboperagtk.so || die
175 }
176
177 src_install_opera-kde4()
178 {
179 cd ${SRCDIR}
180 minstalldir /opt/opera/lib/opera || die
181 minstallexec lib/opera/liboperakde4.so /opt/opera/lib/opera/ || die
182 }
183
184 src_install_opera-gtk2()
185 {
186 cd ${SRCDIR}
187 minstalldir /opt/opera/lib/opera || die
188 minstallexec lib/opera/liboperagtk.so /opt/opera/lib/opera/ || die
189 }