aboutsummaryrefslogtreecommitdiff
path: root/dev-qt
diff options
context:
space:
mode:
authorAric Belsito <lluixhi@gmail.com>2016-11-09 11:45:23 -0800
committerAric Belsito <lluixhi@gmail.com>2016-11-09 11:45:23 -0800
commit0b8ca591583ef3662a2e1509f67e49fe2680a59a (patch)
tree321da46c85e2d1b47f5e5e556c99a691b3339822 /dev-qt
parentdev-qt/qtwebkit: Add the rest of 5.x, fix (diff)
downloadmusl-0b8ca591583ef3662a2e1509f67e49fe2680a59a.tar.gz
musl-0b8ca591583ef3662a2e1509f67e49fe2680a59a.tar.bz2
musl-0b8ca591583ef3662a2e1509f67e49fe2680a59a.zip
dev-qt/qtwebengine: Add stable and unstable.
5.7.0 is still a work in progress. The patches are mostly adapted from voidlinux/chromium patches.
Diffstat (limited to 'dev-qt')
-rw-r--r--dev-qt/qtwebengine/Manifest13
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-execinfo.patch78
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-mallinfo.patch32
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-off_t.patch11
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-resolver.patch60
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-sandbox.patch12
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-siginfo.patch18
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-stack.patch31
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-sysctl.patch11
-rw-r--r--dev-qt/qtwebengine/metadata.xml26
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.6.1.ebuild103
-rw-r--r--dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild103
12 files changed, 498 insertions, 0 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest
new file mode 100644
index 00000000..9d87ef05
--- /dev/null
+++ b/dev-qt/qtwebengine/Manifest
@@ -0,0 +1,13 @@
+AUX qtwebengine-5.6.0-musl-execinfo.patch 3083 SHA256 a91a0e002ac79559b1ded87044f530408d0ab662c61ccea8aa971a25504fa260 SHA512 3a0c5db26b748b5a2218dbc0a153a4da1806e5752b50d3114e7cb1897101ceb3cc785ff453e906056b7e1ff7498b5735d8db9bebbbf43fa8a489f5fb19042377 WHIRLPOOL a7ddfd98c2e36c21a10408a51ef6a4d5797636e4ba74ed2477a763319c3b9d01ae3b4731dedba3cb72d80c6b0a1956703a472a579c4a1286b285ac15a8db7521
+AUX qtwebengine-5.6.0-musl-mallinfo.patch 1343 SHA256 b3168887df02c15f91d4d827f98adc77b4d8ebaf1eeee6c75308f65a2b465f62 SHA512 631a554e0c2aee47768cea0627b0f918f293df231a70dcf26caa93c87a46d61960dab4dffe42351a3e010810ab0f273fe02710bc4f2c71e9f595c9e5ea109c05 WHIRLPOOL b51c35d6526066a85aca5111d1f77acecb0a3e5ba3f8a743bb5c1639346d428ed48e91e1968bd53636b1be087daa56032571ba640211b2e5997caaa609ff0587
+AUX qtwebengine-5.6.0-musl-off_t.patch 627 SHA256 328d193b7994bd4d80d1cad08e24fa5c44405e374a23570c5f217a078e6b59d1 SHA512 82dd29bdf97a8ed18773cc503b0426e4ca57129adb04a34ce3eb069862df7b838e75941600cc5c4f69456d1f04a8ccca81533a05762e9cd16c84d0c941ee89a6 WHIRLPOOL 9475f2276ab2ad4d4d09924254ef27b490993af1f63cdc01e3cdce48f76876d0a37fe8cce7694c2e0aff8f07cf9fa9ea886fa3f79a926ddffb4040ffecb1d431
+AUX qtwebengine-5.6.0-musl-resolver.patch 2575 SHA256 7a1f86eebf8f0c949a051a3569ff27e344bbafe515b6fc4965bdbf63e978b263 SHA512 752af1be984255c9124ca71f180939c77a10fc461a1d2c78d185e4b94e72daffd7046f02fd78086ef1b33db17c9bc978b5fb1db6753a6853450b7b3d77c63562 WHIRLPOOL c85ef6e5e45566114a7caa1ef05d4fb21d173a3b5939db1234b3bbf36ab89beb4f753830a5d414916574500742157b3094ecf5b2e92bb1e8a103df11ae144a64
+AUX qtwebengine-5.6.0-musl-sandbox.patch 843 SHA256 632177e9e36713ef528165229b363f5ed9495c6c64effd42c799a9d4d1811040 SHA512 c8ee9ae67394d971f82f33cc6cbeba85598ad079caf014d7bba268283084fb0022bb0a4f2d254a6ba13478ad2cc4181d540ed696017ad19402de7bfdd3baafe8 WHIRLPOOL ec9b327f55c9c17e6f969515ddcdbe1d3e817303d775dcfc21b5687b355806237c311f46ac65173d99f7d65cc3f9c7f2f2cb84c654f157bcac100725e50947d4
+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
+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
+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
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-execinfo.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-execinfo.patch
new file mode 100644
index 00000000..0ef84e45
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-execinfo.patch
@@ -0,0 +1,78 @@
+--- qtwebengine/src/3rdparty/chromium/third_party/webrtc/base/checks.cc 2016-03-03 15:48:36.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/base/checks.cc 2016-03-17 01:56:11.685588906 +0100
+@@ -16,7 +16,7 @@
+ #include <cstdio>
+ #include <cstdlib>
+
+-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
++#if defined(__GLIBC__) && defined(__GLIBCXX__) && !defined(__UCLIBC__)
+ #include <cxxabi.h>
+ #include <execinfo.h>
+ #endif
+@@ -55,7 +55,7 @@
+ // to get usable symbols on Linux. This is copied from V8. Chromium has a more
+ // advanced stace trace system; also more difficult to copy.
+ void DumpBacktrace() {
+-#if defined(__GLIBCXX__) && !defined(__UCLIBC__)
++#if defined(__GLIBC__) && defined(__GLIBCXX__) && !defined(__UCLIBC__)
+ void* trace[100];
+ int size = backtrace(trace, sizeof(trace) / sizeof(*trace));
+ char** symbols = backtrace_symbols(trace, size);
+--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2016-03-03 15:48:36.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2016-03-17 02:23:45.442708132 +0100
+@@ -22,7 +22,7 @@
+ #if defined(__GLIBCXX__)
+ #include <cxxabi.h>
+ #endif
+-#if !defined(__UCLIBC__)
++#if defined(__GLIBC__) && !defined(__UCLIBC__)
+ #include <execinfo.h>
+ #endif
+
+@@ -169,7 +169,7 @@
+
+ handler->HandleOutput("\n");
+ }
+-#elif !defined(__UCLIBC__)
++#elif defined(__GLIBC__) && !defined(__UCLIBC__)
+ bool printed = false;
+
+ // Below part is async-signal unsafe (uses malloc), so execute it only
+@@ -738,7 +738,7 @@
+ // NOTE: This code MUST be async-signal safe (it's used by in-process
+ // stack dumping signal handler). NO malloc or stdio is allowed here.
+
+-#if !defined(__UCLIBC__)
++#if defined(__GLIBC__) && !defined(__UCLIBC__)
+ // Though the backtrace API man page does not list any possible negative
+ // return values, we take no chance.
+ count_ = base::saturated_cast<size_t>(backtrace(trace_, arraysize(trace_)));
+--- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp 2016-03-03 15:48:36.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp 2016-03-17 05:47:32.637589639 +0100
+@@ -61,7 +61,7 @@
+ #define HAVE_ISDEBUGGERPRESENT 1
+ #endif
+
+-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
++#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__) && defined(__GLIBC__))
+ #include <cxxabi.h>
+ #include <dlfcn.h>
+ #include <execinfo.h>
+@@ -222,7 +222,7 @@
+
+ void WTFGetBacktrace(void** stack, int* size)
+ {
+-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
++#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__) && defined(__GLIBC__))
+ *size = backtrace(stack, *size);
+ #elif OS(WIN)
+ // The CaptureStackBackTrace function is available in XP, but it is not defined
+@@ -260,7 +260,7 @@
+ : m_name(0)
+ , m_cxaDemangled(0)
+ {
+-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__))
++#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__) && defined(__GLIBC__))
+ Dl_info info;
+ if (!dladdr(addr, &info) || !info.dli_sname)
+ return;
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-mallinfo.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-mallinfo.patch
new file mode 100644
index 00000000..170064b4
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-mallinfo.patch
@@ -0,0 +1,32 @@
+In musl libc there is no struct mallinfo and no function mallinf()
+
+--- qtwebengine/src/3rdparty/chromium/content/child/content_child_helpers.cc 2015-06-05 04:52:18.502230985 +0200
++++ qtwebengine/src/3rdparty/chromium/content/child/content_child_helpers.cc 2015-06-05 04:52:06.712231020 +0200
+@@ -15,7 +15,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 =
+--- qtwebengine/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc 2016-03-03 15:48:36.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc 2016-03-17 05:09:41.409425897 +0100
+@@ -29,6 +29,7 @@
+ // Called at trace dump point time. Creates a snapshot the memory counters for
+ // the current process.
+ bool MallocDumpProvider::OnMemoryDump(ProcessMemoryDump* pmd) {
++#if defined(__GLIBC__)
+ struct mallinfo info = mallinfo();
+ DCHECK_GE(info.arena + info.hblkhd, info.uordblks);
+
+@@ -46,7 +47,7 @@
+ MemoryAllocatorDump* inner_dump = pmd->CreateAllocatorDump(kAllocatedObjects);
+ inner_dump->AddScalar(MemoryAllocatorDump::kNameSize,
+ MemoryAllocatorDump::kUnitsBytes, info.uordblks);
+-
++#endif
+ return true;
+ }
+
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-off_t.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-off_t.patch
new file mode 100644
index 00000000..f5e87484
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-off_t.patch
@@ -0,0 +1,11 @@
+diff -Naur qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h
+--- qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h 2016-07-28 18:44:48.921463425 -0700
++++ qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/third_party/ots/include/opentype-sanitiser.h 2016-07-29 12:44:27.881928176 -0700
+@@ -22,6 +22,7 @@
+ #else
+ #include <arpa/inet.h>
++#include <sys/types.h>
+ #include <stdint.h>
+ #endif
+
+ #include <algorithm>
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-resolver.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-resolver.patch
new file mode 100644
index 00000000..8e171bbf
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-resolver.patch
@@ -0,0 +1,60 @@
+diff -Naur qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/net/base/dns_reloader.cc qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/net/base/dns_reloader.cc
+--- qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/net/base/dns_reloader.cc 2016-07-28 17:16:00.113559841 -0700
++++ qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/net/base/dns_reloader.cc 2016-07-28 17:41:45.640212588 -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/basictypes.h"
+ #include "base/lazy_instance.h"
+diff -Naur qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc
+--- qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc 2016-07-28 17:16:00.187560625 -0700
++++ qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc 2016-07-28 17:41:45.640212588 -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.6.1.orig/src/3rdparty/chromium/net/dns/resolv_compat.h qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/net/dns/resolv_compat.h
+--- qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/net/dns/resolv_compat.h 1969-12-31 16:00:00.000000000 -0800
++++ qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/net/dns/resolv_compat.h 2016-07-28 17:43:07.714089231 -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.6.0-musl-sandbox.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-sandbox.patch
new file mode 100644
index 00000000..1de8a2da
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-sandbox.patch
@@ -0,0 +1,12 @@
+diff -Naur qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h
+--- qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h 2016-07-28 17:15:59.433552637 -0700
++++ qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/sandbox/linux/bpf_dsl/seccomp_macros.h 2016-07-28 17:17:39.275610371 -0700
+@@ -5,7 +5,7 @@
+ #ifndef SANDBOX_LINUX_BPF_DSL_SECCOMP_MACROS_H_
+ #define SANDBOX_LINUX_BPF_DSL_SECCOMP_MACROS_H_
+
+-#include <sys/cdefs.h>
++#include <sys/types.h>
+ // Old Bionic versions do not have sys/user.h. The if can be removed once we no
+ // longer need to support these old Bionic versions.
+ // All x86_64 builds use a new enough bionic to have sys/user.h.
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-siginfo.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-siginfo.patch
new file mode 100644
index 00000000..fe760be1
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-siginfo.patch
@@ -0,0 +1,18 @@
+There's a subtle difference in the internal name of siginfo_t fields
+between glibc and musl. The structure itself is equivalent, so it
+should suffice to add a macro to rename the field.
+
+--- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-02-17 05:57:43.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-06-03 08:20:25.032716427 +0200
+@@ -22,6 +22,11 @@
+ #include "sandbox/linux/services/android_ucontext.h"
+ #endif
+
++// musl libc defines siginfo_t __si_fields instead of _sifields
++#if !defined(__GLIBC__)
++#define _sifields __si_fields
++#endif
++
+ namespace {
+
+ const int kCapacityIncrement = 20;
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-stack.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-stack.patch
new file mode 100644
index 00000000..7c72417b
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-stack.patch
@@ -0,0 +1,31 @@
+--- qtwebengine/src/3rdparty/chromium/base/threading/platform_thread_linux.cc 2016-03-03 15:48:36.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/base/threading/platform_thread_linux.cc 2016-03-17 06:31:13.832778611 +0100
+@@ -109,7 +109,7 @@
+
+ size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
+ #if !defined(THREAD_SANITIZER)
+- return 0;
++ return 1 << 21;
+ #else
+ // ThreadSanitizer bloats the stack heavily. Evidence has been that the
+ // default stack size isn't enough for some browser tests.
+--- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp 2016-03-03 15:48:36.000000000 +0100
++++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp 2016-03-17 06:31:13.832778611 +0100
+@@ -67,7 +67,7 @@
+ // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
+ // correctly for the main thread.
+
+-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
+ // pthread_getattr_np() can fail if the thread is not invoked by
+ // pthread_create() (e.g., the main thread of webkit_unit_tests).
+ // In this case, this method returns 0 and the caller must handle it.
+@@ -114,7 +114,7 @@
+
+ void* StackFrameDepth::getStackStart()
+ {
+-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD)
++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD)
+ pthread_attr_t attr;
+ int error;
+ #if OS(FREEBSD)
diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-sysctl.patch b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-sysctl.patch
new file mode 100644
index 00000000..86470438
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.6.0-musl-sysctl.patch
@@ -0,0 +1,11 @@
+diff -Naur qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c
+--- qtwebengine-opensource-src-5.6.1.orig/src/3rdparty/chromium/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c 2016-07-28 18:44:47.582449126 -0700
++++ qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/third_party/ffmpeg/libavutil/autorename_libavutil_cpu.c 2016-07-29 12:05:34.463048187 -0700
+@@ -38,7 +38,6 @@
+ #include <sys/param.h>
+ #endif
+ #include <sys/types.h>
+-#include <sys/sysctl.h>
+ #endif
+ #if HAVE_UNISTD_H
+ #include <unistd.h>
diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml
new file mode 100644
index 00000000..881cc175
--- /dev/null
+++ b/dev-qt/qtwebengine/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>qt@gentoo.org</email>
+ <name>Gentoo Qt Project</name>
+ </maintainer>
+ <use>
+ <flag name="geolocation">Enable physical position determination
+ via <pkg>dev-qt/qtpositioning</pkg></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>
+ instead of bundled.</flag>
+ <flag name="widgets">Enable QtWidgets support</flag>
+ </use>
+ <upstream>
+ <bugs-to>https://bugreports.qt.io/</bugs-to>
+ <doc>http://doc.qt.io/</doc>
+ </upstream>
+ <slots>
+ <subslots>
+ Must only be used by packages that are known to use private parts of the Qt API.
+ </subslots>
+ </slots>
+</pkgmetadata>
diff --git a/dev-qt/qtwebengine/qtwebengine-5.6.1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.6.1.ebuild
new file mode 100644
index 00000000..0e2c4e86
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.6.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit 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 +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:=
+ 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-2*: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
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.6.0-musl-execinfo.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-mallinfo.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-off_t.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-resolver.patch"
+ "${FILESDIR}/${PN}-5.6.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() {
+ 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
+}
diff --git a/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild
new file mode 100644
index 00000000..b50b4b8b
--- /dev/null
+++ b/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit 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 +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.5:=[svc]
+ media-libs/libwebp:=
+ media-libs/mesa
+ media-libs/opus
+ media-libs/speex
+ net-libs/libsrtp:=
+ 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
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.6.0-musl-execinfo.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-mallinfo.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-off_t.patch"
+ "${FILESDIR}/${PN}-5.6.0-musl-resolver.patch"
+ "${FILESDIR}/${PN}-5.6.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() {
+ 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
+}