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 |
} |