diff options
author | Mike Gilbert <floppym@gentoo.org> | 2012-10-13 02:35:50 +0000 |
---|---|---|
committer | Mike Gilbert <floppym@gentoo.org> | 2012-10-13 02:35:50 +0000 |
commit | 92e07e661c11de9f5bc6b0804ba865dc88f50946 (patch) | |
tree | 573ddce4ac44e34d0730fa6b902875e140c7521f /www-client | |
parent | Update pulseaudio patches, thanks to Maarten Lankhorst. (diff) | |
download | historical-92e07e661c11de9f5bc6b0804ba865dc88f50946.tar.gz historical-92e07e661c11de9f5bc6b0804ba865dc88f50946.tar.bz2 historical-92e07e661c11de9f5bc6b0804ba865dc88f50946.zip |
Beta channel bump.
Package-Manager: portage-2.2.0_alpha136/cvs/Linux x86_64
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/chromium/ChangeLog | 7 | ||||
-rw-r--r-- | www-client/chromium/Manifest | 14 | ||||
-rw-r--r-- | www-client/chromium/chromium-23.0.1271.26.ebuild | 502 |
3 files changed, 521 insertions, 2 deletions
diff --git a/www-client/chromium/ChangeLog b/www-client/chromium/ChangeLog index 54ffd5f6948a..9e89276352ff 100644 --- a/www-client/chromium/ChangeLog +++ b/www-client/chromium/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for www-client/chromium # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.737 2012/10/11 21:12:34 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/ChangeLog,v 1.738 2012/10/13 02:35:47 floppym Exp $ + +*chromium-23.0.1271.26 (13 Oct 2012) + + 13 Oct 2012; Mike Gilbert <floppym@gentoo.org> +chromium-23.0.1271.26.ebuild: + Beta channel bump. 11 Oct 2012; Agostino Sarubbo <ago@gentoo.org> -chromium-22.0.1229.92.ebuild: Remove old diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest index 3c68840ed6aa..ed3d978a4d25 100644 --- a/www-client/chromium/Manifest +++ b/www-client/chromium/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + AUX chromium-alignment-r0.patch 565 SHA256 c679dd4ea0ac6e8ac330372da63a5c821ec54ed704287c392195a4a60db41062 SHA512 a3c7626f8335fcb5b2fe4664916fa07bbd717b57088dafc7092fa11e9873a911162a146f3f5b8531c0ae338d794c669854d8672ee31f00ccf2313b4e663bb6e8 WHIRLPOOL 30003851a02fff863ae01a174cad95280a89fe866fc5af6e6c8cb8f66bdee3e5ad4f1def2b813a77430744b41ff8a753c23b5c1c1bae86e7c1dbe0e0ce23f8de AUX chromium-bison-2.6-r0.patch 15135 SHA256 b016abb0ff68fc7d1fe153fe7e4a4395809363bb6c310a5c921a4e30175fd854 SHA512 e16539855cd43d063a9b504b8f08a76b57b5110b3ad1f56dff164cea06b33ca7a62adb37267d37d8c5992a9258108280ffebb2121308e2546f7b5f2606822f25 WHIRLPOOL d8f80adf1b5038891479519d85076f98110a0865b9cd4cae4ed77f7d4f0a3294e76ad6f94153cea5ac39105e8251e9f69f5257c9e6dbfcb9950da7670c928492 AUX chromium-browser.xml 407 SHA256 bc039012f8677468e9ce5df825f9d8096be6deb5813031c86a087c88105096ff SHA512 b767fb4fd1925029d95560fc14cb7ab12ae43b2fe923e92d75e733b9723cbe1dcdf6df041a2b62554e98b79b47ef3f6028c773e72e6fd53166a021d49657aeca WHIRLPOOL be37cd2e7d02c510e84c484f32ab6ab2e1f38a2a03c0cdbc9b6b485d64feaf79944d8ce097f0838ae9bc71c42401b633350b847ad316b8e23cf5614e3913e7ec @@ -24,12 +27,21 @@ AUX dot-gclient 253 SHA256 8c5750251ff681044cc584ef3768fe39c56c7877ade5fb9107298 DIST chromium-22.0.1229.94.tar.bz2 210379000 SHA256 a0af7e681ef43a7a17b32a1f6e1dc16ffa2a5f725f946ddaeea13660eba31caf SHA512 1565433ed265681b2b0fc931cfc242c47eafd8f66aee26df935fd1c1cf18dfcd03c27e8da940b73bc3a5129778a92ac40f6a3f209a030530a8d370395ad88a20 WHIRLPOOL 95cf8e766f1b3903b3cc8826205f7fa5d826c085e49454c240203162abc090f23ff48779e40c251bf09d2a16060078f66817c87c9063ee4811fb73ba61875e35 DIST chromium-23.0.1271.17.tar.bz2 217611060 SHA256 62ffe739a20e98ff16cd718ac7632afabce7e18d37daf86af5a76b748616ccdb SHA512 181b1f47c9ae69b619c01cd5b06e54f3e5e8c7a5a3f3a26572dfafe387c04be33ed19f8ae3e49b1e75e4a2200f8984e51b7c73052b02faeef72562edab358b3a WHIRLPOOL 17cabdde23f036e0c7bc1bb807fd49386b0f4633817023efd158cf6e087a853f141638b6834cae60b5a71a6f733bc1e87ec9ce2ee7defb4dae2b61fe1d62d2ae DIST chromium-23.0.1271.22.tar.bz2 217596128 SHA256 3f318756dbcc94f6c034878b39714ab66e55ea8e4a1314dc48f1fa1417c6350f SHA512 135ba115cb38ece75b046a720236411e938c0a1b43ba3704dd24e4f098b1439012bd675b005aa6c75202ca553a719db27da6be149cef987d829232463da167cd WHIRLPOOL 8cbb6c5b0e2b0a349253df1f6b4c6344dd016a4ae50d956c49e3472db5ab65086b6a702412cbc136caf524cbaad8e9048a55eb375ada8a0c29cc9a9d6cdc0caa +DIST chromium-23.0.1271.26.tar.bz2 217556731 SHA256 70be7515e8ffcb62dc0d905cfbc9ee2863be6ba5408c44a6dab9545a6abd35c6 SHA512 647a5fd72e23fb4e4730b03e871f2097f6e8ecdfe9735b6830db3048668f6942e48133271329285537960c8083730fc0206935817c0d78c57c53c9c5bbd82c8d WHIRLPOOL 40e62f33db94a3f760c234b9a32b96f51918b7f2231c8559c389ba1e9d198645d796a44abee3372a0088438e9d846151d21cafb9c0c2e9913ebe50367db9ad3a DIST chromium-24.0.1284.2.tar.bz2 217993014 SHA256 7dfaa01849e9dbe82062e1c67e518a31b09d6ededcb1dfacf03c9c362cc9e352 SHA512 54a88f304dec8de32613b917520f570a57d10ba337e374d7c545d1c30a40e17284cdfb1f43d6a38251deaba2f9ce85f217dd1206ba729035f96c4d51fd56e5e1 WHIRLPOOL 94635af0c2ef6d766ad148d98660f87a270184ff8ef0c4dca863251b2a53c3ce543ad55d0623f8b4dc71ca3ddab049dfc2891a6d0966620ea44bd4ad6f78b16c EBUILD chromium-22.0.1229.94.ebuild 14131 SHA256 ef4134367a577cb523e75eaaf4b8352603d973987d315eab108847248ea70d5c SHA512 e138691820ef87e94df49dcb1026e9495f1c79d0a422365417e4c5407b1f009f52306b794f00bb6bbdbef39cc98b363a13a03c71bad2f6626ff4e5c12d3085f2 WHIRLPOOL 9b9a5637fc04726b9e65215467bdcc73e5f0e4c7d3654b5bdcc7cf4e5485a5f3a292b06eb8ff406017b3fb098a19ed041f5b421c4ab775437dba18f6b07758af EBUILD chromium-23.0.1271.17.ebuild 15479 SHA256 201f4fb98104962f93834dae315f741ff69fb78aa2292604048962bf1b02190c SHA512 96fe2d48d76e79168898679032e2cd6cb894097349efca656a96f0bed6cd2b3c51e7d6578c99768dc43608d89b0e51735b41c28e980ad3d050117058421bf2d1 WHIRLPOOL 8a999302b29f18783e1eb56e2bc899a6d19fd7628ed84dd85a86d82090612d270945a9ebbe2804a4e776699627b7c2463fa2af68bc48719f9749bc7fa2068051 EBUILD chromium-23.0.1271.22.ebuild 15476 SHA256 d7864936d7d528a09a2e754ac317f71dbb0489d3c9538363bf2ac995a6c38634 SHA512 8b54739a3d7631599a993d298a309724915c5afbcb9f3a7db5b937a7727355cc8cd5e95ea3f2622b1faedf4ba42b851e971ff4b0ac54f20ccc3174e09248a322 WHIRLPOOL 0aca840c13d05afe651a44bfee8a25c615bd351b733d0ee08c65e40bbf2e5450ecf92141cb6d11e36685973bbb25416958c86a97604ac333a734d47875b1bd3b +EBUILD chromium-23.0.1271.26.ebuild 15476 SHA256 a8a6446d5cba07279b502798a470c5a97d23544221af84476bb9cdf800382cf1 SHA512 099c1528e8104a2a8c5fd75b30e2b1d6469c7861799a03be13417865f9c2ed9d7b52ef8f55e419ece271b55db46df7dc1d5ee8eac094e4924a861dfcf0515fd7 WHIRLPOOL 7d829bbbec29439612795ac205f1933fdd62880fdd921393eb12a93e0d36737388aeb16f3f9af25a84a977e3341d5e259b72179636603fd5b6649a166fe10c3b EBUILD chromium-24.0.1284.2.ebuild 15415 SHA256 b058c3c17321d5b97b95e3df91c7e2a354ec9fef03971f37a9fb7d34208a5f15 SHA512 6ec1231e99044929d8a9fb384bdb7880fe74b5c3cfd89e6fe192ce98343dd1e36b6a7ef9f18af21260296ada7a85ffe7ee484ed83e82c859640e6f9536c3fbe8 WHIRLPOOL 0176d31c9668810d613675aa1d4f93f07b638a918013681bf49c7d8f00b93db6ed4223f899685e6c5f7df0bbdb4ed58067952983272a89df8bd827079f61a877 EBUILD chromium-9999-r1.ebuild 16453 SHA256 fc11dfdbdacd302ec911a1660e1db6b5394dfd26a82be17ec060961a256e8dab SHA512 95696e897044262e3fdc424e79819cc8f172687eaa895a4679890ce9c9677c91811b6e8938968206399033122c9c409cf58b735567cf83efbb2419db4e656911 WHIRLPOOL e91621d79efa7505d81eefae5df1d97dd694c344200e5e0dde25222e0c3c9ba585e071c7ae1ca441e3b63be4a2aea85a1649f53f8cd33d1c0ce63cf622af63d4 -MISC ChangeLog 41214 SHA256 a3aec09146e779422ed96f0b6a536731c352847351c04b4ffabb2b9f0e926769 SHA512 fe1cb7eec2b0e3ce98815969093e35ae39b11eb71df082bf70616cf8ce94f7a44705f9ff21ea70b1b57cf4e851d8678c3c195ac754bb60886598cdba20177d17 WHIRLPOOL 9486b22291acfabb9773ee63221f6225671ffdda5031b143f3efc4ca2c204da30c1a01a401503f0e11622cd4aa48dabed72699f121cc35722c3b69aa127ce8ba +MISC ChangeLog 41358 SHA256 505c2a833c5aa205c3c09857cf51b7da03d2ddca2770c481dc98dd3c533f4693 SHA512 40f5b766c1ef9abbf33fa429143e510cbd9e295150eee41729e3447718fd7c9e53d36cca69f9520d5a52be3adf7f1dbf0c7709e6035d906660cfee47dd88a5ce WHIRLPOOL 8b5fd77be15966e554c69e9ae7533ae6816e177cc0b55e9b0b99aee10c474942ba41ac62d863b92655fd51e333865d1b9294419043d4764c6428391f81e58277 MISC ChangeLog-2011 114031 SHA256 e2c2c75785c5eaf78b6efe01e357279cbb7be0c89d00b4053f475e963916fa54 SHA512 8e14759348333bdbd7c338080472789d7bbb1ece1ca5817bac6306bdcb33dda1e23bf3055cbb3b7bcee9362b6900bba1ace7ba73f353570a74d3ed761c9198cc WHIRLPOOL 810b6423c53f892a4b0964380b8190dec2a8783d560a9cb0baec93a77d879186201055382ca05975ae242e16728529ae85445db003fdd425355292d17817157b MISC metadata.xml 360 SHA256 4c2cd208e61300491a73f23e90a6d1b447a4e0d16ad8f54ae68408eb94357e60 SHA512 f70a2eaefadf05baa375064fcc452982cbf6a5e775ba5b8fc49780ddc3910f8d18f9e5713b8ef083567f2d0bde53f8f9626afa4b4bed7b9b1ad30f444e42c14c WHIRLPOOL 6d7df2df36e34a6111c869f90636876cf30883c623d594e3a4830b156e2f14e938a739e5cf4089cd2ff7b4fb79d0e323725b984cbee9d466d735971ad2555f06 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.19 (GNU/Linux) + +iF4EAREIAAYFAlB404UACgkQC77qH+pIQ6SRbQD7BIlWImREn7mbm5tLsEUeLaQe +RcxTzA4/tWVgUCDgtYcA/iH1DDQanEPAN0DlIGHnqJ62YMHKYFPChRcWeSjN9RZO +=Lne9 +-----END PGP SIGNATURE----- diff --git a/www-client/chromium/chromium-23.0.1271.26.ebuild b/www-client/chromium/chromium-23.0.1271.26.ebuild new file mode 100644 index 000000000000..28bc26e11d48 --- /dev/null +++ b/www-client/chromium/chromium-23.0.1271.26.ebuild @@ -0,0 +1,502 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-client/chromium/chromium-23.0.1271.26.ebuild,v 1.1 2012/10/13 02:35:47 floppym Exp $ + +EAPI="4" +PYTHON_DEPEND="2:2.6" + +CHROMIUM_LANGS="am ar bg bn ca cs da de el en_GB es es_LA et fa fi fil fr gu he + hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt_BR pt_PT ro ru sk sl sr + sv sw ta te th tr uk vi zh_CN zh_TW" + +inherit chromium eutils flag-o-matic multilib \ + pax-utils portability python toolchain-funcs versionator virtualx + +DESCRIPTION="Open-source version of Google Chrome web browser" +HOMEPAGE="http://chromium.org/" +SRC_URI="http://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="bindist cups gnome gnome-keyring kerberos pulseaudio selinux tcmalloc" + +RDEPEND="app-arch/bzip2 + cups? ( + dev-libs/libgcrypt + >=net-print/cups-1.3.11 + ) + >=dev-lang/v8-3.11.10.6 + >=dev-libs/elfutils-0.149 + dev-libs/expat + >=dev-libs/icu-49.1.1-r1 + >=dev-libs/libevent-1.4.13 + dev-libs/libxml2[icu] + dev-libs/libxslt + >=dev-libs/nss-3.12.3 + gnome? ( >=gnome-base/gconf-2.24.0 ) + gnome-keyring? ( >=gnome-base/gnome-keyring-2.28.2 ) + >=media-libs/alsa-lib-1.0.19 + media-libs/flac + >=media-libs/libjpeg-turbo-1.2.0-r1 + media-libs/libpng + >=media-libs/libwebp-0.2.0_rc1 + media-libs/speex + pulseaudio? ( media-sound/pulseaudio ) + sys-apps/dbus + sys-fs/udev + virtual/libusb:1 + x11-libs/gtk+:2 + x11-libs/libXinerama + x11-libs/libXScrnSaver + x11-libs/libXtst + kerberos? ( virtual/krb5 ) + selinux? ( + sec-policy/selinux-chromium + sys-libs/libselinux + )" +DEPEND="${RDEPEND} + >=dev-lang/nacl-toolchain-newlib-0_p9093 + dev-lang/perl + dev-lang/yasm + dev-python/ply + dev-python/simplejson + >=dev-util/gperf-3.0.3 + >=sys-devel/bison-2.4.3 + sys-devel/flex + >=sys-devel/make-3.81-r2 + virtual/pkgconfig + test? ( dev-python/pyftpdlib )" +RDEPEND+=" + !=www-client/chromium-9999 + x11-misc/xdg-utils + virtual/ttf-fonts" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +pkg_setup() { + if [[ "${SLOT}" == "0" ]]; then + CHROMIUM_SUFFIX="" + else + CHROMIUM_SUFFIX="-${SLOT}" + fi + CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser${CHROMIUM_SUFFIX}" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX RANLIB + + # Make sure the build system will use the right python, bug #344367. + python_set_active_version 2 + python_pkg_setup + + if ! use selinux; then + chromium_suid_sandbox_check_kernel_config + fi + + if use bindist; then + elog "bindist enabled: H.264 video support will be disabled." + else + elog "bindist disabled: Resulting binaries may not be legal to re-distribute." + fi +} + +src_prepare() { + if ! use arm; then + ebegin "Preparing NaCl newlib toolchain" + pushd "${T}" >/dev/null || die + mkdir sdk || die + cp -a /usr/$(get_libdir)/nacl-toolchain-newlib sdk/nacl-sdk || die + mkdir -p "${S}"/native_client/toolchain/.tars || die + tar czf "${S}"/native_client/toolchain/.tars/naclsdk_linux_x86.tgz sdk || die + popd >/dev/null || die + eend $? + fi + + # zlib-1.2.5.1-r1 renames the OF macro in zconf.h, bug 383371. + # sed -i '1i#define OF(x) x' \ + # third_party/zlib/contrib/minizip/{ioapi,{,un}zip}.h || die + + # Fix build without NaCl glibc toolchain. + epatch "${FILESDIR}/${PN}-ppapi-r0.patch" + + # Fix unnecessary dependency on dbus-glib, bug #434346. + epatch "${FILESDIR}/${PN}-dbus-glib-r0.patch" + + # Fix build with system ICU. + epatch "${FILESDIR}/${PN}-system-icu-r0.patch" + + # Fix build with system speex, bug #432748. + epatch "${FILESDIR}/${PN}-system-speex-r0.patch" + + # Missing gyp files in tarball. + # https://code.google.com/p/chromium/issues/detail?id=144823 + if [[ -e chrome/test/data/nacl/nacl_test_data.gyp ]]; then + die "tarball fixed, please remove workaround" + fi + + mkdir -p chrome/test/data/nacl + cat > chrome/test/data/nacl/nacl_test_data.gyp <<-EOF + { + 'targets': [ + { + 'target_name': 'nacl_tests', + 'type': 'none', + }, + ], + } + EOF + + epatch_user + + # Remove most bundled libraries. Some are still needed. + find third_party -type f \! -iname '*.gyp*' \ + \! -path 'third_party/WebKit/*' \ + \! -path 'third_party/angle/*' \ + \! -path 'third_party/cacheinvalidation/*' \ + \! -path 'third_party/cld/*' \ + \! -path 'third_party/ffmpeg/*' \ + \! -path 'third_party/flac/flac.h' \ + \! -path 'third_party/flot/*' \ + \! -path 'third_party/gpsd/*' \ + \! -path 'third_party/harfbuzz/*' \ + \! -path 'third_party/hunspell/*' \ + \! -path 'third_party/hyphen/*' \ + \! -path 'third_party/iccjpeg/*' \ + \! -path 'third_party/jsoncpp/*' \ + \! -path 'third_party/khronos/*' \ + \! -path 'third_party/launchpad_translations/*' \ + \! -path 'third_party/leveldatabase/*' \ + \! -path 'third_party/libjingle/*' \ + \! -path 'third_party/libphonenumber/*' \ + \! -path 'third_party/libsrtp/*' \ + \! -path 'third_party/libusb/libusb.h' \ + \! -path 'third_party/libva/*' \ + \! -path 'third_party/libvpx/*' \ + \! -path 'third_party/libxml/chromium/*' \ + \! -path 'third_party/libXNVCtrl/*' \ + \! -path 'third_party/libyuv/*' \ + \! -path 'third_party/lss/*' \ + \! -path 'third_party/mesa/*' \ + \! -path 'third_party/modp_b64/*' \ + \! -path 'third_party/mongoose/*' \ + \! -path 'third_party/mt19937ar/*' \ + \! -path 'third_party/npapi/*' \ + \! -path 'third_party/openmax/*' \ + \! -path 'third_party/ots/*' \ + \! -path 'third_party/protobuf/*' \ + \! -path 'third_party/qcms/*' \ + \! -path 'third_party/re2/*' \ + \! -path 'third_party/scons-2.0.1/*' \ + \! -path 'third_party/sfntly/*' \ + \! -path 'third_party/skia/*' \ + \! -path 'third_party/smhasher/*' \ + \! -path 'third_party/speex/speex.h' \ + \! -path 'third_party/sqlite/*' \ + \! -path 'third_party/tcmalloc/*' \ + \! -path 'third_party/tlslite/*' \ + \! -path 'third_party/trace-viewer/*' \ + \! -path 'third_party/undoview/*' \ + \! -path 'third_party/v8-i18n/*' \ + \! -path 'third_party/webdriver/*' \ + \! -path 'third_party/webgl_conformance/*' \ + \! -path 'third_party/webrtc/*' \ + \! -path 'third_party/zlib/*' \ + -delete || die + + local v8_bundled="$(chromium_bundled_v8_version)" + local v8_installed="$(chromium_installed_v8_version)" + einfo "V8 version: bundled - ${v8_bundled}; installed - ${v8_installed}" + + # Remove bundled v8. + find v8 -type f \! -iname '*.gyp*' -delete || die + + # The implementation files include v8 headers with full path, + # like #include "v8/include/v8.h". Make sure the system headers + # will be used. + # TODO: find a solution that can be upstreamed. + rmdir v8/include || die + ln -s /usr/include v8/include || die + + # Make sure the build system will use the right python, bug #344367. + # Only convert directories that need it, to save time. + python_convert_shebangs -q -r 2 build tools +} + +src_configure() { + local myconf="" + + # Never tell the build system to "enable" SSE2, it has a few unexpected + # additions, bug #336871. + myconf+=" -Ddisable_sse2=1" + + # Optional tcmalloc. Note it causes problems with e.g. NVIDIA + # drivers, bug #413637. + myconf+=" $(gyp_use tcmalloc linux_use_tcmalloc)" + + # Disable glibc Native Client toolchain, we don't need it (bug #417019). + myconf+=" -Ddisable_glibc=1" + + # TODO: also build with pnacl + myconf+=" -Ddisable_pnacl=1" + + # Make it possible to remove third_party/adobe. + echo > "${T}/flapper_version.h" || die + myconf+=" -Dflapper_version_h_file=${T}/flapper_version.h" + + # Use system-provided libraries. + # TODO: use_system_ffmpeg + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_speex (needs additional shims, bug #432748). + # TODO: use_system_ssl (http://crbug.com/58087). + # TODO: use_system_sqlite (http://crbug.com/22208). + # TODO: use_system_vpx + # TODO: use_system_zlib (forked, bug #432746). + myconf+=" + -Duse_system_bzip2=1 + -Duse_system_flac=1 + -Duse_system_icu=1 + -Duse_system_libevent=1 + -Duse_system_libjpeg=1 + -Duse_system_libpng=1 + -Duse_system_libusb=1 + -Duse_system_libwebp=1 + -Duse_system_libxml=1 + -Duse_system_speex=1 + -Duse_system_v8=1 + -Duse_system_xdg_utils=1 + -Duse_system_yasm=1 + -Duse_system_zlib=0" + + # Optional dependencies. + # TODO: linux_link_kerberos, bug #381289. + myconf+=" + $(gyp_use cups) + $(gyp_use gnome use_gconf) + $(gyp_use gnome-keyring use_gnome_keyring) + $(gyp_use gnome-keyring linux_link_gnome_keyring) + $(gyp_use kerberos) + $(gyp_use pulseaudio) + $(gyp_use selinux selinux)" + + # Use explicit library dependencies instead of dlopen. + # This makes breakages easier to detect by revdep-rebuild. + myconf+=" + -Dlinux_link_gsettings=1" + + if ! use selinux; then + # Enable SUID sandbox. + myconf+=" + -Dlinux_sandbox_path=${CHROMIUM_HOME}/chrome_sandbox + -Dlinux_sandbox_chrome_path=${CHROMIUM_HOME}/chrome" + fi + + # Never use bundled gold binary. Disable gold linker flags for now. + myconf+=" + -Dlinux_use_gold_binary=0 + -Dlinux_use_gold_flags=0" + + if ! use bindist; then + # Enable H.624 support in bundled ffmpeg. + myconf+=" -Dproprietary_codecs=1 -Dffmpeg_branding=Chrome" + fi + + local myarch="$(tc-arch)" + if [[ $myarch = amd64 ]] ; then + myconf+=" -Dtarget_arch=x64" + elif [[ $myarch = x86 ]] ; then + myconf+=" -Dtarget_arch=ia32" + elif [[ $myarch = arm ]] ; then + # TODO: re-enable NaCl (NativeClient). + myconf+=" -Dtarget_arch=arm + -Darm_neon=0 + -Ddisable_nacl=1" + else + die "Failed to determine target arch, got '$myarch'." + fi + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't want + # the build to fail because of that. + myconf+=" -Dwerror=" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + fi + + egyp_chromium ${myconf} || die +} + +src_compile() { + local test_targets + for x in base cacheinvalidation crypto \ + googleurl gpu media net printing sql; do + test_targets+=" ${x}_unittests" + done + + local make_targets="chrome chromedriver" + if ! use selinux; then + make_targets+=" chrome_sandbox" + fi + if use test; then + make_targets+=$test_targets + fi + + # See bug #410883 for more info about the .host mess. + emake ${make_targets} BUILDTYPE=Release V=1 \ + CC.host="$(tc-getCC)" CFLAGS.host="${CFLAGS}" \ + CXX.host="$(tc-getCXX)" CXXFLAGS.host="${CXXFLAGS}" \ + LINK.host="$(tc-getCXX)" LDFLAGS.host="${LDFLAGS}" \ + AR.host="$(tc-getAR)" || die + + pax-mark m out/Release/chrome + if use test; then + for x in $test_targets; do + pax-mark m out/Release/${x} + done + fi +} + +src_test() { + # For more info see bug #350349. + local mylocale='en_US.utf8' + if ! locale -a | grep -q "$mylocale"; then + eerror "${PN} requires ${mylocale} locale for tests" + eerror "Please read the following guides for more information:" + eerror " http://www.gentoo.org/doc/en/guide-localization.xml" + eerror " http://www.gentoo.org/doc/en/utf-8.xml" + die "locale ${mylocale} is not supported" + fi + + # For more info see bug #370957. + if [[ $UID -eq 0 ]]; then + die "Tests must be run as non-root. Please use FEATURES=userpriv." + fi + + runtest() { + local cmd=$1 + shift + local filter="--gtest_filter=$(IFS=:; echo "-${*}")" + einfo "${cmd}" "${filter}" + LC_ALL="${mylocale}" VIRTUALX_COMMAND="${cmd}" virtualmake "${filter}" + } + + local excluded_base_unittests=( + "ICUStringConversionsTest.*" # bug #350347 + "MessagePumpLibeventTest.*" # bug #398591 + ) + runtest out/Release/base_unittests "${excluded_base_unittests[@]}" + + runtest out/Release/cacheinvalidation_unittests + runtest out/Release/crypto_unittests + runtest out/Release/googleurl_unittests + runtest out/Release/gpu_unittests + runtest out/Release/media_unittests + + local excluded_net_unittests=( + "NetUtilTest.IDNToUnicode*" # bug 361885 + "NetUtilTest.FormatUrl*" # see above + "DnsConfigServiceTest.GetSystemConfig" # bug #394883 + "CertDatabaseNSSTest.ImportServerCert_SelfSigned" # bug #399269 + "URLFetcher*" # bug #425764 + "HTTPSOCSPTest.*" # bug #426630 + "HTTPSEVCRLSetTest.*" # see above + "HTTPSCRLSetTest.*" # see above + ) + runtest out/Release/net_unittests "${excluded_net_unittests[@]}" + + runtest out/Release/printing_unittests + runtest out/Release/sql_unittests +} + +src_install() { + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome || die + + if ! use selinux; then + doexe out/Release/chrome_sandbox || die + fperms 4755 "${CHROMIUM_HOME}/chrome_sandbox" + fi + + doexe out/Release/chromedriver || die + + if ! use arm; then + doexe out/Release/nacl_helper{,_bootstrap} || die + insinto "${CHROMIUM_HOME}" + doins out/Release/nacl_irt_*.nexe || die + doins out/Release/libppGoogleNaClPluginChrome.so || die + fi + + newexe "${FILESDIR}"/chromium-launcher-r2.sh chromium-launcher.sh || die + if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then + sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" \ + -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die + sed "s:chromium.desktop:chromium${CHROMIUM_SUFFIX}.desktop:g" \ + -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die + sed "s:plugins:plugins --user-data-dir=\${HOME}/.config/chromium${CHROMIUM_SUFFIX}:" \ + -i "${ED}"/"${CHROMIUM_HOME}"/chromium-launcher.sh || die + fi + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser${CHROMIUM_SUFFIX} || die + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium${CHROMIUM_SUFFIX} || die + + # Allow users to override command-line options, bug #357629. + dodir /etc/chromium || die + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" || die + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.pak || die + + doins -r out/Release/locales || die + doins -r out/Release/resources || die + + newman out/Release/chrome.1 chromium${CHROMIUM_SUFFIX}.1 || die + newman out/Release/chrome.1 chromium-browser${CHROMIUM_SUFFIX}.1 || die + + doexe out/Release/libffmpegsumo.so || die + + # Install icons and desktop entry. + local branding size + for size in 16 22 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser${CHROMIUM_SUFFIX}.png + done + + local mime_types="text/html;text/xml;application/xhtml+xml;" + mime_types+="x-scheme-handler/http;x-scheme-handler/https;" # bug #360797 + mime_types+="x-scheme-handler/ftp;" # bug #412185 + mime_types+="x-scheme-handler/mailto;x-scheme-handler/webcal;" # bug #416393 + make_desktop_entry \ + chromium-browser${CHROMIUM_SUFFIX} \ + "Chromium${CHROMIUM_SUFFIX}" \ + chromium-browser${CHROMIUM_SUFFIX} \ + "Network;WebBrowser" \ + "MimeType=${mime_types}\nStartupWMClass=chromium-browser" + sed -e "/^Exec/s/$/ %U/" -i "${ED}"/usr/share/applications/*.desktop || die + + # Install GNOME default application entry (bug #303100). + if use gnome; then + dodir /usr/share/gnome-control-center/default-apps || die + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser${CHROMIUM_SUFFIX}.xml || die + if [[ "${CHROMIUM_SUFFIX}" != "" ]]; then + sed "s:chromium-browser:chromium-browser${CHROMIUM_SUFFIX}:g" -i \ + "${ED}"/usr/share/gnome-control-center/default-apps/chromium-browser${CHROMIUM_SUFFIX}.xml + fi + fi +} |