aboutsummaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
authorAric Belsito <lluixhi@gmail.com>2016-12-05 23:59:38 -0800
committerAric Belsito <lluixhi@gmail.com>2016-12-05 23:59:38 -0800
commitf5e3b46ec8b4e5bcbdb84b2fe41fa85f272ea2fd (patch)
tree1ffd0e19a69ffdd47056e06cbcd3ff457c2e741d /dev-qt
parentdev-util/strace: Sync with upstream (diff)
downloadmusl-f5e3b46ec8b4e5bcbdb84b2fe41fa85f272ea2fd.tar.gz
musl-f5e3b46ec8b4e5bcbdb84b2fe41fa85f272ea2fd.tar.bz2
musl-f5e3b46ec8b4e5bcbdb84b2fe41fa85f272ea2fd.zip
dev-qt/qtwebengine: Add 5.7.0
Sync with upstream. (Took a while to accumulate all of the patches for this to work)
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qtwebengine/Manifest15
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch13
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.7.0-gcc6.patch106
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch51
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-mallinfo.patch24
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-pthread-setname.patch25
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-resolver.patch60
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-sandbox.patch66
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch33
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-paxmark-mksnapshot.patch46
-rw-r--r--dev-qt/qtwebengine/metadata.xml1
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild20
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild124
13 files changed, 579 insertions, 5 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
index 9d87ef05..61054c14 100644
--- a/dev-qt/qtwebengine/Manifest
+++ b/dev-qt/qtwebengine/Manifest
@@ -6,8 +6,19 @@ AUX qtwebengine-5.6.0-musl-sandbox.patch 843 SHA256 632177e9e36713ef528165229b36
AUX qtwebengine-5.6.0-musl-siginfo.patch 666 SHA256 42c3119595738e1e4757bee83d9774982d6265f14cb216dcd5100319339ba8c6 SHA512 2fead16e7d7379b622da0e3172905444d9d72d1a53ff080327a3d59f60541c5c076d9b58f110b039da8c9ebc3b5efec53af118e1172efd01886ff9ac2b730d5f WHIRLPOOL 52bb6af4faec65b6d50a810266a814ddcc996eca0a69668fca320d9e1c998ce11f7479de301f3f3957baba0e8d8e799d4b8c60810c37db2419f8e911066075bd
AUX qtwebengine-5.6.0-musl-stack.patch 1469 SHA256 b2a66152c5f2c72aed97bd0358ee888d410a17c6048cfebc3a6867294e94c291 SHA512 50fd27962fdd2193b45ec334462535008d565a681bd6171d9c8e986e246ec42025e54eecdd8b8cbdaa118d4f6b0d88b73ad6add7c4d59cffc55899264c5b1bfd WHIRLPOOL 604f319f5229f02271e3f12166f5c50d8c2c25d78aebb93917ab333ce15adeded4cbd061afc0af0c1ea9c8bdf3411400c37a15827a31d29420f1787cfe49b97d
AUX qtwebengine-5.6.0-musl-sysctl.patch 692 SHA256 a66b527eb717a5ad662c8c088540341a206c3c208c7f2fe5a20b71a17f7aacd4 SHA512 22b2380fdb1bec46c8f38d98d55c7fb72dca85859c6ae822f4b7aa441ea996dee12e11653c6f156575a1779437690d64b6101052ef12716e2dfbe046d0962b9a WHIRLPOOL d63e725ed25ffd8a219d97d1790ecf8bf44417c224ace98a5af743b84314914f50e8208fa5358fe31818fe865b01cb55e8841d879438a29bed30ff099b6e0e90
+AUX qtwebengine-5.7.0-fix-system-ffmpeg.patch 953 SHA256 046d2d09cb50a5b580a445edaf4545481e3575c30c1ba3197182f1e0f71e6478 SHA512 7fe43758f0f20ce1d4952d36773fede8def13c60dc4ac01186ef0d1b79055f02151a89e94c61b6dbe5e0a0560e53e3a27c2f40aaba181704b752b3618b3f3b9f WHIRLPOOL 64a566562652e4c7754a634de5ea4f4d64fe54033223157645d5efb64a0784a0e45c00785c4fa30f95adfeb9c830189f5796465b94ee834b04b11c3f871ad1e7
+AUX qtwebengine-5.7.0-gcc6.patch 3967 SHA256 1f97985725bc1dd46602045c83c4ba67f593ac2a1fda1db8d8e8848baaf26608 SHA512 badeeb698ba2b5a9d02c4f0812d4d4557f1549e25b8eba321553c208e36054407f75450ca335884a7ee544e02847914b0d743b0a7687af1d5aa00fd29890ecfc WHIRLPOOL 385c917ad1c11e5b84f06320898b85f4078f95b8e254c3c67e9820756b232fca65675338307a3ee9d81d6acb1f52c4f4fafca5f09ce3cd914ace9b5173e160ca
+AUX qtwebengine-5.7.0-icu58.patch 3126 SHA256 0e9eaae292efd47c76a05e0380ffe8cc2f353f1a55fc1bf180a5313a529ab8cb SHA512 573741564c85dfa8df1f8b89f075214067f4892d9cc4280d986709c4438823a82ab1eb752b39fdae4e0321a0ae30479fce2ecacb4d35f197bc3699ee24583d67 WHIRLPOOL 79b02ab132b3dd56f70b6d8cb828605abbd27d33862556d1c22196c2b34ce7a9b0ff31dcc5d48b28f75a74888d96327cb572fdaca92284dd89ec4e2c23bbf6e7
+AUX qtwebengine-5.7.0-musl-mallinfo.patch 1522 SHA256 aa151b81bc4b744b9b8d9fae7fe1b1efcec60946c33d0608f297171b30d5bfea SHA512 ccf2a354a4d521385bf9edb73cc48ada146de2790b9c54d244a4498aeeb80965f230cfa698867630197f791021ff04407aaaffd3e06e40efebf54750a7e90afc WHIRLPOOL 53711f00cda7d09a9913ec07181a3378e27748a92175af1ed5e46a6b45566802f69412a07fb032198159c290b98ae084c088bd854d655ee985942baf1dc7c8a1
+AUX qtwebengine-5.7.0-musl-pthread-setname.patch 1173 SHA256 a18740a277fd9379ee57da1af203248efb23c429173d6ffad486da699fcbfc8c SHA512 da3baa6981b8897cf7dd30dc8d8889d2e3d23dc85bf4c27f9ea43c978be74ea380dba1362a3e131d810bd120013c8c6652cba0c5a56537b4a5aa89f7bec2479c WHIRLPOOL 21fbb93fef680b4c8610fb2de843f51274dc198714e12102f706db6f98e3cfb9f760001bf06a1bafa0fe3441849dce1b39553fbc85d6767be4a4c2ff496242a0
+AUX qtwebengine-5.7.0-musl-resolver.patch 2568 SHA256 07a3ee87d509e8dc963b8d60c5168a8dd615be7488c5aa23c1f993922ff38b96 SHA512 8913b0daf060f9f3ed7fb3e69f3108992d078394e9a3e1a02f0d7668bcbb8cb7f8df715b7b3463f2ac35765a2fafe2ae8407669ecdf84405b9a3cc90bf845891 WHIRLPOOL df4ed38e8dfe407c430ce58a2006192345b35952be209ef51fb6661070ba96f86a9b60c180ac7374beb4780546c230b2d7dbbb59cc054c2d34fb0d33f9d8b42a
+AUX qtwebengine-5.7.0-musl-sandbox.patch 3185 SHA256 b4e616a6159a237e4ee0455e45e75c95702314f1ae42bfd3068a92ba1575ac01 SHA512 80a3c5eddf29cdf9beac3cd4e0c3d450ab32d85dbe794d2055d0abe0e1242db0fc69a44df7cf250d3ecf9a93a7e1d15d460a1d2409e65ceae1ac5c189f055918 WHIRLPOOL 6d4e1b055ce739e5b9f7d0235a7b628a52aebe03014e8f09e83968b2d1ddbb614ee00e4f8ffa792c6305822e759bd24265f1b63c5fae78834da6c1dcbb123305
+AUX qtwebengine-5.7.0-undef-madv_free.patch 1132 SHA256 2490dcbad1ec31a7eadf872ce0e63cbf9c12f8b9fa65f2f8b030274e283c0198 SHA512 1f581749438b07df03f8123957b31d2749a702c00dae06d5c4ab8bd9a4a3d9f14ee0457f5fa9221e7b1d0dc4eac8965990336140f09787df4e46757165b1e22e WHIRLPOOL 0c4404fd40e5fa3fdc55c11bac0f76843fb174b1048d24b0b934d0ecbe664ff7b04f03c09a1cb08df0a30622adcd515e837cbabee77c699eeecc87785f3ec354
+AUX qtwebengine-paxmark-mksnapshot.patch 1478 SHA256 540ab83071df14d5fc6881dcf6fc28a2daaa46584e9b0c3ad45b584c612f16af SHA512 3ad5312be5d0a1e08df9d5f25256678c12373d64a99f0d7fb0f96b711f719775328feb554144ac5cde22f8226a7b8d62bd07287270da613db09a1ed3c3303019 WHIRLPOOL d70127c7ef2e2262557b62aa0fd8709c90aed5e0143e43c8c53dd817378dd7accefe2dccdc9b90a740fa3d49f40a3438a4a1438f51995da86bdfba816aa319bb
DIST qtwebengine-opensource-src-5.6.1-1.tar.xz 143729228 SHA256 c80e90237bb7bd52a3fa843415c17a8e8e6d779b65efd1393472f24f8642e04c SHA512 4612221fafd16c2d5ce38965bb264d2577b20b1c342792f34729e8a26978e9e430dc1425291530dfad254be5b3b42ebdafdec084c5d25edb23fc61bb3f71ac6f WHIRLPOOL dc05495c1afe755e51961c314b3305b43add7eee149816a0be3ab22b9a2ae10b54ebf5ca2861eaf8768e619c44533b35bd94645e12f94eb39cb5b9c8b19c1667
DIST qtwebengine-opensource-src-5.6.2.tar.xz 143752452 SHA256 2f0a1648e1a8b22bad0134f2b37d69d185074393c398c1a3c6a83b910ff39740 SHA512 c30a270bfb254a18d4b89af8ae28789912d6157cd58010b6838461c332c32c667c15b683d290fd14615b9f0be20aca9957bd8657c4abaa8d77c28278c58f7282 WHIRLPOOL 94e627c369cfa18a7c878f75007698839aa1cd1b10df4de8e42b2f393dcd2dedec33930c1fa41c50bfa39e63089d66c7c5d0861ea7093356b1cc2e93a605893e
+DIST qtwebengine-opensource-src-5.7.0.tar.xz 165709640 SHA256 985762fff5cd8a1a0d2a644a4a51238676898685f9ff1a78c3f2800025d6dc5d SHA512 8f010ea8d7047880c0bc941749a4172deae0f363ff25e00412291ad2bb243ac4c51031403eae0bba11b4f42c3e3d414858d29e3a3fb0459703dcaaff9b7133cd WHIRLPOOL 112f80f8cc279d743641095f47512a95d43286c1fe32c678a5ada810a7da12b1ef6e4483401e1a08c32d7e0d6e23369c65fbaeeee5f9a4bc34e330f59359e648
EBUILD qtwebengine-5.6.1.ebuild 2399 SHA256 cf87e113dd9b731ab1a2c7ab6e2b94bf54a041d0d890725a7c48c0073447442c SHA512 f31ea3257a6153bfbd9a3ab9ed2ad7b4703ab7c76305be6b41451123b02537aaab07ca13967c586cbb76e1c9f989c03ec50c774443be8a6acd6d0ac37ea6fa32 WHIRLPOOL 14f86450d5c323d12592876bd9e7fc9c8cdfced1473415c41e17e15c89a3ed43818aa9db9ec49486bfbfb600c8ab03bf4a7333445a359b124ece4fcd6146f1a5
-EBUILD qtwebengine-5.6.2.ebuild 2402 SHA256 f0f1538be1af933089d9840ebf5a3fcf5feb53157eb248af5a4a26810c94cbf3 SHA512 a85bfe1f11a1e440d3d19e743c9305f784782836f19ec98ae363331683528f1bf0f8a42a0955c98055108de5762a2499aeeb9e27969c0ae3c7548e268b6be62f WHIRLPOOL 91c3028e85f65d571130683ef0a16dece6486ae5e7c749a3ca8c1b3f67c747e7121953c4a9a48b7f08dc3c95023d3f050197b82367978e1f66cbd348f5931084
-MISC metadata.xml 871 SHA256 1ecf17250e1d38e8f4facd8799f66f07ffdaade07f6afac35b5c0ad09687c346 SHA512 18a992c67d1a0260255226452bafb17485f1e0782eed1c031da8404055186c9b6e410e74d2d9bcd4105431ad4e2c6acd5ce1759201009e5dfc2285c72e53df87 WHIRLPOOL 74e04078eaf03693c25e89fe51f4a6785ac91c92db7b049bdd7a0e179f13ae9b31264332b5bbdcca60e1c799c1751a32756b76baca5426820f4a7a01adc6ca98
+EBUILD qtwebengine-5.6.2.ebuild 2779 SHA256 882e1a4a73498fd8512292950cb54b21d4dcb7b4b93db33be1152cd8c19e40d9 SHA512 0afbd02907494f78821208c361e9f47d1bdbc23e67d53a3ab6b1ee93aac2d50bcb0cea5e334c0f9f31e8cdb274995273666d795924f1a18dd889104588435642 WHIRLPOOL 38658acff380c65b30e2d5127a25eb73e012618196e6e95418bd5178544a1f6d29024a83f7d7339e57345d854960351d65d1776bf7981236075b0204aa491a8f
+EBUILD qtwebengine-5.7.0.ebuild 3022 SHA256 31c40dfe70ba0fe129b87e999270c825c50a2edd5ee5c86fadf3c4085e88f816 SHA512 4dcf2d5e2629b9a3d94e6e4a58736bd722e6c0be91795ec2950bd9e7cd15247671afc1c4656a17e857840907305a0da9ae762dfb8c3797ed2714301494f8ffc5 WHIRLPOOL 51015b24cb6a5a712f65f1a5f302464726109e53d1fbd5f040ee05bd73621b695d69350acaa62499958c038fc3f2109e90069fdd8f58e006f995f66a5fba7b4a
+MISC metadata.xml 947 SHA256 15083351c49bbcf033829248688471002ca7990644535e1228c5f29396839026 SHA512 a53fa56d2922b8abb2b10193ebc3cb61923697d9c1ddbb583f0d06886dc357604c192cbbbc2849a976be189a41473069b1931434d057b9c9d5b91c7333680224 WHIRLPOOL 7db472885a977071531059312cb171ceffe119900e68bf20a6de6aca9d90336b21067a47e71e80e2d79fc54193b0aa276d74e96b98d3001e58be3c7d0840f8a8
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch
new file mode 100644
index 00000000..71881e0f
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch
@@ -0,0 +1,13 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h 2016-11-23 13:01:20.929772871 -0800
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.h 2016-11-23 13:02:18.879462854 -0800
+@@ -24,7 +24,9 @@
+ // Disable deprecated features which result in spammy compile warnings. This
+ // list of defines must mirror those in the 'defines' section of BUILD.gn file &
+ // ffmpeg.gyp file or the headers below will generate different structures!
++#if !defined(USE_SYSTEM_FFMPEG)
+ #define FF_API_CONVERGENCE_DURATION 0
++#endif
+ // Upstream libavcodec/utils.c still uses the deprecated
+ // av_dup_packet(), causing deprecation warnings.
+ // The normal fix for such things is to disable the feature as below,
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-gcc6.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-gcc6.patch
new file mode 100644
index 00000000..2cc53e61
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-gcc6.patch
@@ -0,0 +1,106 @@
+From cffcf22082879939bbcfa89e88057beda829a0a7 Mon Sep 17 00:00:00 2001
+From: David Faure <david.faure@kdab.com>
+Date: Sat, 3 Sep 2016 18:01:40 +0200
+Subject: gcc6: set -fno-delete-null-pointer-checks for all files
+
+Not just v8, as v8_no_delete_null_pointer_checks does.
+This is necessary e.g. for PaintLayer::enclosingSelfPaintingLayer
+which also compares this with null.
+
+I'll remove v8_no_delete_null_pointer_checks in a later commit
+to avoid a temporary breakage until qtwebengine is updated.
+
+Change-Id: I8782fadc8fab125b5394bd60857e70c6ae75f9b0
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+(cherry picked from commit c42f53ec3ca90bfd98577988462ed51464feebe3)
+---
+ chromium/build/common.gypi | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/3rdparty/chromium/build/common.gypi b/src/3rdparty/chromium/build/common.gypi
+index b6a0284..d768ab3 100644
+--- a/src/3rdparty/chromium/build/common.gypi
++++ b/src/3rdparty/chromium/build/common.gypi
+@@ -4702,6 +4706,9 @@
+ '-Wl,--disable-new-dtags',
+ ],
+ }],
++ [ 'no_delete_null_pointer_checks==1', {
++ 'cflags_cc': [ '-fno-delete-null-pointer-checks' ],
++ }],
+ ['clang==0', {
+ 'target_conditions': [
+ ['_toolset=="target"', {
+--
+cgit v1.0-4-g1e03
+
+From ae73e50e7d8c1371ed293c10150646a2719f4598 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+Date: Wed, 14 Sep 2016 17:40:50 +0200
+Subject: FIXUP: gcc6: set -fno-delete-null-pointer-checks for all files
+
+Set a default and pull in the value from configuration, and
+remove the old v8 only version.
+
+Change-Id: Ica9f971baa28c717178eb2acd074607424792e1d
+Reviewed-by: David Faure <david.faure@kdab.com>
+---
+ chromium/build/common.gypi | 4 ++++
+ chromium/v8/build/toolchain.gypi | 7 -------
+ 2 files changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/3rdparty/chromium/build/common.gypi b/src/3rdparty/chromium/build/common.gypi
+index d768ab3..8a1df22 100644
+--- a/src/3rdparty/chromium/build/common.gypi
++++ b/src/3rdparty/chromium/build/common.gypi
+@@ -727,6 +727,9 @@
+ # By default include non-appstore-compliant code.
+ 'appstore_compliant_code%': 0,
+
++ # Enable this to turn off the delete-null-pointer-checks optimization in GCC 6+
++ 'no_delete_null_pointer_checks%': 0,
++
+ 'conditions': [
+ # A flag for POSIX platforms
+ ['OS=="win"', {
+@@ -1271,6 +1274,7 @@
+ 'enable_hangout_services_extension%' : '<(enable_hangout_services_extension)',
+ 'proprietary_codecs%': '<(proprietary_codecs)',
+ 'appstore_compliant_code%': '<(appstore_compliant_code)',
++ 'no_delete_null_pointer_checks%': '<(no_delete_null_pointer_checks)',
+ 'use_goma%': '<(use_goma)',
+ 'gomadir%': '<(gomadir)',
+ 'use_lto%': '<(use_lto)',
+--
+cgit v1.0-4-g1e03
+
+From d6c8a2cf8fa374e6d1c0a578391b57112c047fa4 Mon Sep 17 00:00:00 2001
+From: David Faure <david.faure@kdab.com>
+Date: Mon, 5 Sep 2016 15:25:02 +0200
+Subject: Enable -fno_delete_null_pointer_checks for g++ 6 on all of chromium
+
+This is necessary e.g. for PaintLayer::enclosingSelfPaintingLayer
+which also compares this with null.
+
+Change-Id: I85d69432a0d7eeb0d8df8f395821880e36180dcc
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+---
+ src/core/config/linux.pri | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
+index 9264932..a318e17 100644
+--- a/src/core/config/linux.pri
++++ b/src/core/config/linux.pri
+@@ -29,6 +29,8 @@ use?(nss) {
+ use_openssl_certs=1
+ }
+
++gcc:!clang: greaterThan(QT_GCC_MAJOR_VERSION, 5): GYP_CONFIG += no_delete_null_pointer_checks=1
++
+ contains(QT_CONFIG, system-zlib): use?(system_minizip): GYP_CONFIG += use_system_zlib=1
+ contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1
+ contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1
+--
+cgit v1.0-4-g1e03
+
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch
new file mode 100644
index 00000000..ced5367c
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch
@@ -0,0 +1,51 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp 2016-11-15 17:07:38.680665385 -0800
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/WebKit/Source/platform/text/TextBreakIterator.cpp 2016-11-15 17:12:17.564001354 -0800
+@@ -26,6 +26,9 @@
+ #include "wtf/StdLibExtras.h"
+ #include "wtf/text/CharacterNames.h"
+
++#include <unicode/uchar.h>
++#include <unicode/uvernum.h>
++
+ namespace blink {
+
+ unsigned numGraphemeClusters(const String& string)
+@@ -122,13 +125,18 @@
+ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0), 0, 0, 0, B(0, 0, 0, 0, 0, 0, 0, 0) }, // DEL
+ };
+
++#if U_ICU_VERSION_MAJOR_NUM >= 58
++#define BA_LB_COUNT (U_LB_COUNT - 3)
++#else
++#define BA_LB_COUNT U_LB_COUNT
++#endif
+ // Line breaking table for CSS word-break: break-all. This table differs from
+ // asciiLineBreakTable in:
+ // - Indices are Line Breaking Classes defined in UAX#14 Unicode Line Breaking
+ // Algorithm: http://unicode.org/reports/tr14/#DescriptionOfProperties
+ // - 1 indicates additional break opportunities. 0 indicates to fallback to
+ // normal line break, not "prohibit break."
+-static const unsigned char breakAllLineBreakClassTable[][U_LB_COUNT / 8 + 1] = {
++static const unsigned char breakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
+ // XX AI AL B2 BA BB BK CB CL CM CR EX GL HY ID IN IS LF NS NU OP PO PR QU SA SG SP SY ZW NL WJ H2 H3 JL JT JV CP CJ HL RI
+ { B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 0, 0) }, // XX
+ { B(0, 1, 1, 0, 1, 0, 0, 0), B(0, 0, 0, 0, 0, 1, 0, 0), B(0, 0, 0, 1, 1, 0, 1, 0), B(1, 0, 0, 0, 0, 0, 0, 0), B(0, 0, 0, 0, 0, 0, 1, 0) }, // AI
+@@ -178,7 +186,7 @@
+ #undef AL
+
+ static_assert(WTF_ARRAY_LENGTH(asciiLineBreakTable) == asciiLineBreakTableLastChar - asciiLineBreakTableFirstChar + 1, "asciiLineBreakTable should be consistent");
+-static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == U_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
++static_assert(WTF_ARRAY_LENGTH(breakAllLineBreakClassTable) == BA_LB_COUNT, "breakAllLineBreakClassTable should be consistent");
+
+ static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh)
+ {
+@@ -209,7 +217,7 @@
+
+ static inline bool shouldBreakAfterBreakAll(ULineBreak lastLineBreak, ULineBreak lineBreak)
+ {
+- if (lineBreak >= 0 && lineBreak < U_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < U_LB_COUNT) {
++ if (lineBreak >= 0 && lineBreak < BA_LB_COUNT && lastLineBreak >= 0 && lastLineBreak < BA_LB_COUNT) {
+ const unsigned char* tableRow = breakAllLineBreakClassTable[lastLineBreak];
+ return tableRow[lineBreak / 8] & (1 << (lineBreak % 8));
+ }
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-mallinfo.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-mallinfo.patch
new file mode 100644
index 00000000..43ddac53
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-mallinfo.patch
@@ -0,0 +1,24 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc 2016-10-06 22:02:53.540968618 -0700
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc 2016-10-06 22:07:22.631008903 -0700
+@@ -61,7 +61,7 @@
+ // fixed quantum, so the excess region will not be resident.
+ // See crrev.com/1531463004 for detailed explanation.
+ resident_size = stats.max_size_in_use;
+-#else
++#elif defined(__GLIBC__)
+ struct mallinfo info = mallinfo();
+ DCHECK_GE(info.arena + info.hblkhd, info.uordblks);
+
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/content/child/content_child_helpers.cc qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/content/child/content_child_helpers.cc
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/content/child/content_child_helpers.cc 2016-10-06 22:03:03.098035960 -0700
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/content/child/content_child_helpers.cc 2016-10-06 22:06:05.905348789 -0700
+@@ -18,7 +18,7 @@
+
+ namespace content {
+
+-#if defined(OS_LINUX) || defined(OS_ANDROID)
++#if (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_ANDROID)
+ size_t GetMemoryUsageKB() {
+ struct mallinfo minfo = mallinfo();
+ uint64_t mem_usage =
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-pthread-setname.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-pthread-setname.patch
new file mode 100644
index 00000000..a984f97c
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-pthread-setname.patch
@@ -0,0 +1,25 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_userspace.c qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_userspace.c
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_userspace.c 2016-10-07 08:13:22.385902742 -0700
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_userspace.c 2016-10-07 08:14:48.045335758 -0700
+@@ -37,6 +37,9 @@
+ #if defined(__Userspace_os_FreeBSD)
+ #include <pthread_np.h>
+ #endif
++#if defined(__Userspace_os_Linux) && !defined(__GLIBC__)
++#include <sys/prctl.h>
++#endif
+
+ #if defined(__Userspace_os_Windows)
+ /* Adapter to translate Unix thread start routines to Windows thread start
+@@ -72,7 +75,11 @@
+ pthread_setname_np(name);
+ #endif
+ #if defined(__Userspace_os_Linux)
++#if defined(__GLIBC__)
+ pthread_setname_np(pthread_self(), name);
++#else
++ prctl(PR_SET_NAME, name);
++#endif
+ #endif
+ #if defined(__Userspace_os_FreeBSD)
+ pthread_set_name_np(pthread_self(), name);
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-resolver.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-resolver.patch
new file mode 100644
index 00000000..b6bdec57
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-resolver.patch
@@ -0,0 +1,60 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc 2016-10-06 21:21:24.505574899 -0700
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc 2016-10-06 21:26:35.597302630 -0700
+@@ -25,6 +25,10 @@
+ #include "net/dns/notify_watcher_mac.h"
+ #include "net/dns/serial_worker.h"
+
++#if defined(OS_LINUX) && !defined(__GLIBC__)
++#include "net/dns/resolv_compat.h"
++#endif
++
+ #if defined(OS_MACOSX) && !defined(OS_IOS)
+ #include "net/dns/dns_config_watcher_mac.h"
+ #endif
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/net/dns/dns_reloader.cc qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/net/dns/dns_reloader.cc
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/net/dns/dns_reloader.cc 2016-10-06 21:21:24.506574908 -0700
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/net/dns/dns_reloader.cc 2016-10-06 21:27:43.025896377 -0700
+@@ -8,6 +8,9 @@
+ !defined(OS_ANDROID)
+
+ #include <resolv.h>
++#if defined(OS_LINUX) && !defined(__GLIBC__)
++#include "net/dns/resolv_compat.h"
++#endif
+
+ #include "base/lazy_instance.h"
+ #include "base/logging.h"
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/net/dns/resolv_compat.h qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/net/dns/resolv_compat.h
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/net/dns/resolv_compat.h 1969-12-31 16:00:00.000000000 -0800
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/net/dns/resolv_compat.h 2016-10-06 21:26:35.597302630 -0700
+@@ -0,0 +1,29 @@
++#if !defined(__GLIBC__)
++/***************************************************************************
++ * resolv_compat.h
++ *
++ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc
++ * Note: res_init() is actually deprecated according to
++ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html
++ **************************************************************************/
++#include <string.h>
++
++static inline int res_ninit(res_state statp)
++{
++ int rc = res_init();
++ if (statp != &_res) {
++ memcpy(statp, &_res, sizeof(*statp));
++ }
++ return rc;
++}
++
++static inline int res_nclose(res_state statp)
++{
++ if (!statp)
++ return -1;
++ if (statp != &_res) {
++ memset(statp, 0, sizeof(*statp));
++ }
++ return 0;
++}
++#endif
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-sandbox.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-sandbox.patch
new file mode 100644
index 00000000..e6c71d14
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-musl-sandbox.patch
@@ -0,0 +1,66 @@
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2016-10-07 20:26:54.170418460 -0700
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2016-10-07 20:28:30.342515797 -0700
+@@ -116,21 +116,13 @@
+ const Arg<unsigned long> flags(0);
+
+ // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2.
+- const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES |
+- CLONE_SIGHAND | CLONE_THREAD |
+- CLONE_SYSVSEM;
+- const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED;
++ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
++ CLONE_THREAD | CLONE_SYSVSEM;
++ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID |
++ CLONE_DETACHED;
++ const BoolExpr thread_clone_ok = (flags & ~safe) == required;
+
+- const uint64_t kGlibcPthreadFlags =
+- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD |
+- CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID;
+- const BoolExpr glibc_test = flags == kGlibcPthreadFlags;
+-
+- const BoolExpr android_test =
+- AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask,
+- flags == kGlibcPthreadFlags);
+-
+- return If(IsAndroid() ? android_test : glibc_test, Allow())
++ return If(thread_clone_ok, Allow())
+ .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM))
+ .Else(CrashSIGSYSClone());
+ }
+diff -Naur qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+--- qtwebengine-opensource-src-5.7.0.orig/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc 2016-10-07 20:26:54.169418448 -0700
++++ qtwebengine-opensource-src-5.7.0/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc 2016-10-07 20:29:16.430041661 -0700
+@@ -414,6 +414,7 @@
+ case __NR_epoll_create:
+ case __NR_epoll_wait:
+ #endif
++ case __NR_epoll_pwait:
+ case __NR_epoll_create1:
+ case __NR_epoll_ctl:
+ return true;
+@@ -421,7 +422,6 @@
+ #if defined(__x86_64__)
+ case __NR_epoll_ctl_old:
+ #endif
+- case __NR_epoll_pwait:
+ #if defined(__x86_64__)
+ case __NR_epoll_wait_old:
+ #endif
+@@ -494,6 +494,7 @@
+ case __NR_mlock:
+ case __NR_munlock:
+ case __NR_munmap:
++ case __NR_mremap:
+ return true;
+ case __NR_madvise:
+ case __NR_mincore:
+@@ -509,7 +510,6 @@
+ case __NR_modify_ldt:
+ #endif
+ case __NR_mprotect:
+- case __NR_mremap:
+ case __NR_msync:
+ case __NR_munlockall:
+ case __NR_readahead:
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch
new file mode 100644
index 00000000..193e7136
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch
@@ -0,0 +1,33 @@
+From fa8cdb3a32c377b6290d0a92d2522186bcd48293 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+Date: Tue, 9 Aug 2016 16:21:29 +0200
+Subject: Do not depend on Linux 4.5
+
+Avoid using MADV_FREE that was only recently added to Linux. It will fail when
+run on older Linux kernels.
+
+Change-Id: I9b0369fb31402f088b2327c12f70dd39f5e4c8c0
+Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
+---
+ chromium/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
+index 12c9a7b..1639013 100644
+--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
++++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
+@@ -39,6 +39,11 @@
+
+ #include <sys/mman.h>
+
++#if OS(LINUX) && defined(MADV_FREE)
++// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime
++#undef MADV_FREE
++#endif
++
+ #ifndef MADV_FREE
+ #define MADV_FREE MADV_DONTNEED
+ #endif
+--
+cgit v1.0-4-g1e03
+
diff --git a/dev-qt/qtwebengine/files/qtwebengine-paxmark-mksnapshot.patch b/dev-qt/qtwebengine/files/qtwebengine-paxmark-mksnapshot.patch
new file mode 100644
index 00000000..c71cedc2
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-paxmark-mksnapshot.patch
@@ -0,0 +1,46 @@
+--- qtwebengine-opensource-src-5.6.0-orig/src/3rdparty/chromium/v8/tools/gyp/v8.gyp 2016-03-04 01:48:36.000000000 +1100
++++ qtwebengine-opensource-src-5.6.0/src/3rdparty/chromium/v8/tools/gyp/v8.gyp 2016-05-01 19:15:44.052770543 +1000
+@@ -33,6 +33,7 @@
+ 'embed_script%': "",
+ 'v8_extra_library_files%': [],
+ 'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
++ 'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
+ 'remove_v8base_debug_symbols%': 0,
+ },
+ 'includes': ['../../build/toolchain.gypi', '../../build/features.gypi'],
+@@ -1913,7 +1914,7 @@
+ ]
+ },
+ {
+- 'target_name': 'mksnapshot',
++ 'target_name': 'mksnapshot_u',
+ 'type': 'executable',
+ 'dependencies': ['v8_base', 'v8_nosnapshot', 'v8_libplatform'],
+ 'include_dirs+': [
+@@ -1936,5 +1937,26 @@
+ }],
+ ],
+ },
++ {
++ 'target_name': 'mksnapshot',
++ 'type': 'executable',
++ 'dependencies': ['mksnapshot_u'],
++ 'actions': [
++ {
++ 'action_name': 'paxmark_m_mksnapshot',
++ 'inputs': [
++ '<(mksnapshot_u_exec)',
++ ],
++ 'outputs': [
++ '<(mksnapshot_exec)',
++ ],
++ 'action': [
++ 'sh',
++ '-c',
++ 'cp <(mksnapshot_u_exec) <(mksnapshot_exec) && paxmark.sh m <(mksnapshot_exec)',
++ ],
++ },
++ ],
++ },
+ ],
+ }
diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml
index 881cc175..9c08bb1f 100644
--- a/dev-qt/qtwebengine/metadata.xml
+++ b/dev-qt/qtwebengine/metadata.xml
@@ -8,6 +8,7 @@
<use>
<flag name="geolocation">Enable physical position determination
via <pkg>dev-qt/qtpositioning</pkg></flag>
+ <flag name="pax_kernel">Enable building under a PaX enabled kernel</flag>
<flag name="system-ffmpeg">Use the system-wide <pkg>media-video/ffmpeg</pkg>
instead of bundled.</flag>
<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg>
diff --git a/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild
index b50b4b8b..0aa8ce06 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild
@@ -4,7 +4,7 @@
EAPI=6
PYTHON_COMPAT=( python2_7 )
-inherit python-any-r1 qt5-build
+inherit pax-utils python-any-r1 qt5-build
DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
@@ -12,7 +12,7 @@ if [[ ${QT5_BUILD_TYPE} == release ]]; then
KEYWORDS="~amd64 ~x86"
fi
-IUSE="bindist geolocation +system-ffmpeg +system-icu widgets"
+IUSE="bindist geolocation pax_kernel +system-ffmpeg +system-icu widgets"
RDEPEND="
app-arch/snappy
@@ -40,7 +40,7 @@ RDEPEND="
media-libs/mesa
media-libs/opus
media-libs/speex
- net-libs/libsrtp:=
+ net-libs/libsrtp:0=
sys-apps/dbus
sys-apps/pciutils
sys-libs/libcap
@@ -68,6 +68,7 @@ DEPEND="${RDEPEND}
dev-util/ninja
dev-util/re2c
sys-devel/bison
+ pax_kernel? ( sys-apps/elfix )
"
PATCHES=(
@@ -82,6 +83,13 @@ PATCHES=(
)
src_prepare() {
+ use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-paxmark-mksnapshot.patch" )
+
+ if use system-icu; then
+ # ensuire build against system headers - bug #601264
+ rm -r src/3rdparty/chromium/third_party/icu/source || die
+ fi
+
qt_use_disable_mod geolocation positioning \
src/core/core_common.pri \
src/core/core_gyp_generator.pro
@@ -101,3 +109,9 @@ src_configure() {
)
qt5-build_src_configure
}
+
+src_install() {
+ qt5-build_src_install
+
+ pax-mark m "${D%/}${QT5_LIBEXECDIR}"/QtWebEngineProcess
+}
diff --git a/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild b/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild
new file mode 100644
index 00000000..8fffc943
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.7.0.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit pax-utils python-any-r1 qt5-build
+
+DESCRIPTION="Library for rendering dynamic web content in Qt5 C++ and QML applications"
+
+if [[ ${QT5_BUILD_TYPE} == release ]]; then
+ KEYWORDS="~amd64 ~x86"
+fi
+
+IUSE="bindist geolocation pax_kernel +system-ffmpeg +system-icu widgets"
+
+RDEPEND="
+ app-arch/snappy
+ dev-libs/glib:2
+ dev-libs/nspr
+ dev-libs/nss
+ ~dev-qt/qtcore-${PV}
+ ~dev-qt/qtdeclarative-${PV}
+ ~dev-qt/qtgui-${PV}
+ ~dev-qt/qtnetwork-${PV}
+ ~dev-qt/qtwebchannel-${PV}[qml]
+ dev-libs/expat
+ dev-libs/jsoncpp:=
+ dev-libs/libevent:=
+ dev-libs/libxml2
+ dev-libs/libxslt
+ media-libs/alsa-lib
+ media-libs/flac
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz:=
+ media-libs/libpng:0=
+ >=media-libs/libvpx-1.4:=
+ media-libs/libwebp:=
+ media-libs/mesa
+ media-libs/opus
+ media-libs/speex
+ net-libs/libsrtp:0=
+ sys-apps/dbus
+ sys-apps/pciutils
+ sys-libs/libcap
+ sys-libs/zlib[minizip]
+ x11-libs/libdrm
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXcursor
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ x11-libs/libXScrnSaver
+ x11-libs/libXtst
+ geolocation? ( ~dev-qt/qtpositioning-${PV} )
+ system-ffmpeg? ( media-video/ffmpeg:0= )
+ system-icu? ( dev-libs/icu:= )
+ widgets? ( ~dev-qt/qtwidgets-${PV} )
+"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-util/gperf
+ dev-util/ninja
+ dev-util/re2c
+ sys-devel/bison
+ pax_kernel? ( sys-apps/elfix )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.7.0-fix-system-ffmpeg.patch"
+ "${FILESDIR}/${PN}-5.7.0-gcc6.patch"
+ "${FILESDIR}/${PN}-5.7.0-icu58.patch"
+ "${FILESDIR}/${PN}-5.7.0-undef-madv_free.patch"
+
+ # musl patches
+ "${FILESDIR}/${PN}-5.6.0-musl-execinfo.patch"
+ "${FILESDIR}/${PN}-5.7.0-musl-mallinfo.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-off_t.patch"
+ "${FILESDIR}/${PN}-5.7.0-musl-pthread-setname.patch"
+ "${FILESDIR}/${PN}-5.7.0-musl-resolver.patch"
+ "${FILESDIR}/${PN}-5.7.0-musl-sandbox.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-siginfo.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-stack.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-sysctl.patch"
+)
+
+src_prepare() {
+ use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-paxmark-mksnapshot.patch" )
+
+ if use system-icu; then
+ # ensuire build against system headers - bug #601264
+ rm -r src/3rdparty/chromium/third_party/icu/source || die
+ fi
+
+ qt_use_disable_mod geolocation positioning \
+ src/core/core_common.pri \
+ src/core/core_gyp_generator.pro
+
+ qt_use_disable_mod widgets widgets src/src.pro
+
+ qt5-build_src_prepare
+}
+
+src_configure() {
+ export NINJA_PATH=/usr/bin/ninja
+
+ local myqmakeargs=(
+ $(usex bindist '' 'WEBENGINE_CONFIG+=use_proprietary_codecs')
+ $(usex system-ffmpeg 'WEBENGINE_CONFIG+=use_system_ffmpeg' '')
+ $(usex system-icu 'WEBENGINE_CONFIG+=use_system_icu' '')
+ )
+ qt5-build_src_configure
+}
+
+src_install() {
+ qt5-build_src_install
+
+ pax-mark m "${D%/}${QT5_LIBEXECDIR}"/QtWebEngineProcess
+}