summaryrefslogtreecommitdiff
path: root/www-client/chromium
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-01-16 17:34:21 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-01-16 17:34:21 +0000
commit02e2208f46f4e2c00fb9743cbc47350bdd233bfa (patch)
tree132dd60828854db4f65f30f9230f43d9602507ff /www-client/chromium
parent8be70107efbb417f839292165ee39d07a062046f (diff)
gentoo resync : 16.01.2018
Diffstat (limited to 'www-client/chromium')
-rw-r--r--www-client/chromium/Manifest13
-rw-r--r--www-client/chromium/chromium-63.0.3239.132.ebuild665
-rw-r--r--www-client/chromium/chromium-64.0.3282.85.ebuild (renamed from www-client/chromium/chromium-64.0.3282.39.ebuild)13
-rw-r--r--www-client/chromium/chromium-65.0.3315.3.ebuild (renamed from www-client/chromium/chromium-65.0.3294.5.ebuild)24
-rw-r--r--www-client/chromium/files/chromium-gcc-r0.patch55
-rw-r--r--www-client/chromium/files/chromium-gn-r0.patch33
-rw-r--r--www-client/chromium/files/chromium-vulkan-r0.patch120
7 files changed, 906 insertions, 17 deletions
diff --git a/www-client/chromium/Manifest b/www-client/chromium/Manifest
index adee68d0dc4b..feda6df28003 100644
--- a/www-client/chromium/Manifest
+++ b/www-client/chromium/Manifest
@@ -4,22 +4,27 @@ AUX chromium-browser.xml 407 BLAKE2B 168d78b0855546ca559cfb51aff0bc85d5e6ae974c2
AUX chromium-clang-r1.patch 808 BLAKE2B f3f6cfc679b65f214e6667dc29e4241ae9344be02b5cddd1c25a6410c205e3ad1cf182719b4ba795a5b065fc736c0175803fdaad66439ed2989fc27ff9a12758 SHA512 dfb81895fb78983e5adba54351d94e9174aa6a523c5a78738aad8223330cde6739dea6d82328d603f693a2d5810df890eccc4bed202d73875c9c97be506936e5
AUX chromium-clang-r2.patch 731 BLAKE2B 6a0560107c89ab4406d62700312bb4437b49b5b1feace304c6db309460b74f630dd59c424f152ebf6a1d88025c14b7162d14a38afde6e74a87ca04d3424fd9b6 SHA512 f5edc9b573269a7a6944e17019fa858e7162c548400eceabdabe695d7e10d3179b7593415ec3eaef226defdd1628fd8c9cc66c0b46ebe6ac1afe5035a319c379
AUX chromium-cups-r0.patch 1350 BLAKE2B 91c32a88d5a03ba4f16e54a4498cf6de121b8d6dfbb76630afc69925bfa192c456f6d1349e0ba0b9f71373608ce983910630bf2f278ca884ec8bde4d132b9201 SHA512 404aea01f732132c65fc66c60926c671daad0a1d9446422d36eb6788820f1d23a2bea9d81971f7341f4c36d157bfc9c840b58d7f5f62a913b789d00362c7d005
+AUX chromium-gcc-r0.patch 2344 BLAKE2B f7fdff3e72e57c222e02a202fffa6785eeb90408094099b8e04cd8cecfc5cd5006801ffaafaa8561a4402ee5fa4bd8b9f489ac6ac3e34c212a683f5793c21124 SHA512 0e29192c8637b050c4976455c798ce0dc078c1e92ec0ed51da71866c2d35242e720f4ca468a431e8ea696700c8ef003a71e8ec06c573bab5355b96e8388a2844
AUX chromium-gcc-u2f.patch 1670 BLAKE2B 9d83331ec5e9d4ef3b58e9119c7c152abe61daf8b32e168662de9e734d935c24913b603c631d148ed1cb7b5364e751cbb9bcc7e58e5c34f375958898fc0cf8f5 SHA512 f10486ef46940fa740ca2d7e8225924704a4f89b709ef3dfb7ad128865982c220f8971d169515d9d1be08ee112aef1cac95281f0a5af4615256d9760966545f1
AUX chromium-gcc5-r4.patch 3648 BLAKE2B 44ad25ba69e100f7df35a2532ad1c8e55acf9dbbdcb1c28000c755748ef62848d325c7e379e06d1a0567dbda0e3f97808755ef90e2b7a197aa74a786d0280ca0 SHA512 6b6d80c8adfbb317003712b94cfdf733af48ee5f32d10b6f6e8599cd08b7a9d8b73e6cec2902ed55eb0a962ba9c9cf14a70299e132ec7bfec29806ed23836791
AUX chromium-gcc5-r5.patch 568 BLAKE2B 9c4979a0eb540f490844a368173d7bb6a0f101daca5ea4ab5213fbda62e0a615ee2e0d674a550ded59b7a29aa9193782664e71a614e9c7387061b3d347423994 SHA512 f1878f6960f0f6cad723e2f26ffeed7fc6c2c0e468098d5f08d7e305d644375436c5d7c1698d79bc9f3625fd5736793132d088e68f543838a073c2be68fe5882
+AUX chromium-gn-r0.patch 1233 BLAKE2B 53c0a3cd692d19eac60be0f5aa61f9cbda7d473e42adc0cd95fc78dd44c39ead9825b862347314351133b5c80f9b2fd58daacdc9568efeccefb1dd0ec6526d85 SHA512 de085e2e159ea1fb14c39d630e77459f0e67497479169ce3253bc098a06deea75020289c091e816df1ee81ccec9de695ecd59f29e9d847c20693ef2710659dcd
AUX chromium-launcher-r3.sh 1199 BLAKE2B 85f57b380cdc25bd000cf57d3c129b67f6e55d96dd958190040b0680f8d4d358ac777e0c1ebd6a1b32dd3821a377bcf9f598e073584528d0480460978c4c1fb1 SHA512 f1909314ae74985c85740d26c9bfab694f3202de8ccc392a1c4ec5c8760db21b6cc46146c78a9abebd09e6d24f37e19466f0c4d2d61815400b48d859f8ce154d
AUX chromium-memcpy-r0.patch 1306 BLAKE2B 585c015fbc6cfda61fb28c451da1433047c21e439c6a23e2f27844c308984a2066a70913669b3e1797233f86e25a119e494156c0b869eccc94d21c2abaeadba4 SHA512 1aeeb70929acee529dea66860b42f106afe18c0f6219eb03c9c710faf8d20a997135550e289839599ec325d8f032243fd70c07d397bd89302a192c41e8c4660a
+AUX chromium-vulkan-r0.patch 4070 BLAKE2B d4b272fce24bee6a961f58d2f4ef74ddf6a56e8f07382752d7d42b97d970b28a1422773eb297096b61988ebad1daf88a0b36cadb226ee19731e2ad56268c4692 SHA512 d16dc06dca3b52302d805589dbcc5a31de26f71b1aa0d721e53cf941e7e995b5196a8ddc93150b5f8f661f88015fd64203633b0f04cbd479272f0b45bc106b16
AUX chromium-webrtc-r0.patch 972 BLAKE2B 1c49db0ba631c8e517a5b361e2882e7f00d9b018af2bbe7e701b878b78f1480317bfb6394b0184b49da3c4361acebf6f6eb164b12246a61a9b205e209d8e598b SHA512 325e269e6c24e9d3103ae360653e0bda764356655534be08cfe308d8c63ed8c93c80c09f58d023afbc6e141f7cbe5b86f7983c57b8f6c794b7675d332439b051
AUX chromium-widevine-r1.patch 428 BLAKE2B 07b5ab48a2233986f60c91192557e0454eab56248cdf378ae4d6fe99f239f95e89f28fd0b2b7dc36dd85557e7a5403d9a30a8189b7f56a9bae678831dfa49d2b SHA512 fe6b912bd8b3993194f71bef229e57d4c24f9adcf697172eb3bc5ee8d38967bf5fe5b964e9d89d23960d25cd3a6e53ce7714f81f0df1881758b611a66375e32a
AUX chromium.default 148 BLAKE2B 5ee5b582c59a6e4bef87bbb0e232e2470ad412b1fbbb3b9af6ef7153edb55c5b9080cc16a5a115b0c5b3c381aa87ce57a7b12bdd2070e67dac10a6c2995ddbaf SHA512 0d4849e03592fb58b05e62a43021eca7e61615616c8907c3b2e445402e03adaf9e8fa25b0a745d6c31eb037456215cc02b59e345a3a06d932e76cf990c92d739
DIST chromium-63.0.3239.108.tar.xz 534294640 BLAKE2B f0f87115e91d7a2aa331cbab05475cac098f6ec37b8ca82b6a84911edcf0104a89557304467704911a3f3b3232d8a83d575bd545df1c31518e50c2563d83c095 SHA512 3cb7c8569d2d061f5abf4ad68d9ea1716a1b07bdf8dfa7b600d558d308374ff5dbda9f947e67e21186e3e716fe9524fc63e8eabd9eac1fa805f0eb7d994c32c8
-DIST chromium-64.0.3282.39.tar.xz 482357636 BLAKE2B 7e7209aa1c4584210b552e82b29c57af549492c85e96204b15c3d27d9ed3c89b7109c9bc539709ecc7221147c2cd4957b6dacf18bfa358c2568175e39eeb4a84 SHA512 16d7c16b218fb42a1371fe105b87a04fce0397df0912824fd443667a1b93ee65b1b9f7c8c3007bea8fc241e6a1b6cb4fa29a4f37c83b3fdfdd8ed6a6523e6906
+DIST chromium-63.0.3239.132.tar.xz 534286424 BLAKE2B 52658d4e8ff50bb8bdb1d397bc90a36e73407810198c4f28eea29bd0a4ad98bd4af947bdb8a5ecdbd73a248be8f375ba80c74c9a097aa57ef51eed1dc440ff95 SHA512 96e9ebdf1c3dc14a914bee50ced9547d5a94838ed602552379711ba67f00381173059ceb8a552efadd3175ceaa4cb6c15902fe582fc2eba7b7bdb8a19f47d1a0
DIST chromium-64.0.3282.71.tar.xz 482134720 BLAKE2B 691e33c396fde798985af96168a7b7aa92e3c90bc542c6e84df1b41a74ae0f8cb7364edfcf148db48971dabd5b2af422d884a36528b5549ec2fd52f5e6d7f643 SHA512 90fff36292898e47a2c47940efadc98b7099cdfdd8df4659b5e1ba327e26230919dc1e9e21a4496207cf88f9976d048dd2f200424224f2bc25e7ee9ab2755f06
-DIST chromium-65.0.3294.5.tar.xz 484687920 BLAKE2B 2d4d30ea83bfa0d5753eecd4ea735ec5d81097867b7c32c190853adee372c5032dac549c064fb22688555ef6231a3e2e43b274735883285f91a0a2d9c7a151ec SHA512 089bcc7eba7d5a2a964b5b6e94c7735653582cd6925325b9bdb2788bd4abb4b3cbc8c71f5c77004600864106a18da3fddda0adaa53ad54a96efe21498e45f23a
+DIST chromium-64.0.3282.85.tar.xz 482224568 BLAKE2B f8650721a2a30ea7f9c651efab58c54a225d7dda177c924c2ade132d488bb4b415e6155426384a005bafbcff5affbc99e142f45c85042cc6367e17c88c806f12 SHA512 52842b4f8304b4eb4e8fb25b586e0d03af5a5d0aebe2fc9ae517f97e05ee5ece3f71fd2b48a4f148fccec859b13c98a669ccbb4183d99ebd3bcf7e617ca241d0
DIST chromium-65.0.3298.3.tar.xz 485716108 BLAKE2B 185b3f683b2a732343fa5f98b24171f1d3cf2cf8eeb63c56efa7699f6b038d2a7eea4f9277b0b7ee2fdfa207a4f13edbaf2cc9a591a79ec4d058a131ce44366b SHA512 f1ed9a403036e87da7897f173eeb1aa71fe2650efc5ef5b98f814c7d4d9c879971597f9ded11324c86d6edc7f12f3bcf2786a6fb022e9697dbdb8eae086e18b7
+DIST chromium-65.0.3315.3.tar.xz 532475512 BLAKE2B 1a118ddd05f2b939ff0fd84f85e1c22789713351776d889bafb55ddb2b897b2921050a3df3b7d5e3224be84539d95dddce1a27a948c61b29c788ed9f8e194e02 SHA512 c7f0feda90c0df15058473d39482e9b9a9b3236dcb90ff8ba7ad53afde2fce4901b2cbd678d8470560cc0cb6e31c8d3caee9f0a9f100d82d95feacabcdb7f8ce
EBUILD chromium-63.0.3239.108.ebuild 19852 BLAKE2B dcdf02aa189a5a184395d69a4e4d854d1860453a257b59e0393104a628c3603c1f717fab4803785b87a22bc4d9ea66c3de88cc9f5f3b1b44e08871f210b04314 SHA512 889e192997c46188590b5ede0b79c1a5abe9bff0bc7b4e1464b6cebad494d26158977d942764d143c36a475063d97aaee925d7d1155e5cfb74d654fd82fc348f
-EBUILD chromium-64.0.3282.39.ebuild 20150 BLAKE2B 52ac5f763b1d62a3fa0b22401aadd7a9988945dc2ca1b1631f56f5f82df00a66a563aa0ac2b9e7a5f186dbb7bdbb1f945749e1c8bdc74d22dd51fe1e5c112c75 SHA512 fc1fc03574c94fb0b2e2b4e4e13907fa8724f01b1cb1f11869610e417663b6867ff994ecd95e508dff8f4e95c8127f36431368aa1b28b695e175ef1c92e2257f
+EBUILD chromium-63.0.3239.132.ebuild 19998 BLAKE2B f919a386ed211971f8773d1a7310e46bc0bf5446f4fc3a2fe7e70bf7eaff46159e7892bd5510ee93a0afd9059571cfeeb2e3b8b33496c3615bfd211d4db65223 SHA512 f2149f8fd8e7930e4c1856fc0341d8e43916f1755f9a4873502b70959c2d0df35112641c6be300c39827db4d5b6123f5ee8f7738bc9e26b4c42590b19e1dceba
EBUILD chromium-64.0.3282.71.ebuild 20343 BLAKE2B ad5d6ee182a0afd2a9a7aa6df6f304c332c069bb86d941f78bb918af46fea4a11bae161da5f04361c8ea544146dc7f3c89745af9a6c298c0594f2f7a4253c6a4 SHA512 f0662554dc694d876d9e111e19ed8609391d7f20a90925cdef473c7986229241a6b9f81994ad3b73c711708a8ba753995adda7f3ee404d32afcc4563c01a3061
-EBUILD chromium-65.0.3294.5.ebuild 20338 BLAKE2B a992c3d16e340f53ed575941b7ec48c8a254286be84f468f93e45eab707f95e13dde6c70c67296239e83defd5a7552cea527057e9733020ed575dd5aba8d7276 SHA512 f5b8fa9c52c98d601c4d0848c51789c6cfb3e18f6e0de541add26ef50a78c32fab1e6adcb483db9ad0af35734e77607f010ece461f4f88cce18e4633fae3620b
+EBUILD chromium-64.0.3282.85.ebuild 20343 BLAKE2B ad5d6ee182a0afd2a9a7aa6df6f304c332c069bb86d941f78bb918af46fea4a11bae161da5f04361c8ea544146dc7f3c89745af9a6c298c0594f2f7a4253c6a4 SHA512 f0662554dc694d876d9e111e19ed8609391d7f20a90925cdef473c7986229241a6b9f81994ad3b73c711708a8ba753995adda7f3ee404d32afcc4563c01a3061
EBUILD chromium-65.0.3298.3.ebuild 20478 BLAKE2B 6a47301263f82cfbc260e6af2c4234ae70863b904cbdc9a069174ba8e0e195b92331662ff51f412e46a0d622bf9beb70a0900366dbcb54c24170cbdc34d85e13 SHA512 1341dbc98ae59d67db968bea7b41ef9be82e140ff17afbef9d0578cb91bcb82f74f2c411a80c50818dd77a9dd04d792c8a34edd76b485eaab96b9a9354fc6baf
+EBUILD chromium-65.0.3315.3.ebuild 20473 BLAKE2B 9f2680782bd95007807fc7e484e9637175cf9a5929a5e85ca3c2845cffbb07bdf2976c72d7c4534e78db553d8dcc1d7c5361dab2e6465abca1f988b4f6705b62 SHA512 20e4e17943324632170627e70cda0107bdd59ccec9ed7766cf984ea4782ba58f8199658fb7ac9080d31472cb78195c79f92b04345ee8715b43e3d65c3158fcb4
MISC metadata.xml 1418 BLAKE2B 0fd718bd70dc0fa890bf7e0efa2f6a186df446617f36bb5e4689989c4766da4016b5325d8a81f8959e887fc182ff792bb10909b5724df8c4fcaade221b289d8b SHA512 1c68218f5cab5787a7524823975474065794aa18f8301e9efe066847b9a566b870a68a3768cee925a3ad6543fb182575043c1cb45e145db67382c502a535d039
diff --git a/www-client/chromium/chromium-63.0.3239.132.ebuild b/www-client/chromium/chromium-63.0.3239.132.ebuild
new file mode 100644
index 000000000000..bc4598a11c0b
--- /dev/null
+++ b/www-client/chromium/chromium-63.0.3239.132.ebuild
@@ -0,0 +1,665 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+PYTHON_COMPAT=( python2_7 )
+
+CHROMIUM_LANGS="am ar bg bn ca cs da de el en-GB es es-419 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 check-reqs chromium-2 eutils gnome2-utils flag-o-matic multilib ninja-utils pax-utils portability python-any-r1 readme.gentoo-r1 toolchain-funcs versionator xdg-utils
+
+DESCRIPTION="Open-source version of Google Chrome web browser"
+HOMEPAGE="http://chromium.org/"
+SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~x86"
+IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
+RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
+
+COMMON_DEPEND="
+ app-arch/bzip2:=
+ cups? ( >=net-print/cups-1.3.11:= )
+ dev-libs/expat:=
+ dev-libs/glib:2
+ system-icu? ( >=dev-libs/icu-59 <dev-libs/icu-60:= )
+ >=dev-libs/libxml2-2.9.4-r3:=[icu]
+ dev-libs/libxslt:=
+ dev-libs/nspr:=
+ >=dev-libs/nss-3.26:=
+ >=dev-libs/re2-0.2016.05.01:=
+ gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
+ >=media-libs/alsa-lib-1.0.19:=
+ media-libs/fontconfig:=
+ media-libs/freetype:=
+ >=media-libs/harfbuzz-1.5.0:=[icu(-)]
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
+ >=media-libs/openh264-1.6.0:=
+ pulseaudio? ( media-sound/pulseaudio:= )
+ system-ffmpeg? (
+ >=media-video/ffmpeg-3:=
+ || (
+ media-video/ffmpeg[-samba]
+ >=net-fs/samba-4.5.10-r1[-debug(-)]
+ )
+ !=net-fs/samba-4.5.12
+ media-libs/opus:=
+ )
+ sys-apps/dbus:=
+ sys-apps/pciutils:=
+ virtual/udev
+ x11-libs/cairo:=
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3[X]
+ x11-libs/libX11:=
+ x11-libs/libXcomposite:=
+ x11-libs/libXcursor:=
+ x11-libs/libXdamage:=
+ x11-libs/libXext:=
+ x11-libs/libXfixes:=
+ >=x11-libs/libXi-1.6.0:=
+ x11-libs/libXrandr:=
+ x11-libs/libXrender:=
+ x11-libs/libXScrnSaver:=
+ x11-libs/libXtst:=
+ x11-libs/pango:=
+ app-arch/snappy:=
+ media-libs/flac:=
+ >=media-libs/libwebp-0.4.0:=
+ sys-libs/zlib:=[minizip]
+ kerberos? ( virtual/krb5 )
+"
+# For nvidia-drivers blocker, see bug #413637 .
+RDEPEND="${COMMON_DEPEND}
+ !=www-client/chromium-9999
+ !<www-plugins/chrome-binary-plugins-57
+ x11-misc/xdg-utils
+ virtual/opengl
+ virtual/ttf-fonts
+ selinux? ( sec-policy/selinux-chromium )
+ tcmalloc? ( !<x11-drivers/nvidia-drivers-331.20 )
+ widevine? ( www-plugins/chrome-binary-plugins[widevine(-)] )
+"
+# dev-vcs/git - https://bugs.gentoo.org/593476
+# sys-apps/sandbox - https://crbug.com/586444
+DEPEND="${COMMON_DEPEND}
+ >=app-arch/gzip-1.7
+ !arm? (
+ dev-lang/yasm
+ )
+ dev-lang/perl
+ >=dev-util/gperf-3.0.3
+ >=dev-util/ninja-1.7.2
+ >=net-libs/nodejs-6.9.4
+ sys-apps/hwids[usb(+)]
+ >=sys-devel/bison-2.4.3
+ sys-devel/flex
+ virtual/pkgconfig
+ dev-vcs/git
+ $(python_gen_any_dep '
+ dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]
+ >=dev-python/beautifulsoup-4.3.2:4[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ ')
+"
+
+# Keep this in sync with the python_gen_any_dep call.
+python_check_deps() {
+ has_version --host-root "dev-python/beautifulsoup:python-2[${PYTHON_USEDEP}]" &&
+ has_version --host-root ">=dev-python/beautifulsoup-4.3.2:4[${PYTHON_USEDEP}]" &&
+ has_version --host-root "dev-python/html5lib[${PYTHON_USEDEP}]" &&
+ has_version --host-root "dev-python/simplejson[${PYTHON_USEDEP}]"
+}
+
+if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then
+ EBUILD_DEATH_HOOKS+=" chromium_pkg_die";
+fi
+
+DISABLE_AUTOFORMATTING="yes"
+DOC_CONTENTS="
+Some web pages may require additional fonts to display properly.
+Try installing some of the following packages if some characters
+are not displayed properly:
+- media-fonts/arphicfonts
+- media-fonts/bitstream-cyberbit
+- media-fonts/droid
+- media-fonts/ipamonafont
+- media-fonts/noto
+- media-fonts/ja-ipafonts
+- media-fonts/takao-fonts
+- media-fonts/wqy-microhei
+- media-fonts/wqy-zenhei
+
+To fix broken icons on the Downloads page, you should install an icon
+theme that covers the appropriate MIME types, and configure this as your
+GTK+ icon theme.
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-widevine-r1.patch"
+ "${FILESDIR}/${PN}-FORTIFY_SOURCE-r2.patch"
+ "${FILESDIR}/${PN}-gcc5-r4.patch"
+ "${FILESDIR}/${PN}-clang-r1.patch"
+ "${FILESDIR}/${PN}-webrtc-r0.patch"
+ "${FILESDIR}/${PN}-gcc5-r5.patch"
+)
+
+pre_build_checks() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ local -x CPP="$(tc-getCXX) -E"
+ if tc-is-clang && ! version_is_at_least "3.9.1" "$(clang-fullversion)"; then
+ # bugs: #601654
+ die "At least clang 3.9.1 is required"
+ fi
+ if tc-is-gcc && ! version_is_at_least 5.0 "$(gcc-version)"; then
+ # bugs: #535730, #525374, #518668, #600288, #627356
+ die "At least gcc 5.0 is required"
+ fi
+ fi
+
+ # Check build requirements, bug #541816 and bug #471810 .
+ CHECKREQS_MEMORY="3G"
+ CHECKREQS_DISK_BUILD="5G"
+ eshopts_push -s extglob
+ if is-flagq '-g?(gdb)?([1-9])'; then
+ CHECKREQS_DISK_BUILD="25G"
+ if ! use component-build; then
+ CHECKREQS_MEMORY="16G"
+ fi
+ fi
+ eshopts_pop
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ pre_build_checks
+}
+
+pkg_setup() {
+ pre_build_checks
+
+ # Make sure the build system will use the right python, bug #344367.
+ python-any-r1_pkg_setup
+
+ chromium_suid_sandbox_check_kernel_config
+}
+
+src_prepare() {
+ default
+
+ mkdir -p third_party/node/linux/node-linux-x64/bin || die
+ ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die
+
+ local keeplibs=(
+ base/third_party/dmg_fp
+ base/third_party/dynamic_annotations
+ base/third_party/icu
+ base/third_party/nspr
+ base/third_party/superfasthash
+ base/third_party/symbolize
+ base/third_party/valgrind
+ base/third_party/xdg_mime
+ base/third_party/xdg_user_dirs
+ chrome/third_party/mozilla_security_manager
+ courgette/third_party
+ net/third_party/mozilla_security_manager
+ net/third_party/nss
+ third_party/WebKit
+ third_party/analytics
+ third_party/angle
+ third_party/angle/src/common/third_party/base
+ third_party/angle/src/common/third_party/smhasher
+ third_party/angle/src/third_party/compiler
+ third_party/angle/src/third_party/libXNVCtrl
+ third_party/angle/src/third_party/trace_event
+ third_party/blink
+ third_party/boringssl
+ third_party/breakpad
+ third_party/breakpad/breakpad/src/third_party/curl
+ third_party/brotli
+ third_party/cacheinvalidation
+ third_party/catapult
+ third_party/catapult/common/py_vulcanize/third_party/rcssmin
+ third_party/catapult/common/py_vulcanize/third_party/rjsmin
+ third_party/catapult/third_party/polymer
+ third_party/catapult/tracing/third_party/d3
+ third_party/catapult/tracing/third_party/gl-matrix
+ third_party/catapult/tracing/third_party/jszip
+ third_party/catapult/tracing/third_party/mannwhitneyu
+ third_party/catapult/tracing/third_party/oboe
+ third_party/catapult/tracing/third_party/pako
+ third_party/ced
+ third_party/cld_2
+ third_party/cld_3
+ third_party/crc32c
+ third_party/cros_system_api
+ third_party/devscripts
+ third_party/dom_distiller_js
+ third_party/fips181
+ third_party/flatbuffers
+ third_party/flot
+ third_party/freetype
+ third_party/glslang-angle
+ third_party/google_input_tools
+ third_party/google_input_tools/third_party/closure_library
+ third_party/google_input_tools/third_party/closure_library/third_party/closure
+ third_party/googletest
+ third_party/hunspell
+ third_party/iccjpeg
+ third_party/inspector_protocol
+ third_party/jinja2
+ third_party/jstemplate
+ third_party/khronos
+ third_party/leveldatabase
+ third_party/libXNVCtrl
+ third_party/libaddressinput
+ third_party/libjingle
+ third_party/libphonenumber
+ third_party/libsecret
+ third_party/libsrtp
+ third_party/libudev
+ third_party/libwebm
+ third_party/libxml/chromium
+ third_party/libyuv
+ third_party/lss
+ third_party/lzma_sdk
+ third_party/markupsafe
+ third_party/mesa
+ third_party/modp_b64
+ third_party/mt19937ar
+ third_party/node
+ third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2
+ third_party/openmax_dl
+ third_party/ots
+ third_party/pdfium
+ third_party/pdfium/third_party/agg23
+ third_party/pdfium/third_party/base
+ third_party/pdfium/third_party/build
+ third_party/pdfium/third_party/bigint
+ third_party/pdfium/third_party/freetype
+ third_party/pdfium/third_party/lcms
+ third_party/pdfium/third_party/libopenjpeg20
+ third_party/pdfium/third_party/libpng16
+ third_party/pdfium/third_party/libtiff
+ third_party/ply
+ third_party/polymer
+ third_party/protobuf
+ third_party/protobuf/third_party/six
+ third_party/qcms
+ third_party/sfntly
+ third_party/skia
+ third_party/skia/third_party/gif
+ third_party/skia/third_party/vulkan
+ third_party/smhasher
+ third_party/spirv-headers
+ third_party/spirv-tools-angle
+ third_party/sqlite
+ third_party/swiftshader
+ third_party/swiftshader/third_party/llvm-subzero
+ third_party/swiftshader/third_party/subzero
+ third_party/usrsctp
+ third_party/vulkan
+ third_party/vulkan-validation-layers
+ third_party/web-animations-js
+ third_party/webdriver
+ third_party/webrtc
+ third_party/widevine
+ third_party/woff2
+ third_party/zlib/google
+ url/third_party/mozilla
+ v8/src/third_party/valgrind
+ v8/third_party/inspector_protocol
+
+ # gyp -> gn leftovers
+ base/third_party/libevent
+ third_party/adobe
+ third_party/speech-dispatcher
+ third_party/usb_ids
+ third_party/xdg-utils
+ third_party/yasm/run_yasm.py
+ )
+ if ! use system-ffmpeg; then
+ keeplibs+=( third_party/ffmpeg third_party/opus )
+ fi
+ if ! use system-icu; then
+ keeplibs+=( third_party/icu )
+ fi
+ if ! use system-libvpx; then
+ keeplibs+=( third_party/libvpx )
+ keeplibs+=( third_party/libvpx/source/libvpx/third_party/x86inc )
+ fi
+ if use tcmalloc; then
+ keeplibs+=( third_party/tcmalloc )
+ fi
+
+ # Remove most bundled libraries. Some are still needed.
+ build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die
+}
+
+bootstrap_gn() {
+ if tc-is-cross-compiler; then
+ local -x AR=${BUILD_AR}
+ local -x CC=${BUILD_CC}
+ local -x CXX=${BUILD_CXX}
+ local -x NM=${BUILD_NM}
+ local -x CFLAGS=${BUILD_CFLAGS}
+ local -x CXXFLAGS=${BUILD_CXXFLAGS}
+ local -x LDFLAGS=${BUILD_LDFLAGS}
+ fi
+ einfo "Building GN..."
+ set -- tools/gn/bootstrap/bootstrap.py -s -v --no-clean
+ echo "$@"
+ "$@" || die
+}
+
+src_configure() {
+ local myconf_gn=""
+
+ # GN needs explicit config for Debug/Release as opposed to inferring it from build directory.
+ myconf_gn+=" is_debug=false"
+
+ # Component build isn't generally intended for use by end users. It's mostly useful
+ # for development and debugging.
+ myconf_gn+=" is_component_build=$(usex component-build true false)"
+
+ # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md
+ myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)"
+
+ myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
+
+ # Disable nacl, we can't build without pnacl (http://crbug.com/269560).
+ myconf_gn+=" enable_nacl=false"
+
+ # Use system-provided libraries.
+ # TODO: freetype (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: use_system_hunspell (upstream changes needed).
+ # TODO: use_system_libsrtp (bug #459932).
+ # TODO: use_system_protobuf (bug #525560).
+ # TODO: use_system_ssl (http://crbug.com/58087).
+ # TODO: use_system_sqlite (http://crbug.com/22208).
+
+ # libevent: https://bugs.gentoo.org/593458
+ local gn_system_libraries=(
+ flac
+ # Need harfbuzz_from_pkgconfig target
+ #harfbuzz-ng
+ libdrm
+ libjpeg
+ libpng
+ libwebp
+ libxml
+ libxslt
+ openh264
+ re2
+ snappy
+ yasm
+ zlib
+ )
+ if use system-ffmpeg; then
+ gn_system_libraries+=( ffmpeg opus )
+ fi
+ if use system-icu; then
+ gn_system_libraries+=( icu )
+ fi
+ if use system-libvpx; then
+ gn_system_libraries+=( libvpx )
+ fi
+ build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die
+
+ # See dependency logic in third_party/BUILD.gn
+ myconf_gn+=" use_system_harfbuzz=true"
+
+ # Optional dependencies.
+ myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
+ myconf_gn+=" enable_widevine=$(usex widevine true false)"
+ myconf_gn+=" use_cups=$(usex cups true false)"
+ myconf_gn+=" use_gconf=false"
+ myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
+ myconf_gn+=" use_kerberos=$(usex kerberos true false)"
+ myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
+
+ # TODO: link_pulseaudio=true for GN.
+
+ myconf_gn+=" fieldtrial_testing_like_official_build=true"
+
+ if tc-is-clang; then
+ myconf_gn+=" is_clang=true clang_use_chrome_plugins=false"
+ else
+ myconf_gn+=" is_clang=false"
+ fi
+
+ # Never use bundled gold binary. Disable gold linker flags for now.
+ # Do not use bundled clang.
+ # Trying to use gold results in linker crash.
+ myconf_gn+=" use_gold=false use_sysroot=false linux_use_bundled_binutils=false use_custom_libcxx=false"
+
+ ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)"
+ myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)"
+ myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\""
+
+ # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys .
+ # Note: these are for Gentoo use ONLY. For your own distribution,
+ # please get your own set of keys. Feel free to contact chromium@gentoo.org
+ # for more info.
+ local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc"
+ local google_default_client_id="329227923882.apps.googleusercontent.com"
+ local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
+ myconf_gn+=" google_api_key=\"${google_api_key}\""
+ myconf_gn+=" google_default_client_id=\"${google_default_client_id}\""
+ myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\""
+
+ local myarch="$(tc-arch)"
+ if [[ $myarch = amd64 ]] ; then
+ myconf_gn+=" target_cpu=\"x64\""
+ ffmpeg_target_arch=x64
+ elif [[ $myarch = x86 ]] ; then
+ myconf_gn+=" target_cpu=\"x86\""
+ ffmpeg_target_arch=ia32
+ elif [[ $myarch = arm64 ]] ; then
+ myconf_gn+=" target_cpu=\"arm64\""
+ ffmpeg_target_arch=arm64
+ elif [[ $myarch = arm ]] ; then
+ myconf_gn+=" target_cpu=\"arm\""
+ ffmpeg_target_arch=$(usex neon arm-neon arm)
+ 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_gn+=" treat_warnings_as_errors=false"
+
+ # Disable fatal linker warnings, bug 506268.
+ myconf_gn+=" fatal_linker_warnings=false"
+
+ # Avoid CFLAGS problems, bug #352457, bug #390147.
+ if ! use custom-cflags; then
+ replace-flags "-Os" "-O2"
+ strip-flags
+
+ # Prevent linker from running out of address space, bug #471810 .
+ if use x86; then
+ filter-flags "-g*"
+ fi
+
+ # Prevent libvpx build failures. Bug 530248, 544702, 546984.
+ if [[ ${myarch} == amd64 || ${myarch} == x86 ]]; then
+ filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2
+ fi
+ fi
+
+ # Make sure the build system will use the right tools, bug #340795.
+ tc-export AR CC CXX NM
+
+ # Define a custom toolchain for GN
+ myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+
+ if tc-is-cross-compiler; then
+ tc-export BUILD_{AR,CC,CXX,NM}
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\""
+ else
+ myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
+ fi
+
+ # https://bugs.gentoo.org/588596
+ append-cxxflags $(test-flags-CXX -fno-delete-null-pointer-checks)
+
+ # Bug 491582.
+ export TMPDIR="${WORKDIR}/temp"
+ mkdir -p -m 755 "${TMPDIR}" || die
+
+ if ! use system-ffmpeg; then
+ local build_ffmpeg_args=""
+ if use pic && [[ "${ffmpeg_target_arch}" == "ia32" ]]; then
+ build_ffmpeg_args+=" --disable-asm"
+ fi
+
+ # Re-configure bundled ffmpeg. See bug #491378 for example reasons.
+ einfo "Configuring bundled ffmpeg..."
+ pushd third_party/ffmpeg > /dev/null || die
+ chromium/scripts/build_ffmpeg.py linux ${ffmpeg_target_arch} \
+ --branding ${ffmpeg_branding} -- ${build_ffmpeg_args} || die
+ chromium/scripts/copy_config.sh || die
+ chromium/scripts/generate_gn.py || die
+ popd > /dev/null || die
+ fi
+
+ bootstrap_gn
+
+ einfo "Configuring Chromium..."
+ set -- out/Release/gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release
+ echo "$@"
+ "$@" || die
+}
+
+src_compile() {
+ # Build mksnapshot and pax-mark it.
+ local x
+ for x in mksnapshot v8_context_snapshot_generator; do
+ if tc-is-cross-compiler; then
+ eninja -C out/Release "host/${x}"
+ pax-mark m "out/Release/host/${x}"
+ else
+ eninja -C out/Release "${x}"
+ pax-mark m "out/Release/${x}"
+ fi
+ done
+
+ # Work around circular dep issue
+ # https://chromium-review.googlesource.com/c/chromium/src/+/617768
+ eninja -C out/Release gen/ui/accessibility/ax_enums.h
+
+ # Even though ninja autodetects number of CPUs, we respect
+ # user's options, for debugging with -j 1 or any other reason.
+ eninja -C out/Release chrome chromedriver
+ use suid && eninja -C out/Release chrome_sandbox
+
+ pax-mark m out/Release/chrome
+}
+
+src_install() {
+ local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser"
+ exeinto "${CHROMIUM_HOME}"
+ doexe out/Release/chrome
+
+ if use suid; then
+ newexe out/Release/chrome_sandbox chrome-sandbox
+ fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox"
+ fi
+
+ doexe out/Release/chromedriver
+
+ local sedargs=( -e "s:/usr/lib/:/usr/$(get_libdir)/:g" )
+ sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r3.sh" > chromium-launcher.sh || die
+ doexe chromium-launcher.sh
+
+ # 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
+ # keep the old symlink around for consistency
+ dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium
+
+ dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver
+
+ # Allow users to override command-line options, bug #357629.
+ insinto /etc/chromium
+ newins "${FILESDIR}/chromium.default" "default"
+
+ pushd out/Release/locales > /dev/null || die
+ chromium_remove_language_paks
+ popd
+
+ if use widevine; then
+ # These will be provided by chrome-binary-plugins
+ rm out/Release/libwidevinecdm*.so || die
+ fi
+
+ insinto "${CHROMIUM_HOME}"
+ doins out/Release/*.bin
+ doins out/Release/*.pak
+ doins out/Release/*.so
+
+ if ! use system-icu; then
+ doins out/Release/icudtl.dat
+ fi
+
+ doins -r out/Release/locales
+ doins -r out/Release/resources
+
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
+
+ # 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.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" \
+ chromium-browser \
+ "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).
+ insinto /usr/share/gnome-control-center/default-apps
+ newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml
+
+ readme.gentoo_create_doc
+}
+
+pkg_preinst() {
+ gnome2_icon_savelist
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+}
+
+pkg_postinst() {
+ gnome2_icon_cache_update
+ xdg_desktop_database_update
+ readme.gentoo_print_elog
+}
diff --git a/www-client/chromium/chromium-64.0.3282.39.ebuild b/www-client/chromium/chromium-64.0.3282.85.ebuild
index 176c6981bdd0..f9d0c892ec16 100644
--- a/www-client/chromium/chromium-64.0.3282.39.ebuild
+++ b/www-client/chromium/chromium-64.0.3282.85.ebuild
@@ -17,7 +17,7 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="component-build cups gnome-keyring +hangouts kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
+IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
COMMON_DEPEND="
@@ -31,7 +31,7 @@ COMMON_DEPEND="
>=dev-libs/libxml2-2.9.4-r3:=[icu]
dev-libs/libxslt:=
dev-libs/nspr:=
- >=dev-libs/nss-3.14.3:=
+ >=dev-libs/nss-3.26:=
>=dev-libs/re2-0.2016.05.01:=
gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
>=media-libs/alsa-lib-1.0.19:=
@@ -375,6 +375,9 @@ src_configure() {
# for development and debugging.
myconf_gn+=" is_component_build=$(usex component-build true false)"
+ # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md
+ myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)"
+
myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
# Disable nacl, we can't build without pnacl (http://crbug.com/269560).
@@ -624,8 +627,10 @@ src_install() {
doins -r out/Release/locales
doins -r out/Release/resources
- insinto "${CHROMIUM_HOME}/swiftshader"
- doins out/Release/swiftshader/*.so
+ if [[ -d out/Release/swiftshader ]]; then
+ insinto "${CHROMIUM_HOME}/swiftshader"
+ doins out/Release/swiftshader/*.so
+ fi
# Install icons and desktop entry.
local branding size
diff --git a/www-client/chromium/chromium-65.0.3294.5.ebuild b/www-client/chromium/chromium-65.0.3315.3.ebuild
index 92ee58d2d8ea..b8011501a833 100644
--- a/www-client/chromium/chromium-65.0.3294.5.ebuild
+++ b/www-client/chromium/chromium-65.0.3315.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
@@ -17,25 +17,27 @@ SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="component-build cups gnome-keyring +hangouts kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
+IUSE="component-build cups gnome-keyring +hangouts jumbo-build kerberos neon pic +proprietary-codecs pulseaudio selinux +suid +system-ffmpeg +system-icu +system-libvpx +tcmalloc widevine"
RESTRICT="!system-ffmpeg? ( proprietary-codecs? ( bindist ) )"
COMMON_DEPEND="
+ app-accessibility/at-spi2-atk:2
app-arch/bzip2:=
cups? ( >=net-print/cups-1.3.11:= )
+ dev-libs/atk
dev-libs/expat:=
dev-libs/glib:2
system-icu? ( >=dev-libs/icu-59:= )
>=dev-libs/libxml2-2.9.4-r3:=[icu]
dev-libs/libxslt:=
dev-libs/nspr:=
- >=dev-libs/nss-3.14.3:=
+ >=dev-libs/nss-3.26:=
>=dev-libs/re2-0.2016.05.01:=
gnome-keyring? ( >=gnome-base/libgnome-keyring-3.12:= )
>=media-libs/alsa-lib-1.0.19:=
media-libs/fontconfig:=
media-libs/freetype:=
- >=media-libs/harfbuzz-1.5.0:=[icu(-)]
+ >=media-libs/harfbuzz-1.6.0:=[icu(-)]
media-libs/libjpeg-turbo:=
media-libs/libpng:=
system-libvpx? ( media-libs/libvpx:=[postproc,svc] )
@@ -147,12 +149,14 @@ PATCHES=(
"${FILESDIR}/chromium-webrtc-r0.patch"
"${FILESDIR}/chromium-memcpy-r0.patch"
"${FILESDIR}/chromium-clang-r2.patch"
+ "${FILESDIR}/chromium-gn-r0.patch"
+ "${FILESDIR}/chromium-vulkan-r0.patch"
+ "${FILESDIR}/chromium-gcc-r0.patch"
)
pre_build_checks() {
if [[ ${MERGE_TYPE} != binary ]]; then
local -x CPP="$(tc-getCXX) -E"
- tc-is-clang || die "Build currently fails with gcc, please use clang"
if tc-is-clang && ! version_is_at_least "3.9.1" "$(clang-fullversion)"; then
# bugs: #601654
die "At least clang 3.9.1 is required"
@@ -376,13 +380,16 @@ src_configure() {
# for development and debugging.
myconf_gn+=" is_component_build=$(usex component-build true false)"
+ # https://chromium.googlesource.com/chromium/src/+/lkcr/docs/jumbo.md
+ myconf_gn+=" use_jumbo_build=$(usex jumbo-build true false)"
+
myconf_gn+=" use_allocator=$(usex tcmalloc \"tcmalloc\" \"none\")"
# Disable nacl, we can't build without pnacl (http://crbug.com/269560).
myconf_gn+=" enable_nacl=false"
# Use system-provided libraries.
- # TODO: freetype (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
+ # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733).
# TODO: use_system_hunspell (upstream changes needed).
# TODO: use_system_libsrtp (bug #459932).
# TODO: use_system_protobuf (bug #525560).
@@ -392,8 +399,8 @@ src_configure() {
# libevent: https://bugs.gentoo.org/593458
local gn_system_libraries=(
flac
- # https://chromium.googlesource.com/chromium/src/+/4f1a60552748d150783655ee6f7b6f7084e3af95
- #fontconfig
+ fontconfig
+ freetype
# Need harfbuzz_from_pkgconfig target
#harfbuzz-ng
libdrm
@@ -426,7 +433,6 @@ src_configure() {
myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)"
myconf_gn+=" enable_widevine=$(usex widevine true false)"
myconf_gn+=" use_cups=$(usex cups true false)"
- myconf_gn+=" use_gconf=false"
myconf_gn+=" use_gnome_keyring=$(usex gnome-keyring true false)"
myconf_gn+=" use_kerberos=$(usex kerberos true false)"
myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)"
diff --git a/www-client/chromium/files/chromium-gcc-r0.patch b/www-client/chromium/files/chromium-gcc-r0.patch
new file mode 100644
index 000000000000..b0aaae8de558
--- /dev/null
+++ b/www-client/chromium/files/chromium-gcc-r0.patch
@@ -0,0 +1,55 @@
+From 353219b1d808a8980af93eff5412ec2863557e35 Mon Sep 17 00:00:00 2001
+From: Jose Dapena Paz <jose.dapena@lge.com>
+Date: Wed, 10 Jan 2018 15:34:25 +0000
+Subject: [PATCH] GCC fixes: avoid symbol collision between Element::ComputedAccessibleNode and ComputedAccessibleNode.
+
+GCC at least fails to compile if the method has the same name of the class. To avoid
+this we rename the getter method to be prefixed with Get.
+
+Change-Id: I7f7ac2ecf0947718f72e78ccef019c3239c9b921
+Reviewed-on: https://chromium-review.googlesource.com/857716
+Reviewed-by: Daniel Cheng <dcheng@chromium.org>
+Reviewed-by: Hayato Ito <hayato@chromium.org>
+Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
+Cr-Commit-Position: refs/heads/master@{#528322}
+---
+
+diff --git a/third_party/WebKit/Source/core/dom/Element.cpp b/third_party/WebKit/Source/core/dom/Element.cpp
+index 4f50b7d..d0fa7b1 100644
+--- a/third_party/WebKit/Source/core/dom/Element.cpp
++++ b/third_party/WebKit/Source/core/dom/Element.cpp
+@@ -1276,7 +1276,7 @@
+ return rare_data.EnsureAccessibleNode(this);
+ }
+
+-ComputedAccessibleNode* Element::ComputedAccessibleNode() {
++ComputedAccessibleNode* Element::GetComputedAccessibleNode() {
+ if (!RuntimeEnabledFeatures::AccessibilityObjectModelEnabled())
+ return nullptr;
+
+diff --git a/third_party/WebKit/Source/core/dom/Element.h b/third_party/WebKit/Source/core/dom/Element.h
+index 733596b..986e31a 100644
+--- a/third_party/WebKit/Source/core/dom/Element.h
++++ b/third_party/WebKit/Source/core/dom/Element.h
+@@ -295,7 +295,7 @@
+ AccessibleNode* ExistingAccessibleNode() const;
+ AccessibleNode* accessibleNode();
+
+- ComputedAccessibleNode* ComputedAccessibleNode();
++ ComputedAccessibleNode* GetComputedAccessibleNode();
+
+ void DidMoveToNewDocument(Document&) override;
+
+diff --git a/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp b/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
+index 642f55f..f6a8d8e 100644
+--- a/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
++++ b/third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp
+@@ -1110,7 +1110,7 @@
+ Element* element) {
+ DCHECK(element);
+ ComputedAccessibleNode* computed_accessible_node =
+- element->ComputedAccessibleNode();
++ element->GetComputedAccessibleNode();
+ return computed_accessible_node->ComputePromiseProperty(script_state);
+ }
+
diff --git a/www-client/chromium/files/chromium-gn-r0.patch b/www-client/chromium/files/chromium-gn-r0.patch
new file mode 100644
index 000000000000..8f01e864ce5e
--- /dev/null
+++ b/www-client/chromium/files/chromium-gn-r0.patch
@@ -0,0 +1,33 @@
+From 47b25a1f83f8166c6cd5cf1f13bf6dcce125511a Mon Sep 17 00:00:00 2001
+From: Tom Anderson <thomasanderson@chromium.org>
+Date: Tue, 9 Jan 2018 15:23:14 -0800
+Subject: [PATCH] Fix gn bootstrap
+
+BUG=800553
+R=dpranke@chromium.org
+
+Change-Id: I5c1cfeb7542bf990c59451aabcae7c120cbf09c0
+Reviewed-on: https://chromium-review.googlesource.com/858276
+Reviewed-by: Dirk Pranke <dpranke@chromium.org>
+Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#528197}
+---
+ tools/gn/bootstrap/bootstrap.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
+index a0f32ad31df0..5376c6253a32 100755
+--- a/tools/gn/bootstrap/bootstrap.py
++++ b/tools/gn/bootstrap/bootstrap.py
+@@ -178,6 +178,11 @@ def build_gn_with_ninja_manually(tempdir, options):
+ root_gen_dir = os.path.join(tempdir, 'gen')
+ mkdir_p(root_gen_dir)
+
++ write_buildflag_header_manually(
++ root_gen_dir,
++ 'base/synchronization/synchronization_flags.h',
++ {'ENABLE_MUTEX_PRIORITY_INHERITANCE': 'false'})
++
+ write_buildflag_header_manually(root_gen_dir, 'base/allocator/features.h',
+ {'USE_ALLOCATOR_SHIM': 'true' if is_linux else 'false'})
+
diff --git a/www-client/chromium/files/chromium-vulkan-r0.patch b/www-client/chromium/files/chromium-vulkan-r0.patch
new file mode 100644
index 000000000000..4553bb766679
--- /dev/null
+++ b/www-client/chromium/files/chromium-vulkan-r0.patch
@@ -0,0 +1,120 @@
+From 949b4f07fd1ef5b208136fe38327c28c95f18928 Mon Sep 17 00:00:00 2001
+From: Jamie Madill <jmadill@chromium.org>
+Date: Mon, 08 Jan 2018 11:15:38 -0500
+Subject: [PATCH] Vulkan: Allow for no .git directory in build.
+
+The SPIRV-Tools 'external revision generate' script is coded such that
+it assumes a .git folder is present. This causes a problem for the
+tarball build. We can fix this by using the same tooling we use for
+ANGLE's commit id script to check if the .git directory is present
+before running the generator. If it is missing, we insert a hard-coded
+dummy header. Also use the 'DEPS' file as a placeholder for .git/HEAD
+to check if the current revision needs updating.
+
+Bug: chromium:799620
+Bug: angleproject:2237
+Change-Id: Icea8e9c66f1600df7dca2aaa45fe449f687f5b55
+Reviewed-on: https://chromium-review.googlesource.com/854255
+Reviewed-by: Jamie Madill <jmadill@chromium.org>
+Commit-Queue: Jamie Madill <jmadill@chromium.org>
+---
+
+diff --git a/third_party/angle/src/commit_id.py b/third_party/angle/src/commit_id.py
+index bbdb810..57651a5 100644
+--- a/third_party/angle/src/commit_id.py
++++ b/third_party/angle/src/commit_id.py
+@@ -23,6 +23,9 @@
+ print("0")
+ sys.exit(0)
+
++if len(sys.argv) < 4 or operation != 'gen':
++ sys.exit(usage)
++
+ output_file = sys.argv[3]
+ commit_id_size = 12
+
+diff --git a/third_party/angle/src/vulkan_support/BUILD.gn b/third_party/angle/src/vulkan_support/BUILD.gn
+index fe61826..24f5a3a 100644
+--- a/third_party/angle/src/vulkan_support/BUILD.gn
++++ b/third_party/angle/src/vulkan_support/BUILD.gn
+@@ -145,21 +145,40 @@
+ }
+ }
+
+-# This could be generalized to a foreach if other revisions are added.
+-action("spirv_tools_external_revision_generate") {
+- script = "$vulkan_layers_dir/scripts/external_revision_generator.py"
+- inputs = [
+- "$spirv_tools_dir/.git/HEAD",
+- "$spirv_tools_dir/.git/index",
+- ]
+- outputs = [
+- "$vulkan_gen_dir/spirv_tools_commit_id.h",
+- ]
+- args = [
+- "$raw_spirv_tools_dir",
+- "SPIRV_TOOLS_COMMIT_ID",
+- "$raw_vulkan_gen_dir/spirv_tools_commit_id.h",
+- ]
++spirv_git_is_present = exec_script("$angle_root/src/commit_id.py",
++ [
++ "check",
++ raw_spirv_tools_dir,
++ ],
++ "value")
++
++spirv_use_commit_id = spirv_git_is_present == 1
++
++if (spirv_use_commit_id) {
++ # This could be generalized to a foreach if other revisions are added.
++ action("spirv_tools_external_revision_generate") {
++ script = "$vulkan_layers_dir/scripts/external_revision_generator.py"
++ inputs = [
++ "$angle_root/DEPS",
++ ]
++ outputs = [
++ "$vulkan_gen_dir/spirv_tools_commit_id.h",
++ ]
++ args = [
++ "$raw_spirv_tools_dir",
++ "SPIRV_TOOLS_COMMIT_ID",
++ "$raw_vulkan_gen_dir/spirv_tools_commit_id.h",
++ ]
++ }
++} else {
++ copy("spirv_tools_external_revision_generate") {
++ sources = [
++ "dummy_spirv_tools_commit_id.h",
++ ]
++ outputs = [
++ "$vulkan_gen_dir/spirv_tools_commit_id.h",
++ ]
++ }
+ }
+
+ config("vulkan_generate_helper_files_config") {
+@@ -864,7 +883,7 @@
+ sources += [ "$vulkan_layers_dir/layers/VkLayer_$name.def" ]
+ }
+ if (is_linux) {
+- ldflags = [ "-Wl,-Bsymbolic,--exclude-libs,ALL" ]
++ ldflags = [ "-Wl,-Bsymbolic,--exclude-libs,ALL" ]
+ }
+ }
+ }
+diff --git a/third_party/angle/src/vulkan_support/dummy_spirv_tools_commit_id.h b/third_party/angle/src/vulkan_support/dummy_spirv_tools_commit_id.h
+new file mode 100644
+index 0000000..e1793bd
+--- /dev/null
++++ b/third_party/angle/src/vulkan_support/dummy_spirv_tools_commit_id.h
+@@ -0,0 +1,10 @@
++//
++// Copyright 2018 The ANGLE Project Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++//
++// This file is a dummy file to enable building SPIRV tools when git is absent.
++
++#pragma once
++
++#define SPIRV_TOOLS_COMMIT_ID "0000000000000000000000000000000000000000"