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-9999.ebuild chromium-9.0.587.0-r1.ebuild chromium-9.0.587.0.ebuild chromium-9.0.570.0-r1.ebuild
Date: Wed, 24 Nov 2010 20:43:29
Message-Id: 20101124204321.DAF1F20051@flycatcher.gentoo.org
1 phajdan.jr 10/11/24 20:43:21
2
3 Modified: ChangeLog chromium-9999.ebuild
4 Added: chromium-9.0.587.0-r1.ebuild
5 Removed: chromium-9.0.587.0.ebuild
6 chromium-9.0.570.0-r1.ebuild
7 Log:
8 Use system ffmpeg (a more recent snapshot), bug #345325 by Mike Gilbert <floppymaster@×××××.com>.
9 (Portage version: 2.1.8.3/cvs/Linux i686)
10
11 Revision Changes Path
12 1.230 www-client/chromium/ChangeLog
13
14 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.230&view=markup
15 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?rev=1.230&content-type=text/plain
16 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/ChangeLog?r1=1.229&r2=1.230
17
18 Index: ChangeLog
19 ===================================================================
20 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v
21 retrieving revision 1.229
22 retrieving revision 1.230
23 diff -u -r1.229 -r1.230
24 --- ChangeLog 24 Nov 2010 15:59:10 -0000 1.229
25 +++ ChangeLog 24 Nov 2010 20:43:21 -0000 1.230
26 @@ -1,6 +1,14 @@
27 # ChangeLog for www-client/chromium
28 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
29 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.229 2010/11/24 15:59:10 phajdan.jr Exp $
30 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.230 2010/11/24 20:43:21 phajdan.jr Exp $
31 +
32 +*chromium-9.0.587.0-r1 (24 Nov 2010)
33 +
34 + 24 Nov 2010; Pawel Hajdan jr <phajdan.jr@g.o>
35 + -chromium-9.0.570.0-r1.ebuild, -chromium-9.0.587.0.ebuild,
36 + +chromium-9.0.587.0-r1.ebuild, chromium-9999.ebuild:
37 + Use system ffmpeg (a more recent snapshot), bug #345325 by Mike Gilbert
38 + <floppymaster@×××××.com>.
39
40 *chromium-8.0.552.210 (24 Nov 2010)
41
42
43
44
45 1.112 www-client/chromium/chromium-9999.ebuild
46
47 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-9999.ebuild?rev=1.112&view=markup
48 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-9999.ebuild?rev=1.112&content-type=text/plain
49 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-9999.ebuild?r1=1.111&r2=1.112
50
51 Index: chromium-9999.ebuild
52 ===================================================================
53 RCS file: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999.ebuild,v
54 retrieving revision 1.111
55 retrieving revision 1.112
56 diff -u -r1.111 -r1.112
57 --- chromium-9999.ebuild 19 Nov 2010 14:45:41 -0000 1.111
58 +++ chromium-9999.ebuild 24 Nov 2010 20:43:21 -0000 1.112
59 @@ -1,6 +1,6 @@
60 # Copyright 1999-2010 Gentoo Foundation
61 # Distributed under the terms of the GNU General Public License v2
62 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999.ebuild,v 1.111 2010/11/19 14:45:41 phajdan.jr Exp $
63 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9999.ebuild,v 1.112 2010/11/24 20:43:21 phajdan.jr Exp $
64
65 EAPI="3"
66 PYTHON_DEPEND="2:2.6"
67 @@ -36,6 +36,7 @@
68 virtual/jpeg
69 media-libs/libpng
70 media-libs/libvpx
71 + >=media-video/ffmpeg-0.6_p25767[threads]
72 cups? ( >=net-print/cups-1.3.11 )
73 sys-libs/zlib
74 >=x11-libs/gtk+-2.14.7
75 @@ -43,7 +44,6 @@
76 x11-libs/libXtst"
77 DEPEND="${RDEPEND}
78 dev-lang/perl
79 - >=dev-lang/yasm-1.1.0
80 >=dev-util/gperf-3.0.3
81 >=dev-util/pkgconfig-0.23
82 sys-devel/flex"
83 @@ -172,6 +172,7 @@
84 remove_bundled_lib "third_party/simplejson"
85 remove_bundled_lib "third_party/tlslite"
86 remove_bundled_lib "third_party/yasm"
87 + # TODO: also remove third_party/ffmpeg (needs to be compile-tested).
88 # TODO: also remove third_party/zlib. For now the compilation fails if we
89 # remove it (minizip-related).
90
91 @@ -217,18 +218,17 @@
92 myconf+=" -Ddisable_sse2=1"
93
94 # Use system-provided libraries.
95 - # TODO: use_system_ffmpeg (bug #345325).
96 # TODO: use_system_hunspell (upstream changes needed).
97 # TODO: use_system_ssl (need to consult upstream).
98 myconf+="
99 -Duse_system_bzip2=1
100 + -Duse_system_ffmpeg=1
101 -Duse_system_icu=1
102 -Duse_system_libevent=1
103 -Duse_system_libjpeg=1
104 -Duse_system_libpng=1
105 -Duse_system_libxml=1
106 -Duse_system_vpx=1
107 - -Duse_system_yasm=1
108 -Duse_system_zlib=1"
109
110 if use system-sqlite; then
111 @@ -276,6 +276,10 @@
112 append-flags -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER
113 fi
114
115 + # Our system ffmpeg should support more codecs than the bundled one
116 + # for Chromium.
117 + myconf+=" -Dproprietary_codecs=1"
118 +
119 # Use target arch detection logic from bug #296917.
120 local myarch="$ABI"
121 [[ $myarch = "" ]] && myarch="$ARCH"
122 @@ -326,8 +330,11 @@
123 newman out/Release/chrome.1 chrome.1 || die
124 newman out/Release/chrome.1 chromium.1 || die
125
126 - doexe out/Release/ffmpegsumo_nolink || die
127 - doexe out/Release/libffmpegsumo.so || die
128 + # Chromium looks for these in its folder
129 + # See media_posix.cc and base_paths_linux.cc
130 + dosym /usr/$(get_libdir)/libavcodec.so.52 "${CHROMIUM_HOME}" || die
131 + dosym /usr/$(get_libdir)/libavformat.so.52 "${CHROMIUM_HOME}" || die
132 + dosym /usr/$(get_libdir)/libavutil.so.50 "${CHROMIUM_HOME}" || die
133
134 # Install icon and desktop entry.
135 newicon out/Release/product_logo_48.png ${PN}-browser.png || die
136
137
138
139 1.1 www-client/chromium/chromium-9.0.587.0-r1.ebuild
140
141 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-9.0.587.0-r1.ebuild?rev=1.1&view=markup
142 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/www-client/chromium/chromium-9.0.587.0-r1.ebuild?rev=1.1&content-type=text/plain
143
144 Index: chromium-9.0.587.0-r1.ebuild
145 ===================================================================
146 # Copyright 1999-2010 Gentoo Foundation
147 # Distributed under the terms of the GNU General Public License v2
148 # $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-9.0.587.0-r1.ebuild,v 1.1 2010/11/24 20:43:21 phajdan.jr Exp $
149
150 EAPI="3"
151 PYTHON_DEPEND="2:2.6"
152
153 inherit eutils flag-o-matic multilib pax-utils portability python \
154 toolchain-funcs versionator
155
156 DESCRIPTION="Open-source version of Google Chrome web browser"
157 HOMEPAGE="http://chromium.org/"
158 SRC_URI="http://build.chromium.org/buildbot/official/${P}.tar.bz2"
159
160 LICENSE="BSD"
161 SLOT="0"
162 KEYWORDS="~amd64 ~arm ~x86"
163 IUSE="cups +gecko-mediaplayer gnome gnome-keyring system-sqlite system-v8"
164
165 RDEPEND="app-arch/bzip2
166 system-sqlite? (
167 >=dev-db/sqlite-3.6.23.1[fts3,icu,secure-delete,threadsafe]
168 )
169 system-v8? ( ~dev-lang/v8-2.5.6 )
170 dev-libs/dbus-glib
171 >=dev-libs/icu-4.4.1
172 >=dev-libs/libevent-1.4.13
173 dev-libs/libxml2
174 dev-libs/libxslt
175 >=dev-libs/nss-3.12.3
176 gnome? ( >=gnome-base/gconf-2.24.0 )
177 gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2 )
178 >=media-libs/alsa-lib-1.0.19
179 virtual/jpeg
180 media-libs/libpng
181 media-libs/libvpx
182 >=media-video/ffmpeg-0.6_p25767[threads]
183 cups? ( >=net-print/cups-1.3.11 )
184 sys-libs/zlib
185 >=x11-libs/gtk+-2.14.7
186 x11-libs/libXScrnSaver
187 x11-libs/libXtst"
188 DEPEND="${RDEPEND}
189 dev-lang/perl
190 >=dev-util/gperf-3.0.3
191 >=dev-util/pkgconfig-0.23
192 sys-devel/flex"
193 RDEPEND+="
194 || (
195 x11-themes/gnome-icon-theme
196 x11-themes/oxygen-molecule
197 x11-themes/tango-icon-theme
198 x11-themes/xfce4-icon-theme
199 )
200 x11-misc/xdg-utils
201 virtual/ttf-fonts
202 gecko-mediaplayer? ( !www-plugins/gecko-mediaplayer[gnome] )"
203
204 egyp() {
205 set -- build/gyp_chromium --depth=. "${@}"
206 echo "${@}" >&2
207 "${@}"
208 }
209
210 get_bundled_v8_version() {
211 "$(PYTHON -2)" "${FILESDIR}"/extract_v8_version.py v8/src/version.cc
212 }
213
214 get_installed_v8_version() {
215 best_version dev-lang/v8 | sed -e 's@dev-lang/v8-@@g'
216 }
217
218 remove_bundled_lib() {
219 local out
220 out="$(find $1 -type f \! -iname '*.gyp' -print -delete)" \
221 || die "failed to remove bundled library $1"
222 if [[ -z $out ]]; then
223 die "no files matched when removing bundled library $1"
224 fi
225 }
226
227 pkg_setup() {
228 CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
229
230 # Make sure the build system will use the right tools, bug #340795.
231 tc-export AR CC CXX RANLIB
232
233 # Make sure the build system will use the right python, bug #344367.
234 python_set_active_version 2
235
236 # Prevent user problems like bug #299777.
237 if ! grep -q /dev/shm <<< $(get_mounts); then
238 ewarn "You don't have tmpfs mounted at /dev/shm."
239 ewarn "${PN} may fail to start in that configuration."
240 ewarn "Please uncomment the /dev/shm entry in /etc/fstab,"
241 ewarn "and run 'mount /dev/shm'."
242 fi
243 if [ `stat -c %a /dev/shm` -ne 1777 ]; then
244 ewarn "/dev/shm does not have correct permissions."
245 ewarn "${PN} may fail to start in that configuration."
246 ewarn "Please run 'chmod 1777 /dev/shm'."
247 fi
248 }
249
250 src_prepare() {
251 # Enable optional support for gecko-mediaplayer.
252 epatch "${FILESDIR}"/${PN}-gecko-mediaplayer-r0.patch
253
254 # Make sure we don't use bundled libvpx headers.
255 epatch "${FILESDIR}"/${PN}-system-vpx-r1.patch
256
257 remove_bundled_lib "third_party/bzip2"
258 remove_bundled_lib "third_party/codesighs"
259 remove_bundled_lib "third_party/icu"
260 remove_bundled_lib "third_party/jemalloc"
261 remove_bundled_lib "third_party/lcov"
262 remove_bundled_lib "third_party/libevent"
263 remove_bundled_lib "third_party/libjpeg"
264 remove_bundled_lib "third_party/libpng"
265 remove_bundled_lib "third_party/libvpx"
266 remove_bundled_lib "third_party/libxml"
267 remove_bundled_lib "third_party/libxslt"
268 remove_bundled_lib "third_party/lzma_sdk"
269 remove_bundled_lib "third_party/molokocacao"
270 remove_bundled_lib "third_party/ocmock"
271 remove_bundled_lib "third_party/pyftpdlib"
272 remove_bundled_lib "third_party/simplejson"
273 remove_bundled_lib "third_party/tlslite"
274 remove_bundled_lib "third_party/yasm"
275 # TODO: also remove third_party/ffmpeg (needs to be compile-tested).
276 # TODO: also remove third_party/zlib. For now the compilation fails if we
277 # remove it (minizip-related).
278
279 local v8_bundled="$(get_bundled_v8_version)"
280 if use system-v8; then
281 local v8_installed="$(get_installed_v8_version)"
282 einfo "V8 version: bundled - ${v8_bundled}; installed - ${v8_installed}"
283 version_is_at_least "${v8_bundled}" "${v8_installed}" || die
284 else
285 einfo "Bundled V8 version: ${v8_bundled}"
286 fi
287
288 if use system-sqlite; then
289 remove_bundled_lib "third_party/sqlite/src"
290 remove_bundled_lib "third_party/sqlite/preprocessed"
291 fi
292
293 if use system-v8; then
294 # Provide our own gyp file that links with the system v8.
295 # TODO: move this upstream.
296 cp "${FILESDIR}"/v8.gyp v8/tools/gyp || die
297
298 remove_bundled_lib "v8"
299
300 # The implementation files include v8 headers with full path,
301 # like #include "v8/include/v8.h". Make sure the system headers
302 # will be used.
303 # TODO: find a solution that can be upstreamed.
304 rmdir v8/include || die
305 ln -s /usr/include v8/include || die
306 fi
307
308 # Make sure the build system will use the right python, bug #344367.
309 # Only convert directories that need it, to save time.
310 python_convert_shebangs -q -r 2 build tools
311 }
312
313 src_configure() {
314 local myconf=""
315
316 # Never tell the build system to "enable" SSE2, it has a few unexpected
317 # additions, bug #336871.
318 myconf+=" -Ddisable_sse2=1"
319
320 # Use system-provided libraries.
321 # TODO: use_system_hunspell (upstream changes needed).
322 # TODO: use_system_ssl (need to consult upstream).
323 myconf+="
324 -Duse_system_bzip2=1
325 -Duse_system_ffmpeg=1
326 -Duse_system_icu=1
327 -Duse_system_libevent=1
328 -Duse_system_libjpeg=1
329 -Duse_system_libpng=1
330 -Duse_system_libxml=1
331 -Duse_system_vpx=1
332 -Duse_system_zlib=1"
333
334 if use system-sqlite; then
335 myconf+=" -Duse_system_sqlite=1"
336 fi
337
338 # The dependency on cups is optional, see bug #324105.
339 if use cups; then
340 myconf+=" -Duse_cups=1"
341 else
342 myconf+=" -Duse_cups=0"
343 fi
344
345 # Make GConf dependency optional, http://crbug.com/13322.
346 if use gnome; then
347 myconf+=" -Duse_gconf=1"
348 else
349 myconf+=" -Duse_gconf=0"
350 fi
351
352 if use "gnome-keyring"; then
353 myconf+=" -Duse_gnome_keyring=1 -Dlinux_link_gnome_keyring=1"
354 else
355 # TODO: we should also disable code trying to dlopen
356 # gnome-keyring in that case.
357 myconf+=" -Duse_gnome_keyring=0 -Dlinux_link_gnome_keyring=0"
358 fi
359
360 # Enable sandbox.
361 myconf+="
362 -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox
363 -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome"
364
365 if host-is-pax; then
366 # Prevent the build from failing (bug #301880). The performance
367 # difference is very small.
368 myconf+=" -Dv8_use_snapshot=0"
369 fi
370
371 if use gecko-mediaplayer; then
372 # Disable hardcoded blacklist for gecko-mediaplayer.
373 # When www-plugins/gecko-mediaplayer is compiled with USE=gnome, it causes
374 # the browser to hang. We can handle the situation via dependencies,
375 # thus making it possible to use gecko-mediaplayer.
376 append-flags -DGENTOO_CHROMIUM_ENABLE_GECKO_MEDIAPLAYER
377 fi
378
379 # Our system ffmpeg should support more codecs than the bundled one
380 # for Chromium.
381 myconf+=" -Dproprietary_codecs=1"
382
383 # Use target arch detection logic from bug #296917.
384 local myarch="$ABI"
385 [[ $myarch = "" ]] && myarch="$ARCH"
386
387 if [[ $myarch = amd64 ]] ; then
388 myconf+=" -Dtarget_arch=x64"
389 elif [[ $myarch = x86 ]] ; then
390 myconf+=" -Dtarget_arch=ia32"
391 elif [[ $myarch = arm ]] ; then
392 # TODO: check this again after
393 # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39509 is fixed.
394 append-flags -fno-tree-sink
395
396 myconf+=" -Dtarget_arch=arm -Ddisable_nacl=1 -Dlinux_use_tcmalloc=0"
397 else
398 die "Failed to determine target arch, got '$myarch'."
399 fi
400
401 # Make sure that -Werror doesn't get added to CFLAGS by the build system.
402 # Depending on GCC version the warnings are different and we don't want
403 # the build to fail because of that.
404 myconf+=" -Dwerror="
405
406 egyp ${myconf} || die
407 }
408
409 src_compile() {
410 emake chrome chrome_sandbox BUILDTYPE=Release V=1 || die
411 }
412
413 src_install() {
414 exeinto "${CHROMIUM_HOME}"
415 pax-mark m out/Release/chrome
416 doexe out/Release/chrome
417 doexe out/Release/chrome_sandbox || die
418 fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox"
419 doexe out/Release/xdg-settings || die
420 doexe "${FILESDIR}"/chromium-launcher.sh || die
421
422 insinto "${CHROMIUM_HOME}"
423 doins out/Release/chrome.pak || die
424 doins out/Release/resources.pak || die
425
426 doins -r out/Release/locales || die
427 doins -r out/Release/resources || die
428
429 # chrome.1 is for chromium --help
430 newman out/Release/chrome.1 chrome.1 || die
431 newman out/Release/chrome.1 chromium.1 || die
432
433 # Chromium looks for these in its folder
434 # See media_posix.cc and base_paths_linux.cc
435 dosym /usr/$(get_libdir)/libavcodec.so.52 "${CHROMIUM_HOME}" || die
436 dosym /usr/$(get_libdir)/libavformat.so.52 "${CHROMIUM_HOME}" || die
437 dosym /usr/$(get_libdir)/libavutil.so.50 "${CHROMIUM_HOME}" || die
438
439 # Install icon and desktop entry.
440 newicon out/Release/product_logo_48.png ${PN}-browser.png || die
441 dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium || die
442 make_desktop_entry chromium "Chromium" ${PN}-browser "Network;WebBrowser" \
443 "MimeType=text/html;text/xml;application/xhtml+xml;"
444 sed -e "/^Exec/s/$/ %U/" -i "${D}"/usr/share/applications/*.desktop || die
445
446 # Install GNOME default application entry (bug #303100).
447 if use gnome; then
448 dodir /usr/share/gnome-control-center/default-apps || die
449 insinto /usr/share/gnome-control-center/default-apps
450 doins "${FILESDIR}"/chromium.xml || die
451 fi
452 }