logo

overlay

Personnal gentoo overlay
commit: 84a99ce573587a8e45812b8fbf558e1e4353869e
parent: 5970ebc85dc2e02262fa7a315eaecddeeff8df30
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Tue,  4 Jul 2017 07:46:17 +0200

dev-qt/qtwebengine: Import from ::gentoo

Diffstat:

dev-qt/qtwebengine/ChangeLog | 148+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dev-qt/qtwebengine/Manifest | 2++
dev-qt/qtwebengine/files/qtwebengine-5.7.0-fix-system-ffmpeg.patch | 13+++++++++++++
dev-qt/qtwebengine/files/qtwebengine-5.7.0-icu58.patch | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
dev-qt/qtwebengine/files/qtwebengine-5.7.0-undef-madv_free.patch | 33+++++++++++++++++++++++++++++++++
dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch | 23+++++++++++++++++++++++
dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch | 144+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dev-qt/qtwebengine/files/qtwebengine-paxmark-mksnapshot.patch | 46++++++++++++++++++++++++++++++++++++++++++++++
dev-qt/qtwebengine/metadata.xml | 27+++++++++++++++++++++++++++
dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild | 105+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
dev-qt/qtwebengine/qtwebengine-5.7.1-r1.ebuild | 122+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
11 files changed, 714 insertions(+), 0 deletions(-)

