Gentoo Archives: gentoo-commits

From: "Jeroen Roovers (jer)" <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-client/opera: opera-12.02.1578.ebuild ChangeLog
Date: Thu, 30 Aug 2012 16:25:45
Message-Id: 20120830162535.94E0920C93@flycatcher.gentoo.org
1 jer 12/08/30 16:25:35
2
3 Modified: ChangeLog
4 Added: opera-12.02.1578.ebuild
5 Log:
6 http://my.opera.com/desktopteam/blog/2012/08/30/opera-12-02-security-and-stability-release
7
8 (Portage version: 2.2.0_alpha123/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.742 www-client/opera/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/opera/ChangeLog?rev=1.742&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/opera/ChangeLog?rev=1.742&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/opera/ChangeLog?r1=1.741&r2=1.742
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/www-client/opera/ChangeLog,v
20 retrieving revision 1.741
21 retrieving revision 1.742
22 diff -u -r1.741 -r1.742
23 --- ChangeLog 23 Aug 2012 13:48:31 -0000 1.741
24 +++ ChangeLog 30 Aug 2012 16:25:35 -0000 1.742
25 @@ -1,6 +1,12 @@
26 # ChangeLog for www-client/opera
27 # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/www-client/opera/ChangeLog,v 1.741 2012/08/23 13:48:31 jer Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/www-client/opera/ChangeLog,v 1.742 2012/08/30 16:25:35 jer Exp $
30 +
31 +*opera-12.02.1578 (30 Aug 2012)
32 +
33 + 30 Aug 2012; Jeroen Roovers <jer@g.o> +opera-12.02.1578.ebuild:
34 + http://my.opera.com/desktopteam/blog/2012/08/30/opera-12-02-security-and-stab
35 + ility-release
36
37 *opera-12.02.1565 (23 Aug 2012)
38
39
40
41
42 1.1 www-client/opera/opera-12.02.1578.ebuild
43
44 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/opera/opera-12.02.1578.ebuild?rev=1.1&view=markup
45 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/opera/opera-12.02.1578.ebuild?rev=1.1&content-type=text/plain
46
47 Index: opera-12.02.1578.ebuild
48 ===================================================================
49 # Copyright 1999-2012 Gentoo Foundation
50 # Distributed under the terms of the GNU General Public License v2
51 # $Header: /var/cvsroot/gentoo-x86/www-client/opera/opera-12.02.1578.ebuild,v 1.1 2012/08/30 16:25:35 jer Exp $
52
53 EAPI=4
54 inherit eutils fdo-mime gnome2-utils multilib pax-utils versionator
55
56 DESCRIPTION="A fast and secure web browser and Internet suite"
57 HOMEPAGE="http://www.opera.com/"
58
59 SLOT="0"
60 LICENSE="OPERA-11 LGPL-2 LGPL-3"
61 KEYWORDS="~amd64 ~x86 ~x86-fbsd"
62 IUSE="elibc_FreeBSD gtk kde +gstreamer multilib"
63
64 O_V="$(get_version_component_range 1-2)" # Major version, i.e. 11.00
65 O_B="$(get_version_component_range 3)" # Build version, i.e. 1156
66
67 O_D="${O_V/./}"
68 O_P="${PN}-${O_V}-${O_B}"
69 O_U="mirror://opera/"
70
71 SRC_URI="
72 amd64? ( ${O_U}${O_D}/${O_P}.x86_64.linux.tar.xz )
73 x86? ( ${O_U}${O_D}/${O_P}.i386.linux.tar.xz )
74 x86-fbsd? ( ${O_U}${O_D}/${O_P}.i386.freebsd.tar.xz )
75 "
76
77 O_LINGUAS="
78 af ar az be bg bn cs da de el en-GB es-ES es-LA et fa fi fr fr-CA fy gd he
79 hi hr hu id it ja ka kk ko lt me mk ms nb nl nn pa pl pt pt-BR ro ru sk sr
80 sv sw ta te th tl tr uk ur uz vi zh-CN zh-TW zu
81 "
82
83 for O_LINGUA in ${O_LINGUAS}; do
84 IUSE+=" linguas_${O_LINGUA/-/_}"
85 done
86
87 DEPEND="
88 >=sys-apps/sed-4
89 app-arch/xz-utils
90 "
91 GTKRDEPEND="
92 dev-libs/atk
93 dev-libs/glib:2
94 x11-libs/cairo
95 x11-libs/gdk-pixbuf
96 gtk? ( || ( x11-libs/gtk+:3 x11-libs/gtk+:2 ) )
97 x11-libs/pango
98 x11-libs/pixman
99 "
100 KDERDEPEND="
101 kde-base/kdelibs
102 x11-libs/qt-core:4
103 x11-libs/qt-gui:4
104 "
105 GSTRDEPEND="
106 dev-libs/glib:2
107 dev-libs/libxml2
108 media-libs/gst-plugins-base
109 media-libs/gstreamer
110 media-plugins/gst-plugins-meta
111 "
112 RDEPEND="
113 media-libs/fontconfig
114 media-libs/freetype
115 sys-apps/util-linux
116 sys-libs/zlib
117 virtual/opengl
118 x11-libs/libICE
119 x11-libs/libSM
120 x11-libs/libX11
121 x11-libs/libXext
122 x11-libs/libXft
123 x11-libs/libXrender
124 x11-libs/libXt
125 gtk? ( ${GTKRDEPEND} )
126 kde? ( ${KDERDEPEND} )
127 gstreamer? ( ${GSTRDEPEND} )
128 "
129 src_unpack() {
130 unpack ${A}
131 mv -v ${PN}* "${S}" || die
132 }
133
134 src_prepare() {
135 export OPREFIX="/usr/$(get_libdir)"
136 export QA_DT_HASH="${OPREFIX}/${PN}/.*"
137 export QA_PRESTRIPPED="${OPREFIX}/${PN}/.*"
138
139 local LNGDIR="share/${PN}/locale"
140
141 # Count linguas
142 count() { echo ${#}; }
143 local lingua_count=$(count ${O_LINGUAS} en)
144 local locale_count=$(count ${LNGDIR}/*)
145 [[ ${lingua_count} = ${locale_count} ]] \
146 || die "Number of LINGUAS does not match number of locales"
147 unset count
148
149 # Remove unwanted linguas
150 for LINGUA in ${O_LINGUAS}; do
151 if ! use linguas_${LINGUA/-/_}; then
152 LINGUA=$(find "${LNGDIR}" -maxdepth 1 -type d -iname ${LINGUA/_/-})
153 rm -r "${LINGUA}" || die "The list of linguas needs to be fixed"
154 fi
155 done
156
157 # Remove doc directory but keep the LICENSE under another name (bug #315473)
158 mv share/doc/${PN}/LICENSE share/${PN}/defaults/license.txt
159 rm -rf share/doc
160 for locale in share/${PN}/locale/*; do
161 rm -f "${locale}/license.txt"
162 ln -sn /usr/share/${PN}/defaults/license.txt "${locale}/license.txt" \
163 || die
164 done
165
166 # Remove package directory
167 rm -rf share/${PN}/package
168
169 # Optional libraries
170 if ! use gtk; then
171 rm lib/${PN}/liboperagtk2.so || die
172 rm lib/${PN}/liboperagtk3.so || die
173 fi
174 if ! use kde; then
175 rm lib/${PN}/liboperakde4.so || die
176 fi
177 if ! use gstreamer; then
178 rm -r lib/${PN}/gstreamer || die
179 fi
180 if use amd64 && ! use multilib; then
181 rm lib/${PN}/pluginwrapper/operapluginwrapper-ia32-linux || die
182 fi
183
184 # Unzip the man pages before sedding
185 gunzip share/man/man1/* || die
186
187 local OPERA_SUFFIX= OPERA__SUFFIX= OPERAU_SUFFIX=
188 if [[ ${PN} = opera-next ]]; then
189 OPERA_SUFFIX="-next"
190 OPERA__SUFFIX=" Next"
191 OPERA_USUFFIX="-NEXT"
192 fi
193
194 # Replace PREFIX, SUFFIX and PN in various files
195 sed -i \
196 -e "s:@@{PREFIX}:/usr:g" \
197 -e "s:@@{SUFFIX}:${OPERA_SUFFIX}:g" \
198 -e "s:@@{_SUFFIX}:${OPERA__SUFFIX}:g" \
199 -e "s:@@{USUFFIX}:${OPERA_USUFFIX}:g" \
200 share/man/man1/* \
201 share/mime/packages/* \
202 share/applications/${PN}-*.desktop \
203 || die
204
205 # Create /usr/bin/opera wrapper
206 echo '#!/bin/sh' > ${PN}
207 echo 'export OPERA_DIR="/usr/share/'"${PN}"'"' >> ${PN}
208 echo 'export OPERA_PERSONALDIR=${OPERA_PERSONALDIR:-"${HOME}/.'${PN}'"}' \
209 >> ${PN}
210 echo 'exec '"${OPREFIX}/${PN}/${PN}"' "$@"' >> ${PN}
211
212 # Change libz.so.3 to libz.so.1 for gentoo/freebsd
213 if use elibc_FreeBSD; then
214 scanelf -qR -N libz.so.3 -F "#N" lib/${PN}/ | \
215 while read i; do
216 if [[ $(strings "$i" | fgrep -c libz.so.3) -ne 1 ]];
217 then
218 export SANITY_CHECK_LIBZ_FAILED=1
219 break
220 fi
221 sed -i \
222 "$i" \
223 -e 's/libz\.so\.3/libz.so.1/g'
224 done
225 [[ "$SANITY_CHECK_LIBZ_FAILED" = "1" ]] && die
226 fi
227 }
228
229 src_install() {
230 # We install into usr instead of opt as Opera does not support the latter
231 dodir /usr
232 mv lib/ "${D}/${OPREFIX}" || die
233 mv share/ "${D}/usr/" || die
234
235 # Install startup scripts
236 dobin ${PN}
237
238 # Stop revdep-rebuild from checking opera binaries
239 dodir /etc/revdep-rebuild
240 echo "SEARCH_DIRS_MASK=\"${OPREFIX}/${PN}\"" \
241 > "${D}"/etc/revdep-rebuild/90${PN}
242
243 # Set PaX markings for hardened/PaX (bug #344267)
244 pax-mark m $( list-paxables $( find "${D}"/${OPREFIX}/${PN}/ ) )
245 }
246
247 pkg_preinst() {
248 gnome2_icon_savelist
249 }
250
251 pkg_postinst() {
252 if use elibc_FreeBSD; then
253 elog
254 elog "To improve shared memory usage please set:"
255 elog "$ sysctl kern.ipc.shm_allow_removed=1"
256 fi
257
258 # Update desktop file database and gtk icon cache (bug #334993)
259 gnome2_icon_cache_update
260 fdo-mime_desktop_database_update
261 }
262
263 pkg_postrm() {
264 # Update desktop file database and gtk icon cache (bug #334993)
265 gnome2_icon_cache_update
266 fdo-mime_desktop_database_update
267 }