Gentoo Archives: gentoo-commits

From: "PaweA Hajdan (phajdan.jr)" <phajdan.jr@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in www-client/chromium: ChangeLog chromium-12.0.712.0-r1.ebuild
Date: Sun, 03 Apr 2011 16:51:21
Message-Id: 20110403165111.08C7920054@flycatcher.gentoo.org
1 phajdan.jr 11/04/03 16:51:11
2
3 Modified: ChangeLog
4 Added: chromium-12.0.712.0-r1.ebuild
5 Log:
6 Update the ffmpeg patch to be more compatible, see bug #361665 comment #3 by Mike Gilbert <floppymaster@×××××.com>.
7
8 (Portage version: 2.1.9.42/cvs/Linux i686)
9
10 Revision Changes Path
11 1.325 www-client/chromium/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.325&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.325&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?r1=1.324&r2=1.325
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v
20 retrieving revision 1.324
21 retrieving revision 1.325
22 diff -u -r1.324 -r1.325
23 --- ChangeLog 2 Apr 2011 13:28:38 -0000 1.324
24 +++ ChangeLog 3 Apr 2011 16:51:10 -0000 1.325
25 @@ -1,6 +1,13 @@
26 # ChangeLog for www-client/chromium
27 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.324 2011/04/02 13:28:38 phajdan.jr Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.325 2011/04/03 16:51:10 phajdan.jr Exp $
30 +
31 +*chromium-12.0.712.0-r1 (03 Apr 2011)
32 +
33 + 03 Apr 2011; Pawel Hajdan jr <phajdan.jr@g.o>
34 + +files/chromium-ffmpeg-build-r1.patch, +chromium-12.0.712.0-r1.ebuild:
35 + Update the ffmpeg patch to be more compatible, see bug #361665 comment #3
36 + by Mike Gilbert <floppymaster@×××××.com>.
37
38 02 Apr 2011; Pawel Hajdan jr <phajdan.jr@g.o>
39 +files/chromium-ffmpeg-build-r0.patch, chromium-11.0.696.28.ebuild,
40
41
42
43 1.1 www-client/chromium/chromium-12.0.712.0-r1.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-12.0.712.0-r1.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-12.0.712.0-r1.ebuild?rev=1.1&content-type=text/plain
47
48 Index: chromium-12.0.712.0-r1.ebuild
49 ===================================================================
50 # Copyright 1999-2011 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-12.0.712.0-r1.ebuild,v 1.1 2011/04/03 16:51:10 phajdan.jr Exp $
53
54 EAPI="3"
55 PYTHON_DEPEND="2:2.6"
56
57 inherit eutils fdo-mime flag-o-matic gnome2-utils multilib pax-utils \
58 portability python toolchain-funcs versionator virtualx
59
60 DESCRIPTION="Open-source version of Google Chrome web browser"
61 HOMEPAGE="http://chromium.org/"
62 SRC_URI="http://build.chromium.org/official/${P}.tar.bz2"
63
64 LICENSE="BSD"
65 SLOT="0"
66 KEYWORDS="~amd64 ~arm ~x86"
67 IUSE="cups gnome gnome-keyring"
68
69 RDEPEND="app-arch/bzip2
70 dev-libs/dbus-glib
71 >=dev-libs/icu-4.4.1
72 >=dev-libs/libevent-1.4.13
73 dev-libs/libxml2[icu]
74 dev-libs/libxslt
75 >=dev-libs/nss-3.12.3
76 gnome? ( >=gnome-base/gconf-2.24.0 )
77 gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2 )
78 >=media-libs/alsa-lib-1.0.19
79 media-libs/flac
80 virtual/jpeg
81 media-libs/libpng
82 >=media-libs/libvpx-0.9.5
83 media-libs/speex
84 >=media-video/ffmpeg-0.6_p25767[threads]
85 cups? ( >=net-print/cups-1.3.11 )
86 sys-libs/pam
87 sys-libs/zlib
88 x11-libs/gtk+:2
89 x11-libs/libXScrnSaver
90 x11-libs/libXtst"
91 DEPEND="${RDEPEND}
92 dev-lang/perl
93 >=dev-util/gperf-3.0.3
94 >=dev-util/pkgconfig-0.23
95 sys-devel/flex
96 >=sys-devel/make-3.81-r2"
97 RDEPEND+="
98 x11-misc/xdg-utils
99 virtual/ttf-fonts"
100
101 gyp_use() {
102 if [[ $# -lt 2 ]]; then
103 echo "!!! usage: gyp_use <USEFLAG> <GYPFLAG>" >&2
104 return 1
105 fi
106 if use "$1"; then echo "-D$2=1"; else echo "-D$2=0"; fi
107 }
108
109 egyp() {
110 set -- build/gyp_chromium --depth=. "${@}"
111 echo "${@}" >&2
112 "${@}"
113 }
114
115 pkg_setup() {
116 CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
117
118 # Make sure the build system will use the right tools, bug #340795.
119 tc-export AR CC CXX RANLIB
120
121 # Make sure the build system will use the right python, bug #344367.
122 python_set_active_version 2
123 python_pkg_setup
124
125 # Prevent user problems like bug #299777.
126 if ! grep -q /dev/shm <<< $(get_mounts); then
127 ewarn "You don't have tmpfs mounted at /dev/shm."
128 ewarn "${PN} may fail to start in that configuration."
129 ewarn "Please uncomment the /dev/shm entry in /etc/fstab,"
130 ewarn "and run 'mount /dev/shm'."
131 fi
132 if [ `stat -c %a /dev/shm` -ne 1777 ]; then
133 ewarn "/dev/shm does not have correct permissions."
134 ewarn "${PN} may fail to start in that configuration."
135 ewarn "Please run 'chmod 1777 /dev/shm'."
136 fi
137
138 # Prevent user problems like bug #348235.
139 eshopts_push -s extglob
140 if is-flagq '-g?(gdb)?([1-9])'; then
141 ewarn "You have enabled debug info (probably have -g or -ggdb in your \$C{,XX}FLAGS)."
142 ewarn "You may experience really long compilation times and/or increased memory usage."
143 ewarn "If compilation fails, please try removing -g{,gdb} before reporting a bug."
144 fi
145 eshopts_pop
146 }
147
148 src_prepare() {
149 # Make sure we don't use bundled libvpx headers.
150 epatch "${FILESDIR}/${PN}-system-vpx-r4.patch"
151
152 # Backport FFmpeg compatibility patch, bug #355405.
153 epatch "${FILESDIR}/${PN}-ffmpeg-build-r1.patch"
154
155 # Remove most bundled libraries. Some are still needed.
156 find third_party -type f \! -iname '*.gyp*' \
157 \! -path 'third_party/WebKit/*' \
158 \! -path 'third_party/angle/*' \
159 \! -path 'third_party/cacheinvalidation/*' \
160 \! -path 'third_party/cld/*' \
161 \! -path 'third_party/expat/*' \
162 \! -path 'third_party/ffmpeg/*' \
163 \! -path 'third_party/flac/flac.h' \
164 \! -path 'third_party/gpsd/*' \
165 \! -path 'third_party/harfbuzz/*' \
166 \! -path 'third_party/hunspell/*' \
167 \! -path 'third_party/iccjpeg/*' \
168 \! -path 'third_party/launchpad_translations/*' \
169 \! -path 'third_party/leveldb/*' \
170 \! -path 'third_party/libjingle/*' \
171 \! -path 'third_party/libsrtp/*' \
172 \! -path 'third_party/libvpx/libvpx.h' \
173 \! -path 'third_party/libwebp/*' \
174 \! -path 'third_party/mesa/*' \
175 \! -path 'third_party/modp_b64/*' \
176 \! -path 'third_party/npapi/*' \
177 \! -path 'third_party/openmax/*' \
178 \! -path 'third_party/ots/*' \
179 \! -path 'third_party/protobuf/*' \
180 \! -path 'third_party/skia/*' \
181 \! -path 'third_party/speex/speex.h' \
182 \! -path 'third_party/sqlite/*' \
183 \! -path 'third_party/tcmalloc/*' \
184 \! -path 'third_party/undoview/*' \
185 \! -path 'third_party/zlib/contrib/minizip/*' \
186 -delete || die
187
188 # Make sure the build system will use the right python, bug #344367.
189 # Only convert directories that need it, to save time.
190 python_convert_shebangs -q -r 2 build tools
191 }
192
193 src_configure() {
194 local myconf=""
195
196 # Never tell the build system to "enable" SSE2, it has a few unexpected
197 # additions, bug #336871.
198 myconf+=" -Ddisable_sse2=1"
199
200 # Use system-provided libraries.
201 # TODO: use_system_hunspell (upstream changes needed).
202 # TODO: use_system_ssl (http://crbug.com/58087).
203 # TODO: use_system_sqlite (http://crbug.com/22208).
204 myconf+="
205 -Duse_system_bzip2=1
206 -Duse_system_flac=1
207 -Duse_system_ffmpeg=1
208 -Duse_system_icu=1
209 -Duse_system_libevent=1
210 -Duse_system_libjpeg=1
211 -Duse_system_libpng=1
212 -Duse_system_libxml=1
213 -Duse_system_speex=1
214 -Duse_system_vpx=1
215 -Duse_system_xdg_utils=1
216 -Duse_system_zlib=1"
217
218 # Optional dependencies.
219 myconf+="
220 $(gyp_use cups use_cups)
221 $(gyp_use gnome use_gconf)
222 $(gyp_use gnome-keyring use_gnome_keyring)
223 $(gyp_use gnome-keyring linux_link_gnome_keyring)"
224
225 # Enable sandbox.
226 myconf+="
227 -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox
228 -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome"
229
230 if host-is-pax; then
231 # Prevent the build from failing (bug #301880). The performance
232 # difference is very small.
233 myconf+=" -Dv8_use_snapshot=0"
234 fi
235
236 # Our system ffmpeg should support more codecs than the bundled one
237 # for Chromium.
238 myconf+=" -Dproprietary_codecs=1"
239
240 # Use target arch detection logic from bug #354601.
241 case ${CHOST} in
242 i?86-*) myarch=x86 ;;
243 x86_64-*)
244 if [[ $ABI = "" ]] ; then
245 myarch=amd64
246 else
247 myarch="$ABI"
248 fi ;;
249 arm*-*) myarch=arm ;;
250 *) die "Unrecognized CHOST: ${CHOST}"
251 esac
252
253 if [[ $myarch = amd64 ]] ; then
254 myconf+=" -Dtarget_arch=x64"
255 elif [[ $myarch = x86 ]] ; then
256 myconf+=" -Dtarget_arch=ia32"
257 elif [[ $myarch = arm ]] ; then
258 # TODO: check this again after
259 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39509 is fixed.
260 append-flags -fno-tree-sink
261
262 myconf+=" -Dtarget_arch=arm -Ddisable_nacl=1 -Dlinux_use_tcmalloc=0"
263 else
264 die "Failed to determine target arch, got '$myarch'."
265 fi
266
267 # Make sure that -Werror doesn't get added to CFLAGS by the build system.
268 # Depending on GCC version the warnings are different and we don't want
269 # the build to fail because of that.
270 myconf+=" -Dwerror="
271
272 # Avoid a build error with -Os, bug #352457.
273 replace-flags "-Os" "-O2"
274
275 egyp ${myconf} || die
276 }
277
278 src_compile() {
279 emake chrome chrome_sandbox BUILDTYPE=Release V=1 || die
280 pax-mark m out/Release/chrome
281 if use test; then
282 emake base_unittests BUILDTYPE=Release V=1 || die
283 pax-mark m out/Release/base_unittests
284 fi
285 }
286
287 src_test() {
288 # For more info see bug #350349.
289 local mylocale='en_US.utf8'
290 if ! locale -a | grep -q "$mylocale"; then
291 eerror "${PN} requires ${mylocale} locale for tests"
292 eerror "Please read the following guides for more information:"
293 eerror " http://www.gentoo.org/doc/en/guide-localization.xml"
294 eerror " http://www.gentoo.org/doc/en/utf-8.xml"
295 die "locale ${mylocale} is not supported"
296 fi
297
298 # For more info see bug #350347.
299 LC_ALL="${mylocale}" VIRTUALX_COMMAND=out/Release/base_unittests virtualmake \
300 '--gtest_filter=-ICUStringConversionsTest.*'
301 }
302
303 src_install() {
304 exeinto "${CHROMIUM_HOME}"
305 doexe out/Release/chrome
306 doexe out/Release/chrome_sandbox || die
307 fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox"
308 newexe "${FILESDIR}"/chromium-launcher-r1.sh chromium-launcher.sh || die
309
310 # It is important that we name the target "chromium-browser",
311 # xdg-utils expect it; bug #355517.
312 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser || die
313 # keep the old symlink around for consistency
314 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium || die
315
316 insinto "${CHROMIUM_HOME}"
317 doins out/Release/chrome.pak || die
318 doins out/Release/resources.pak || die
319
320 doins -r out/Release/locales || die
321 doins -r out/Release/resources || die
322
323 newman out/Release/chrome.1 chromium.1 || die
324 newman out/Release/chrome.1 chromium-browser.1 || die
325
326 # Chromium looks for these in its folder
327 # See media_posix.cc and base_paths_linux.cc
328 dosym /usr/$(get_libdir)/libavcodec.so.52 "${CHROMIUM_HOME}" || die
329 dosym /usr/$(get_libdir)/libavformat.so.52 "${CHROMIUM_HOME}" || die
330 dosym /usr/$(get_libdir)/libavutil.so.50 "${CHROMIUM_HOME}" || die
331
332 # Install icons and desktop entry.
333 for SIZE in 16 22 24 32 48 64 128 256 ; do
334 insinto /usr/share/icons/hicolor/${SIZE}x${SIZE}/apps
335 newins chrome/app/theme/chromium/product_logo_${SIZE}.png \
336 chromium-browser.png || die
337 done
338 local mime_types="text/html;text/xml;application/xhtml+xml;"
339 mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797
340 make_desktop_entry chromium-browser "Chromium" chromium-browser \
341 "Network;WebBrowser" "MimeType=${mime_types}"
342 sed -e "/^Exec/s/$/ %U/" -i "${D}"/usr/share/applications/*.desktop || die
343
344 # Install GNOME default application entry (bug #303100).
345 if use gnome; then
346 dodir /usr/share/gnome-control-center/default-apps || die
347 insinto /usr/share/gnome-control-center/default-apps
348 doins "${FILESDIR}"/chromium-browser.xml || die
349 fi
350 }
351
352 pkg_preinst() {
353 gnome2_icon_savelist
354 }
355
356 pkg_postinst() {
357 fdo-mime_desktop_database_update
358 gnome2_icon_cache_update
359
360 # For more info see bugs #292201 and bug #352263.
361 elog "Depending on your desktop environment, you may need"
362 elog "to install additional packages to get icons on the Downloads page."
363 elog
364 elog "For KDE, the required package is kde-base/oxygen-icons."
365 elog
366 elog "For other desktop environments, try one of the following:"
367 elog " - x11-themes/gnome-icon-theme"
368 elog " - x11-themes/xfce4-icon-theme"
369 }
370
371 pkg_postrm() {
372 gnome2_icon_cache_update
373 }