diff --git a/dev-qt/qtwebengine/ChangeLog b/dev-qt/qtwebengine/ChangeLog @@ -0,0 +1,148 @@ +# ChangeLog for dev-qt/qtwebengine +# Copyright 1999-2016 Gentoo Foundation; Distributed under the GPL v2 +# (auto-generated from git log) + +*qtwebengine-5.6.0 (23 Apr 2016) + + 23 Apr 2016; Michael Palimaka <kensington@gentoo.org> + +files/qtwebengine-5.6.0-icu.patch, + +files/qtwebengine-5.6.0-nss-3.23-01.patch, + +files/qtwebengine-5.6.0-nss-3.23-02.patch, +metadata.xml, + +qtwebengine-5.6.0.ebuild: + dev-qt: version bump 5.6.0 + + Package-Manager: portage-2.2.28 + + 08 May 2016; Davide Pesavento <pesa@gentoo.org> qtwebengine-5.6.0.ebuild: + add a few missing deps and several slot operators + + Package-Manager: portage-2.2.28 + +*qtwebengine-5.6.1 (14 Jun 2016) + + 14 Jun 2016; Davide Pesavento <pesa@gentoo.org> +qtwebengine-5.6.1.ebuild: + dev-qt: Qt 5.6.1 version bump + + Package-Manager: portage-2.3.0_rc1 + + 22 Jul 2016; Michael Palimaka <kensington@gentoo.org> + qtwebengine-5.6.1.ebuild: + dev-qt: stabilise 5.6.1 on amd64/x86 + + Gentoo-bug: 586180 + + Package-Manager: portage-2.3.0 + +*qtwebengine-5.7.0 (12 Aug 2016) + + 12 Aug 2016; Michael Palimaka <kensington@gentoo.org> + +qtwebengine-5.7.0.ebuild: + dev-qt: version bump 5.7.0 + + Package-Manager: portage-2.3.0 + + 18 Aug 2016; Michael Palimaka <kensington@gentoo.org> + -files/qtwebengine-5.6.0-icu.patch, + -files/qtwebengine-5.6.0-nss-3.23-01.patch, + -files/qtwebengine-5.6.0-nss-3.23-02.patch, -qtwebengine-5.6.0.ebuild: + dev-qt: remove 5.6.0 + + Package-Manager: portage-2.3.0 + + 31 Aug 2016; Michael Palimaka <kensington@gentoo.org> + qtwebengine-5.7.0.ebuild: + relax media-video/ffmpeg dependency for 5.7.0 + + Package-Manager: portage-2.3.0 + +*qtwebengine-5.6.2 (12 Oct 2016) + + 12 Oct 2016; Davide Pesavento <pesa@gentoo.org> +qtwebengine-5.6.2.ebuild: + dev-qt: Qt 5.6.2 version bump + + Package-Manager: portage-2.3.1 + + 01 Dec 2016; Michael Palimaka <kensington@gentoo.org> +files/a.patch, + +files/b.patch, qtwebengine-5.6.2.ebuild, qtwebengine-5.7.0.ebuild: + ensure build against system icu headers + + Gentoo-bug: 601264 + + Package-Manager: portage-2.3.2 + + 01 Dec 2016; Michael Palimaka <kensington@gentoo.org> -files/a.patch, + -files/b.patch: + remove patches accidentally introduced in + 9f88b15ff6b650018934340b24e50d10eb15aa58 + + Package-Manager: portage-2.3.2 + + 06 Dec 2016; Michael Palimaka <kensington@gentoo.org> + +files/qtwebengine-5.7.0-fix-system-ffmpeg.patch, + +files/qtwebengine-5.7.0-gcc6.patch, +files/qtwebengine-5.7.0-icu58.patch, + +files/qtwebengine-5.7.0-undef-madv_free.patch, qtwebengine-5.7.0.ebuild: + Add patches. + + qtwebengine-5.7.0-fix-system-ffmpeg.patch undefines + FF_API_CONVERGENCE_DURATION, + which should only be defined when not using the system ffmpeg. This causes + segmentation faults at runtime with FFMPEG 3.x + + qtwebengine-5.7.0-gcc6.patch is adapted from + http://code.qt.io/cgit/qt/qtwebengine- + chromium.git/commit/?id=cffcf22082879939bbcfa89e88057beda829a0a7 + http://code.qt.io/cgit/qt/qtwebengine- + chromium.git/commit/?id=ae73e50e7d8c1371ed293c10150646a2719f4598 + http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=c7aeb3b03ecce75c40d3f53 + 352e8b7b3a4d6d050 + http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=d6c8a2cf8fa374e6d1c0a57 + 8391b57112c047fa4 + + qtwebengine-5.7.0-icu58.patch is adapted from + www-client/chromium/files/chromium-icu-58.patch + + qtwebengine-5.7.0-undef-madv_free.patch is adapted from + http://code.qt.io/cgit/qt/qtwebengine- + chromium.git/commit/?id=fa8cdb3a32c377b6290d0a92d2522186bcd48293 + + Gentoo-Bug: 599094 + + 06 Dec 2016; Michael Palimaka <kensington@gentoo.org> + +files/qtwebengine-paxmark-mksnapshot.patch, metadata.xml, + qtwebengine-5.6.2.ebuild, qtwebengine-5.7.0.ebuild: + Fix on PaX kernels + + Gentoo-Bug: 582558 + Gentoo-Bug: 579712 + + 06 Dec 2016; Michael Palimaka <kensington@gentoo.org> + qtwebengine-5.6.2.ebuild, qtwebengine-5.7.0.ebuild: + Use correct libsrtp slot. + + 06 Dec 2016; Michael Palimaka <kensington@gentoo.org> + qtwebengine-5.6.2.ebuild: + dev-qt: stabilise 5.6.2 for amd64/x86 + + Gentoo-bug: 598780 + + Package-Manager: portage-2.3.2 + +*qtwebengine-5.7.1 (14 Dec 2016) + + 14 Dec 2016; Michael Palimaka <kensington@gentoo.org> + +qtwebengine-5.7.1.ebuild: + dev-qt: version bump 5.7.1 + + Package-Manager: portage-2.3.3 + + 14 Dec 2016; Michael Palimaka <kensington@gentoo.org> + -files/qtwebengine-5.7.0-gcc6.patch, -qtwebengine-5.7.0.ebuild: + dev-qt: remove 5.7.0 + + Package-Manager: portage-2.3.3 + + 15 Dec 2016; Davide Pesavento <pesa@gentoo.org> qtwebengine-5.6.2.ebuild: + fix typo in comment + + Package-Manager: Portage-2.3.3, Repoman-2.3.1 + diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest @@ -0,0 +1,2 @@ +DIST qtwebengine-opensource-src-5.6.2.tar.xz 143752452 SHA256 2f0a1648e1a8b22bad0134f2b37d69d185074393c398c1a3c6a83b910ff39740 SHA512 c30a270bfb254a18d4b89af8ae28789912d6157cd58010b6838461c332c32c667c15b683d290fd14615b9f0be20aca9957bd8657c4abaa8d77c28278c58f7282 WHIRLPOOL 94e627c369cfa18a7c878f75007698839aa1cd1b10df4de8e42b2f393dcd2dedec33930c1fa41c50bfa39e63089d66c7c5d0861ea7093356b1cc2e93a605893e +DIST qtwebengine-opensource-src-5.7.1.tar.xz 163782564 SHA256 2101883e3d632b50133a14e3bbdc1d4d649e405c9618f2eef1b72a7b821ccc2b SHA512 4f53e51141d8e3479d22062a80af0359d3d7ab6bc0d2d6530c6af2d3e5b625f7192cda2a9eb85c657864ec3b30bdc797d3bff57db4c71211e71bb4ee5ac9c71a WHIRLPOOL cebf17fc3e5c75406789c36e12dd32b0b6e6111dad6bf8f48bb07fd5d8ea76d78cd2cc5c3ad3021c8de9b91974afd7688ea384626d7e308dedd67664f1eec104 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 @@ -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-icu58.patch 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-undef-madv_free.patch 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-5.7.1-fix-audio-detection.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.1-fix-audio-detection.patch @@ -0,0 +1,23 @@ +# dev-qt/qtwebengine: Fix detecting audio backends. + +# The upstream change doesn't really work for us, so we'll make +# it work with us. +# Gentoo-Bug: https://bugs.gentoo.org/603498 + +--- /src/core/config/linux.pri 2016-12-23 00:05:41.057955774 +0200 ++++ /src/core/config/linux.pri 2016-12-23 00:09:39.000573909 +0200 +@@ -35,12 +35,12 @@ + contains(QT_CONFIG, system-png): GYP_CONFIG += use_system_libpng=1 + contains(QT_CONFIG, system-jpeg): GYP_CONFIG += use_system_libjpeg=1 + contains(QT_CONFIG, system-harfbuzz): GYP_CONFIG += use_system_harfbuzz=1 +-contains(QT_CONFIG, pulseaudio) { ++use?(pulseaudio) { + GYP_CONFIG += use_pulseaudio=1 + } else { + GYP_CONFIG += use_pulseaudio=0 + } +-contains(QT_CONFIG, alsa) { ++use?(alsa) { + GYP_CONFIG += use_alsa=1 + } else { + GYP_CONFIG += use_alsa=0 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch b/dev-qt/qtwebengine/files/qtwebengine-5.7.1-gcc-7.patch @@ -0,0 +1,144 @@ +From 64fdd317d4127142ad9e967197a2df6ac81ef55f Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jensen@qt.io> +Date: Wed, 29 Mar 2017 17:42:18 +0200 +Subject: [PATCH] Fix build with GCC 7.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +Fixes some ambiguities and outright wrong code GCC 7 doesn't accept but +earlier compilers did. + +Task-number:QTBUG-59776 +Change-Id: I012f121842ac6cde49db0d571efc62aabe2115e3 +Reviewed-by: Michael Brüning <michael.bruning@qt.io> +--- + .../mojo/public/cpp/bindings/interface_ptr_info.h | 2 +- + .../third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++ + chromium/v8/src/objects-body-descriptors.h | 2 +- + chromium/v8/src/objects-inl.h | 19 +++++++++++++++++++ + chromium/v8/src/objects.h | 16 ++-------------- + 5 files changed, 25 insertions(+), 16 deletions(-) + +diff --git a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h +index 5bd29d5..c94a5ac 100644 +--- a/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h ++++ b/src/3rdparty/chromium/mojo/public/cpp/bindings/interface_ptr_info.h +@@ -34,7 +34,7 @@ class InterfacePtrInfo { + + InterfacePtrInfo& operator=(InterfacePtrInfo&& other) { + if (this != &other) { +- handle_ = other.handle_.Pass(); ++ handle_ = std::move(other.handle_); + version_ = other.version_; + other.version_ = 0u; + } +-- +2.7.4 +From 493441248c82d9f39d0947e3bbf4571736e1cf85 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jensen@qt.io> +Date: Wed, 29 Mar 2017 15:53:00 +0200 +Subject: [PATCH 1/1] Fix build with GCC 7.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +Fixes a few problems with using undeclared functions and ambigious +code. + +Task-number: QTBUG-59776 +Change-Id: I59813919b4867d5dd3499a45baed004a1a1c1a3c +Reviewed-by: Michael Brüning <michael.bruning@qt.io> +--- + chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h | 2 ++ + .../third_party/pdfium/fpdfsdk/javascript/global.cpp | 8 ++++---- + chromium/v8/src/objects-body-descriptors.h | 2 +- + chromium/v8/src/objects-inl.h | 18 ++++++++++++++++++ + chromium/v8/src/objects.h | 16 ++-------------- + 5 files changed, 27 insertions(+), 19 deletions(-) + +diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h +index e85c72f..6f94cd6 100644 +--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h ++++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/LinkedHashSet.h +@@ -542,6 +542,8 @@ inline LinkedHashSet<T, U, V, W>& LinkedHashSet<T, U, V, W>::operator=(LinkedHas + return *this; + } + ++inline void swapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b); ++ + template<typename T, typename U, typename V, typename W> + inline void LinkedHashSet<T, U, V, W>::swap(LinkedHashSet& other) + { +diff --git a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h +index 91cb888..a1c3634 100644 +--- a/src/3rdparty/chromium/v8/src/objects-body-descriptors.h ++++ b/src/3rdparty/chromium/v8/src/objects-body-descriptors.h +@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase { + + template <typename StaticVisitor> + static inline void IterateBody(HeapObject* obj, int object_size) { +- IterateBody(obj); ++ IterateBody<StaticVisitor>(obj); + } + }; + +diff --git a/src/3rdparty/chromium/v8/src/objects-inl.h b/src/3rdparty/chromium/v8/src/objects-inl.h +index 58441d3..4c486ea 100644 +--- a/src/3rdparty/chromium/v8/src/objects-inl.h ++++ b/src/3rdparty/chromium/v8/src/objects-inl.h +@@ -7588,6 +7588,24 @@ bool GlobalDictionaryShape::IsDeleted(Dictionary* dict, int entry) { + } + + ++template <typename Derived, typename Shape, typename Key> ++inline uint32_t HashTable<Derived,Shape,Key>::Hash(Key key) { ++ if (Shape::UsesSeed) { ++ return Shape::SeededHash(key, GetHeap()->HashSeed()); ++ } else { ++ return Shape::Hash(key); ++ } ++} ++ ++template <typename Derived, typename Shape, typename Key> ++inline uint32_t HashTable<Derived,Shape,Key>::HashForObject(Key key, Object* object) { ++ if (Shape::UsesSeed) { ++ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); ++ } else { ++ return Shape::HashForObject(key, object); ++ } ++} ++ + bool ObjectHashTableShape::IsMatch(Handle<Object> key, Object* other) { + return key->SameValue(other); + } +diff --git a/src/3rdparty/chromium/v8/src/objects.h b/src/3rdparty/chromium/v8/src/objects.h +index 7d774be..42da5fa 100644 +--- a/src/3rdparty/chromium/v8/src/objects.h ++++ b/src/3rdparty/chromium/v8/src/objects.h +@@ -3194,21 +3194,9 @@ class HashTable : public HashTableBase { + typedef Shape ShapeT; + + // Wrapper methods +- inline uint32_t Hash(Key key) { +- if (Shape::UsesSeed) { +- return Shape::SeededHash(key, GetHeap()->HashSeed()); +- } else { +- return Shape::Hash(key); +- } +- } ++ inline uint32_t Hash(Key key); + +- inline uint32_t HashForObject(Key key, Object* object) { +- if (Shape::UsesSeed) { +- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); +- } else { +- return Shape::HashForObject(key, object); +- } +- } ++ inline uint32_t HashForObject(Key key, Object* object); + + // Returns a new HashTable object. + MUST_USE_RESULT static Handle<Derived> New( +-- +2.7.4 diff --git a/dev-qt/qtwebengine/files/qtwebengine-paxmark-mksnapshot.patch 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 @@ -0,0 +1,27 @@ +<?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="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> + 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.2.ebuild b/dev-qt/qtwebengine/qtwebengine-5.6.2.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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.5:=[svc] + 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 ) +" + +src_prepare() { + use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-paxmark-mksnapshot.patch" ) + + if use system-icu; then + # ensure 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 +} diff --git a/dev-qt/qtwebengine/qtwebengine-5.7.1-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.7.1-r1.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +inherit multiprocessing 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 ~arm64 ~x86" +fi + +IUSE="alsa bindist geolocation pax_kernel pulseaudio +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/libevent:= + dev-libs/libxml2 + dev-libs/libxslt + dev-libs/protobuf:= + 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 + net-libs/libsrtp:0= + sys-apps/dbus + sys-apps/pciutils + sys-libs/libcap + sys-libs/zlib[minizip] + virtual/jpeg:0 + virtual/libudev + 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 + alsa? ( media-libs/alsa-lib ) + geolocation? ( ~dev-qt/qtpositioning-${PV} ) + pulseaudio? ( media-sound/pulseaudio:= ) + 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.1-fix-audio-detection.patch" + "${FILESDIR}/${PN}-5.7.0-fix-system-ffmpeg.patch" + "${FILESDIR}/${PN}-5.7.0-icu58.patch" + "${FILESDIR}/${PN}-5.7.0-undef-madv_free.patch" + "${FILESDIR}/${PN}-5.7.1-gcc-7.patch" +) + +src_prepare() { + use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-paxmark-mksnapshot.patch" ) + + if use system-icu; then + # ensure 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 + export NINJAFLAGS="${NINJAFLAGS:--j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0) -v}" + + local myqmakeargs=( + $(usex alsa 'WEBENGINE_CONFIG+=use_alsa' '') + $(usex bindist '' 'WEBENGINE_CONFIG+=use_proprietary_codecs') + $(usex pulseaudio 'WEBENGINE_CONFIG+=use_pulseaudio' '') + $(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 + + # bug 601472 + if [[ ! -f ${D%/}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then + die "${CATEGORY}/${PF} failed to build anything. Please report to https://bugs.gentoo.org/" + fi + + pax-mark m "${D%/}${QT5_LIBEXECDIR}"/QtWebEngineProcess +}