Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9543 - (show annotations) (download)
Tue Dec 6 22:08:50 2011 UTC (12 years, 6 months ago) by niro
File size: 7493 byte(s)
-fixed postinstall behavior
1 # $Id$
2
3 PNAME="opera"
4 PVER="11.60"
5 PBUILD="r1"
6
7 # enable or disable gtk3 (0=false, 1=true)
8 ENABLE_GTK3=0
9 # enable or disable qt4/kde4 (0=false, 1=true)
10 ENABLE_KDE4=0
11
12 # export them, as they are used in postinstall
13 SPECIAL_VARS="ENABLE_GTK3 ENABLE_KDE4"
14
15 SPLIT_PACKAGES="opera opera-gtk2"
16 if [[ ${ENABLE_GTK3} -eq 1 ]]
17 then
18 SPLIT_PACKAGES+=" opera-gtk3"
19 fi
20
21 if [[ ${ENABLE_KDE4} -eq 1 ]]
22 then
23 SPLIT_PACKAGES+=" opera-kde4"
24 fi
25
26 PCATEGORIE="net-www"
27
28 HOMEPAGE="http://www.opera.com/"
29
30 COMMON_DEPEND=">= x11-libs/libICE-1
31 >= x11-libs/libSM-1
32 >= x11-libs/libX11-1
33 >= x11-libs/libXau-1
34 >= x11-libs/libXdmcp-1
35 >= x11-libs/libXext-1
36 >= x11-libs/libXmu-1
37 >= x11-libs/libXrender-0.9
38 >= x11-libs/libXt-1
39 >= x11-libs/libXcomposite-0.4
40 >= x11-libs/libXcursor-1
41 >= x11-libs/libXdamage-1
42 >= x11-libs/libXfixes-4
43 >= x11-libs/libXi-1
44 >= x11-libs/libXrandr-1
45 >= media-libs/fontconfig-2.6
46 >= media-libs/freetype-2.3
47 >= media-libs/libpng-1.2
48 >= dev-libs/expat-2
49 >= media-libs/gstreamer-0.10.25
50 >= media-libs/gst-plugins-base-0.10.25
51 >= sys-apps/util-linux-2.16
52 >= sys-libs/zlib-1.2.3
53 >= virtual/opengl"
54
55 if [[ ${ENABLE_KDE4} -eq 1 ]]
56 then
57 KDE4_DEPEND=">= x11-libs/qt4-core-4.7
58 >= x11-libs/qt4-gui-4.7
59 >= x11-libs/qt4-dbus-4.7
60 >= x11-libs/qt4-svg-4.7
61 >= kde-base/kdelibs4-4.6"
62 fi
63
64 GTK2_DEPEND="== net-www/opera-${PVER}
65 >= dev-libs/glib2-2.28
66 >= dev-libs/atk-1.33
67 >= x11-libs/cairo-1.10
68 >= x11-libs/pango-1.28
69 >= x11-libs/gtk2+-2.24"
70
71 if [[ ${ENABLE_GTK3} -eq 1 ]]
72 then
73 GTK3_DEPEND="== net-www/opera-${PVER}
74 >= dev-libs/glib2-2.30
75 >= dev-libs/atk-2
76 >= x11-libs/cairo-1.10
77 >= x11-libs/pango-3
78 >= x11-libs/gtk3+-3"
79 fi
80
81 SDEPEND="${COMMON_DEPEND}
82 ${KDE4_DEPEND}
83 ${GTK2_DEPEND}
84 >= sys-apps/sed-4"
85
86 if [[ ${ENABLE_GTK3} -eq 1 ]]
87 then
88 SDEPEND="${SDEPEND}
89 ${GTK3_DEPEND}"
90 fi
91
92 if [[ ${ENABLE_KDE4} -eq 1 ]]
93 then
94 SDEPEND="${SDEPEND}
95 ${KDE4_DEPEND}"
96 fi
97
98 PROVIDE="virtual/webbrowser"
99
100 # .6 uses newer glibc and qt versions
101 BUILD="1185"
102
103 # ftp://opera.ftp.fu-berlin.de/linux
104 SRCFILE_x86="${PNAME}-${PVER}-${BUILD}.i386.linux.tar.bz2"
105 SRCFILE_x86_64="${PNAME}-${PVER}-${BUILD}.x86_64.linux.tar.bz2"
106 # decide between x86 and x86_64 arch
107 SRCFILE="$(eval echo \$SRCFILE_${ARCH/i*86/x86})"
108 SRCDIR="${BUILDDIR}/${PNAME}-${PVER}-${BUILD}.${ARCH/i*86/i386}.linux"
109
110 sminclude mtools xdg
111
112 SRC_URI=(
113 http://get.geo.opera.com/pub/opera/linux/${PVER/./}/${SRCFILE_x86}
114 http://get.geo.opera.com/pub/opera/linux/${PVER/./}/${SRCFILE_x86_64}
115 ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/${SRCFILE_x86}
116 ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/${SRCFILE_x86_64}
117 ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/final/en/i386/${SRCFILE_x86}
118 ftp://opera.ftp.fu-berlin.de/linux/${PVER/./}/final/en/x86_64/${SRCFILE_x86_64}
119 mirror://${PNAME}/${SRCFILE_x86}
120 mirror://${PNAME}/${SRCFILE_x86_64}
121 )
122
123 split_info_opera()
124 {
125 DESCRIPTION="Opera Web browser."
126 DEPEND="${COMMON_DEPEND}"
127 }
128
129 if [[ ${ENABLE_KDE4} -eq 1 ]]
130 then
131 split_info_opera-kde4()
132 {
133 DESCRIPTION="Opera UI integration for KDE4."
134 DEPEND="== net-www/opera-${PVER}
135 ${KDE4_DEPEND}"
136 }
137 fi
138
139 split_info_opera-gtk2()
140 {
141 DESCRIPTION="Opera UI integration for GTK2 and GNOME."
142 DEPEND="== net-www/opera-${PVER}
143 ${GTK2_DEPEND}"
144 }
145
146 if [[ ${ENABLE_GTK3} -eq 1 ]]
147 then
148 split_info_opera-gtk3()
149 {
150 DESCRIPTION="Opera UI integration for GTK3 and GNOME."
151 DEPEND="== net-www/opera-${PVER}
152 ${GTK3_DEPEND}"
153 }
154 fi
155
156 src_prepare()
157 {
158 munpack ${SRCFILE} || die
159 }
160
161 src_install_opera()
162 {
163 cd ${SRCDIR}
164
165 # fix install destination
166 # (do it here, not in src_unpack to support split-packages)
167 sed -i "s:/usr/local:${BINDIR}/opt/opera:g" install || die
168
169 # prepare installation directories for opera's installer script
170 minstalldir /opt/opera
171 # run opera's native installer
172 ./install --system --unattended || die
173
174 # remove uninstaller
175 rm ${BINDIR}/opt/opera/bin/uninstall-opera || die
176
177 # fix ${BINDIR} everywhere
178 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera || die
179 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/bin/opera-widget-manager || die
180 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-widget-manager.desktop || die
181 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-browser.desktop || die
182 sed -i "s:${BINDIR}::g" ${BINDIR}/opt/opera/share/applications/opera-widget-installer.desktop || die
183
184 # sanity check
185 if [[ ! -z $(grep -irl ${BINDIR} ${BINDIR}/opt/opera) ]]
186 then
187 die "${BINDIR} in installed /opt/opera files detected!"
188 fi
189
190 # fix permissions
191 mchmod 0755 /opt/opera/bin/opera || die
192 mchmod 0755 /opt/opera/bin/opera-widget-manager || die
193 mchmod 0644 /opt/opera/share/applications/opera-widget-manager.desktop || die
194 mchmod 0644 /opt/opera/share/applications/opera-browser.desktop || die
195 mchmod 0644 /opt/opera/share/applications/opera-widget-installer.desktop || die
196
197 # install the icons
198 local i
199 for i in 16x16 22x22 24x24 32x32 48x48 128x128 scalable
200 do
201 minstalldir /usr/share/icons/hicolor/${i}/apps || die
202 if [[ -f share/icons/hicolor/${i}/apps/opera-browser.png ]]
203 then
204 minstallfile share/icons/hicolor/${i}/apps/opera-browser.png /usr/share/icons/hicolor/${i}/apps || die
205 fi
206 if [[ -f share/icons/hicolor/${i}/apps/opera-widget-manager.png ]]
207 then
208 minstallfile share/icons/hicolor/${i}/apps/opera-widget-manager.png /usr/share/icons/hicolor/${i}/apps || die
209 fi
210
211 minstalldir /usr/share/icons/hicolor/${i}/mimetypes || die
212 if [[ -f share/icons/hicolor/${i}/mimetypes/opera-widget.png ]]
213 then
214 minstallfile share/icons/hicolor/${i}/mimetypes/opera-widget.png /usr/share/icons/hicolor/${i}/mimetypes || die
215 fi
216 if [[ -f share/icons/hicolor/${i}/mimetypes/opera-unite-application.png ]]
217 then
218 minstallfile share/icons/hicolor/${i}/mimetypes/opera-unite-application.png /usr/share/icons/hicolor/${i}/mimetypes || die
219 fi
220 done
221
222 # install a symlink /usr/bin/opera
223 minstalldir /usr/bin || die
224 mlink /opt/opera/bin/opera /usr/bin/opera || die
225 mlink /opt/opera/bin/opera-widget-manager /usr/bin/opera-widget-manager || die
226
227 # install desktop icons
228 minstallxdg share/applications/opera-browser.desktop || die
229 minstallxdg share/applications/opera-widget-manager.desktop || die
230 minstallxdg share/applications/opera-widget-installer.desktop || die
231
232 # cleanup
233 rm ${BINDIR}/opt/opera/lib/opera/liboperakde4.so || die
234 rm ${BINDIR}/opt/opera/lib/opera/liboperagtk2.so || die
235 rm ${BINDIR}/opt/opera/lib/opera/liboperagtk3.so || die
236 }
237
238 if [[ ${ENABLE_KDE4} -eq 1 ]]
239 then
240 src_install_opera-kde4()
241 {
242 cd ${SRCDIR}
243 minstalldir /opt/opera/lib/opera || die
244 minstallexec lib/opera/liboperakde4.so /opt/opera/lib/opera/ || die
245 }
246 fi
247
248 src_install_opera-gtk2()
249 {
250 cd ${SRCDIR}
251 minstalldir /opt/opera/lib/opera || die
252 minstallexec lib/opera/liboperagtk2.so /opt/opera/lib/opera/ || die
253 }
254
255 if [[ ${ENABLE_GTK3} -eq 1 ]]
256 then
257 src_install_opera-gtk3()
258 {
259 cd ${SRCDIR}
260 minstalldir /opt/opera/lib/opera || die
261 minstallexec lib/opera/liboperagtk3.so /opt/opera/lib/opera/ || die
262 }
263 fi
264
265 postinstall_opera()
266 {
267 if [[ ${ENABLE_KDE4} -ne 1 ]]
268 then
269 if [[ ! -z $(magequery -n opera-kde4) ]]
270 then
271 echo "Opera was packaged without KDE4 support but an old KDE4 package was found."
272 echo "Please uninstall 'net-www/opera-kde4' after this installation."
273 fi
274 fi
275 if [[ ${ENABLE_GTK3} -ne 1 ]]
276 then
277 if [[ ! -z $(magequery -n opera-gtk3) ]]
278 then
279 echo "Opera was packaged without GTK3 support but an old GTK3 package was found."
280 echo "Please uninstall 'net-www/opera-gtk3' after this installation."
281 fi
282 fi
283 }