summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2012-10-13 02:35:50 +0000
committerMike Gilbert <floppym@gentoo.org>2012-10-13 02:35:50 +0000
commit92e07e661c11de9f5bc6b0804ba865dc88f50946 (patch)
tree573ddce4ac44e34d0730fa6b902875e140c7521f /www-client
parentUpdate pulseaudio patches, thanks to Maarten Lankhorst. (diff)
downloadhistorical-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/ChangeLog7
-rw-r--r--www-client/chromium/Manifest14
-rw-r--r--www-client/chromium/chromium-23.0.1271.26.ebuild502
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
+}