diff options
author | Jory Pratt <anarchy@gentoo.org> | 2019-10-21 07:22:26 -0500 |
---|---|---|
committer | Jory Pratt <anarchy@gentoo.org> | 2019-10-21 07:22:26 -0500 |
commit | 061f22ab7e967d0ef5fba92a17e6633f0fa1c535 (patch) | |
tree | 46c148f0238ed94dbe185d23992db87a773704ad /dev-qt | |
parent | sys-devel/gcc: add gcc-8.3.0-r2 (diff) | |
download | musl-061f22ab7e967d0ef5fba92a17e6633f0fa1c535.tar.gz musl-061f22ab7e967d0ef5fba92a17e6633f0fa1c535.tar.bz2 musl-061f22ab7e967d0ef5fba92a17e6633f0fa1c535.zip |
dev-qt/qtwebengine: add alpine patches for musl users
Closes: https://github.com/gentoo/musl/issues/259
Package-Manager: Portage-2.3.77, Repoman-2.3.17
RepoMan-Options: --force
Signed-off-by: Jory Pratt <anarchy@gentoo.org>
Diffstat (limited to 'dev-qt')
14 files changed, 236 insertions, 523 deletions
diff --git a/dev-qt/qtwebengine/Manifest b/dev-qt/qtwebengine/Manifest index b38c1314..9aaf2c32 100644 --- a/dev-qt/qtwebengine/Manifest +++ b/dev-qt/qtwebengine/Manifest @@ -1 +1 @@ -DIST qtwebengine-everywhere-src-5.11.3.tar.xz 233678844 BLAKE2B 451a2f8361b158835f7f565aea9e7e372ea5670f56a5eef918d0340857e1b336d7147c5f87417a21ea225c248cfda8248869c2023b2e359aa9216ec472dea4b9 SHA512 323179244187b075836101eec15fc96569e31dee7ca0b28d51833cf02a55439ca0ab8e3e14acf970eb0258e1f5187b6b33fc1a35bf9056e4941a2b20be9b0431 +DIST qtwebengine-everywhere-src-5.12.5.tar.xz 249295448 BLAKE2B 3bbb9ea44ed58127a251b0dc5bd2681b9efbe4709b0c493940c85cedcbf668fe58ae2440c4afbb1e579cd69e504aa7efedd44519823ffed40444d8b3382362e8 SHA512 b485d37dca14f1cf4adf01bd8b1ae52c1d4916d7acf6ed210bc9feaece8efc2aa6cee8a3ef9174b50b767e373379c6a18d14db4426ac53a8c27d2d7b222826df diff --git a/dev-qt/qtwebengine/files/musl/arm-missing-files.patch b/dev-qt/qtwebengine/files/musl/arm-missing-files.patch deleted file mode 100644 index 59af5db0..00000000 --- a/dev-qt/qtwebengine/files/musl/arm-missing-files.patch +++ /dev/null @@ -1,205 +0,0 @@ -From bf9a9d0532d7749901082ffce976d182672c2d36 Mon Sep 17 00:00:00 2001 -From: Allan Sandfeld Jensen <allan.jensen@qt.io> -Date: Mon, 10 Dec 2018 14:35:22 +0100 -Subject: [PATCH] Fix building gn on arm - -Two arm header files were missing. - -Change-Id: I3d9cd03c682b9de6b38e75085bcda9deef81b5fa -Fixes: QTBUG-72393 -Reviewed-by: Michal Klocek <michal.klocek@qt.io> ---- - gn/base/numerics/safe_conversions_arm_impl.h | 51 +++++++++++ - gn/base/numerics/safe_math_arm_impl.h | 122 +++++++++++++++++++++++++++ - 2 files changed, 173 insertions(+) - create mode 100644 gn/base/numerics/safe_conversions_arm_impl.h - create mode 100644 gn/base/numerics/safe_math_arm_impl.h - -diff --git a/src/3rdparty/gn/base/numerics/safe_conversions_arm_impl.h b/src/3rdparty/gn/base/numerics/safe_conversions_arm_impl.h -new file mode 100644 -index 0000000000..da5813f65e ---- /dev/null -+++ b/src/3rdparty/gn/base/numerics/safe_conversions_arm_impl.h -@@ -0,0 +1,51 @@ -+// Copyright 2017 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#ifndef BASE_NUMERICS_SAFE_CONVERSIONS_ARM_IMPL_H_ -+#define BASE_NUMERICS_SAFE_CONVERSIONS_ARM_IMPL_H_ -+ -+#include <cassert> -+#include <limits> -+#include <type_traits> -+ -+#include "base/numerics/safe_conversions_impl.h" -+ -+namespace base { -+namespace internal { -+ -+// Fast saturation to a destination type. -+template <typename Dst, typename Src> -+struct SaturateFastAsmOp { -+ static const bool is_supported = -+ std::is_signed<Src>::value && std::is_integral<Dst>::value && -+ std::is_integral<Src>::value && -+ IntegerBitsPlusSign<Src>::value <= IntegerBitsPlusSign<int32_t>::value && -+ IntegerBitsPlusSign<Dst>::value <= IntegerBitsPlusSign<int32_t>::value && -+ !IsTypeInRangeForNumericType<Dst, Src>::value; -+ -+ __attribute__((always_inline)) static Dst Do(Src value) { -+ int32_t src = value; -+ typename std::conditional<std::is_signed<Dst>::value, int32_t, -+ uint32_t>::type result; -+ if (std::is_signed<Dst>::value) { -+ asm("ssat %[dst], %[shift], %[src]" -+ : [dst] "=r"(result) -+ : [src] "r"(src), [shift] "n"(IntegerBitsPlusSign<Dst>::value <= 32 -+ ? IntegerBitsPlusSign<Dst>::value -+ : 32)); -+ } else { -+ asm("usat %[dst], %[shift], %[src]" -+ : [dst] "=r"(result) -+ : [src] "r"(src), [shift] "n"(IntegerBitsPlusSign<Dst>::value < 32 -+ ? IntegerBitsPlusSign<Dst>::value -+ : 31)); -+ } -+ return static_cast<Dst>(result); -+ } -+}; -+ -+} // namespace internal -+} // namespace base -+ -+#endif // BASE_NUMERICS_SAFE_CONVERSIONS_ARM_IMPL_H_ -diff --git a/src/3rdparty/gn/base/numerics/safe_math_arm_impl.h b/src/3rdparty/gn/base/numerics/safe_math_arm_impl.h -new file mode 100644 -index 0000000000..a7cda1bb23 ---- /dev/null -+++ b/src/3rdparty/gn/base/numerics/safe_math_arm_impl.h -@@ -0,0 +1,122 @@ -+// Copyright 2017 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#ifndef BASE_NUMERICS_SAFE_MATH_ARM_IMPL_H_ -+#define BASE_NUMERICS_SAFE_MATH_ARM_IMPL_H_ -+ -+#include <cassert> -+#include <limits> -+#include <type_traits> -+ -+#include "base/numerics/safe_conversions.h" -+ -+namespace base { -+namespace internal { -+ -+template <typename T, typename U> -+struct CheckedMulFastAsmOp { -+ static const bool is_supported = -+ FastIntegerArithmeticPromotion<T, U>::is_contained; -+ -+ // The following is much more efficient than the Clang and GCC builtins for -+ // performing overflow-checked multiplication when a twice wider type is -+ // available. The below compiles down to 2-3 instructions, depending on the -+ // width of the types in use. -+ // As an example, an int32_t multiply compiles to: -+ // smull r0, r1, r0, r1 -+ // cmp r1, r1, asr #31 -+ // And an int16_t multiply compiles to: -+ // smulbb r1, r1, r0 -+ // asr r2, r1, #16 -+ // cmp r2, r1, asr #15 -+ template <typename V> -+ __attribute__((always_inline)) static bool Do(T x, U y, V* result) { -+ using Promotion = typename FastIntegerArithmeticPromotion<T, U>::type; -+ Promotion presult; -+ -+ presult = static_cast<Promotion>(x) * static_cast<Promotion>(y); -+ *result = static_cast<V>(presult); -+ return IsValueInRangeForNumericType<V>(presult); -+ } -+}; -+ -+template <typename T, typename U> -+struct ClampedAddFastAsmOp { -+ static const bool is_supported = -+ BigEnoughPromotion<T, U>::is_contained && -+ IsTypeInRangeForNumericType< -+ int32_t, -+ typename BigEnoughPromotion<T, U>::type>::value; -+ -+ template <typename V> -+ __attribute__((always_inline)) static V Do(T x, U y) { -+ // This will get promoted to an int, so let the compiler do whatever is -+ // clever and rely on the saturated cast to bounds check. -+ if (IsIntegerArithmeticSafe<int, T, U>::value) -+ return saturated_cast<V>(x + y); -+ -+ int32_t result; -+ int32_t x_i32 = x; -+ int32_t y_i32 = y; -+ -+ asm("qadd %[result], %[first], %[second]" -+ : [result] "=r"(result) -+ : [first] "r"(x_i32), [second] "r"(y_i32)); -+ return saturated_cast<V>(result); -+ } -+}; -+ -+template <typename T, typename U> -+struct ClampedSubFastAsmOp { -+ static const bool is_supported = -+ BigEnoughPromotion<T, U>::is_contained && -+ IsTypeInRangeForNumericType< -+ int32_t, -+ typename BigEnoughPromotion<T, U>::type>::value; -+ -+ template <typename V> -+ __attribute__((always_inline)) static V Do(T x, U y) { -+ // This will get promoted to an int, so let the compiler do whatever is -+ // clever and rely on the saturated cast to bounds check. -+ if (IsIntegerArithmeticSafe<int, T, U>::value) -+ return saturated_cast<V>(x - y); -+ -+ int32_t result; -+ int32_t x_i32 = x; -+ int32_t y_i32 = y; -+ -+ asm("qsub %[result], %[first], %[second]" -+ : [result] "=r"(result) -+ : [first] "r"(x_i32), [second] "r"(y_i32)); -+ return saturated_cast<V>(result); -+ } -+}; -+ -+template <typename T, typename U> -+struct ClampedMulFastAsmOp { -+ static const bool is_supported = CheckedMulFastAsmOp<T, U>::is_supported; -+ -+ template <typename V> -+ __attribute__((always_inline)) static V Do(T x, U y) { -+ // Use the CheckedMulFastAsmOp for full-width 32-bit values, because -+ // it's fewer instructions than promoting and then saturating. -+ if (!IsIntegerArithmeticSafe<int32_t, T, U>::value && -+ !IsIntegerArithmeticSafe<uint32_t, T, U>::value) { -+ V result; -+ if (CheckedMulFastAsmOp<T, U>::Do(x, y, &result)) -+ return result; -+ return CommonMaxOrMin<V>(IsValueNegative(x) ^ IsValueNegative(y)); -+ } -+ -+ assert((FastIntegerArithmeticPromotion<T, U>::is_contained)); -+ using Promotion = typename FastIntegerArithmeticPromotion<T, U>::type; -+ return saturated_cast<V>(static_cast<Promotion>(x) * -+ static_cast<Promotion>(y)); -+ } -+}; -+ -+} // namespace internal -+} // namespace base -+ -+#endif // BASE_NUMERICS_SAFE_MATH_ARM_IMPL_H_ --- -2.16.3 - diff --git a/dev-qt/qtwebengine/files/musl/arm-void-is-not-android.patch b/dev-qt/qtwebengine/files/musl/arm-void-is-not-android.patch deleted file mode 100644 index 6ae86dde..00000000 --- a/dev-qt/qtwebengine/files/musl/arm-void-is-not-android.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- qtwebengine/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn 2017-11-28 14:06:53.000000000 +0100 -+++ qtwebengine/src/3rdparty/chromium/third_party/openmax_dl/dl/BUILD.gn 2018-01-30 16:42:15.332826020 +0100 -@@ -194,14 +194,6 @@ - "sp/src/arm/armv7/omxSP_FFTFwd_RToCCS_F32_Sfs_s.S", - "sp/src/arm/armv7/omxSP_FFTInv_CCSToR_F32_Sfs_s.S", - ] -- if (arm_optionally_use_neon) { -- # Run-time NEON detection. -- deps = [ "//third_party/android_tools:cpu_features" ] -- # To get the __android_log_print routine -- libs = [ "log" ] -- # Detection routine -- sources += [ "sp/src/arm/detect.c" ] -- } - } - - # GYP: third_party/openmax_dl/dl/dl.gyp:openmax_dl_neon diff --git a/dev-qt/qtwebengine/files/musl/musl-sandbox.patch b/dev-qt/qtwebengine/files/musl/musl-sandbox.patch index 46b5d0bc..45e3d933 100644 --- a/dev-qt/qtwebengine/files/musl/musl-sandbox.patch +++ b/dev-qt/qtwebengine/files/musl/musl-sandbox.patch @@ -1,5 +1,5 @@ diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -index 5f81dff..85b7ea0 100644 +index 2577f02..b27300c 100644 --- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc +++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc @@ -129,23 +129,13 @@ namespace sandbox { @@ -33,10 +33,10 @@ index 5f81dff..85b7ea0 100644 .Else(CrashSIGSYSClone()); } diff --git a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -index 1d9f95c..21fbe21 100644 +index 9f1cdef..a2d703b 100644 --- a/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc +++ b/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -373,6 +373,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { +@@ -375,6 +375,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { #if defined(__i386__) case __NR_waitpid: #endif @@ -44,7 +44,7 @@ index 1d9f95c..21fbe21 100644 return true; case __NR_clone: // Should be parameter-restricted. case __NR_setns: // Privileged. -@@ -385,7 +386,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { +@@ -387,7 +388,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) { #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) case __NR_set_thread_area: #endif @@ -52,15 +52,16 @@ index 1d9f95c..21fbe21 100644 case __NR_unshare: #if !defined(__mips__) && !defined(__aarch64__) case __NR_vfork: -@@ -492,6 +492,7 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { +@@ -496,6 +496,8 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { case __NR_mlock: case __NR_munlock: case __NR_munmap: + case __NR_mremap: ++ case __NR_membarrier: return true; case __NR_madvise: case __NR_mincore: -@@ -507,7 +508,6 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { +@@ -511,7 +513,6 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) { case __NR_modify_ldt: #endif case __NR_mprotect: @@ -68,3 +69,85 @@ index 1d9f95c..21fbe21 100644 case __NR_msync: case __NR_munlockall: case __NR_readahead: +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h +index 59d0eab..7ae7002 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/arm64_linux_syscalls.h +@@ -1063,4 +1063,8 @@ + #define __NR_memfd_create 279 + #endif + ++#if !defined(__NR_membarrier) ++#define __NR_membarrier 283 ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_ARM64_LINUX_SYSCALLS_H_ +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h +index 1addd53..7843b5e 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/arm_linux_syscalls.h +@@ -1385,6 +1385,10 @@ + #define __NR_memfd_create (__NR_SYSCALL_BASE+385) + #endif + ++#if !defined(__NR_membarrier) ++#define __NR_membarrier (__NR_SYSCALL_BASE+389) ++#endif ++ + // ARM private syscalls. + #if !defined(__ARM_NR_BASE) + #define __ARM_NR_BASE (__NR_SYSCALL_BASE + 0xF0000) +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/mips64_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/mips64_linux_syscalls.h +index ec75815..612fcfa 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/mips64_linux_syscalls.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/mips64_linux_syscalls.h +@@ -1271,4 +1271,8 @@ + #define __NR_memfd_create (__NR_Linux + 314) + #endif + ++#if !defined(__NR_membarrier) ++#define __NR_membarrier (__NR_Linux + 318) ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS64_LINUX_SYSCALLS_H_ +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h +index ddbf97f..1742acd 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/mips_linux_syscalls.h +@@ -1433,4 +1433,8 @@ + #define __NR_memfd_create (__NR_Linux + 354) + #endif + ++#if !defined(__NR_membarrier) ++#define __NR_membarrier (__NR_Linux + 358) ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_MIPS_LINUX_SYSCALLS_H_ +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h +index a6afc62..7ed0a3b 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_32_linux_syscalls.h +@@ -1422,5 +1422,9 @@ + #define __NR_memfd_create 356 + #endif + ++#if !defined(__NR_membarrier) ++#define __NR_membarrier 375 ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_32_LINUX_SYSCALLS_H_ + +diff --git a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h +index 349504a..ea3c7c9 100644 +--- a/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h ++++ b/src/3rdparty/chromium/sandbox/linux/system_headers/x86_64_linux_syscalls.h +@@ -1290,5 +1290,9 @@ + #define __NR_memfd_create 319 + #endif + ++#if !defined(__NR_membarrier) ++#define __NR_membarrier 324 ++#endif ++ + #endif // SANDBOX_LINUX_SYSTEM_HEADERS_X86_64_LINUX_SYSCALLS_H_ + diff --git a/dev-qt/qtwebengine/files/musl/qt-musl-execinfo.patch b/dev-qt/qtwebengine/files/musl/qt-musl-execinfo.patch index af8d55ca..c5e08500 100644 --- a/dev-qt/qtwebengine/files/musl/qt-musl-execinfo.patch +++ b/dev-qt/qtwebengine/files/musl/qt-musl-execinfo.patch @@ -1,43 +1,6 @@ -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/leak_tracker.h qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/leak_tracker.h ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/leak_tracker.h 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/leak_tracker.h 2019-01-03 16:49:39.751073711 +0000 -@@ -10,7 +10,7 @@ - #include "build/build_config.h" - - // Only enable leak tracking in non-uClibc debug builds. --#if !defined(NDEBUG) && !defined(__UCLIBC__) -+#if !defined(NDEBUG) && defined(__GLIBC__) - #define ENABLE_LEAK_TRACKER - #endif - -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/stack_trace.cc qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/stack_trace.cc ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/stack_trace.cc 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/stack_trace.cc 2019-01-03 16:49:46.971351734 +0000 -@@ -214,7 +214,7 @@ - - std::string StackTrace::ToString() const { - std::stringstream stream; --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if defined(__GLIBC__) && !defined(_AIX) - OutputToStream(&stream); - #endif - return stream.str(); -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/stack_trace.h qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/stack_trace.h ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/stack_trace.h 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/stack_trace.h 2019-01-03 16:49:59.271825377 +0000 -@@ -83,7 +83,7 @@ - // Prints the stack trace to stderr. - void Print() const; - --#if !defined(__UCLIBC__) & !defined(_AIX) -+#if defined(__GLIBC__) & !defined(_AIX) - // Resolves backtrace to symbols and write to stream. - void OutputToStream(std::ostream* os) const; - #endif -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/stack_trace_posix.cc qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/stack_trace_posix.cc ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2019-01-03 16:48:39.980772200 +0000 -@@ -27,7 +27,7 @@ +--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2017-11-28 14:06:53.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2018-01-27 21:50:04.693231905 +0100 +@@ -26,7 +26,7 @@ #if !defined(USE_SYMBOLIZE) #include <cxxabi.h> #endif @@ -46,7 +9,7 @@ diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/deb #include <execinfo.h> #endif -@@ -85,7 +85,7 @@ +@@ -82,7 +82,7 @@ // Note: code in this function is NOT async-signal safe (std::string uses // malloc internally). @@ -55,17 +18,17 @@ diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/deb std::string::size_type search_from = 0; while (search_from < text->size()) { // Look for the start of a mangled symbol, from search_from. -@@ -120,7 +120,7 @@ +@@ -117,7 +117,7 @@ search_from = mangled_start + 2; } } -#endif // !defined(__UCLIBC__) && !defined(_AIX) -+#endif // defined(__GLIBC__) && !defined(_AIX) ++#endif // !defined(__GLIBC__) && !defined(_AIX) } #endif // !defined(USE_SYMBOLIZE) -@@ -132,7 +132,7 @@ - virtual ~BacktraceOutputHandler() = default; +@@ -129,7 +129,7 @@ + virtual ~BacktraceOutputHandler() {} }; -#if !defined(__UCLIBC__) && !defined(_AIX) @@ -73,16 +36,16 @@ diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/deb void OutputPointer(void* pointer, BacktraceOutputHandler* handler) { // This should be more than enough to store a 64-bit number in hex: // 16 hex digits + 1 for null-terminator. -@@ -209,7 +209,7 @@ +@@ -206,7 +206,7 @@ } #endif // defined(USE_SYMBOLIZE) } -#endif // !defined(__UCLIBC__) && !defined(_AIX) -+#endif // defined(__GLIBC__) && !defined(_AIX) ++#endif // !defined(__GLIBC__) && !defined(_AIX) void PrintToStderr(const char* output) { // NOTE: This code MUST be async-signal safe (it's used by in-process -@@ -800,7 +800,7 @@ +@@ -749,7 +749,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. @@ -91,7 +54,7 @@ diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/deb count = std::min(arraysize(trace_), count); // Though the backtrace API man page does not list any possible negative -@@ -815,13 +815,13 @@ +@@ -764,13 +764,13 @@ // 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. @@ -107,31 +70,20 @@ diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/deb void StackTrace::OutputToStream(std::ostream* os) const { StreamBacktraceOutputHandler handler(os); ProcessBacktrace(trace_, count_, &handler); -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/stack_trace_unittest.cc qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/stack_trace_unittest.cc ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/debug/stack_trace_unittest.cc 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/debug/stack_trace_unittest.cc 2019-01-03 16:49:05.605758913 +0000 -@@ -39,7 +39,7 @@ - #else - #define MAYBE_OutputToStream OutputToStream - #endif +--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.cc 2017-11-28 14:06:53.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace.cc 2018-01-27 22:31:08.296359000 +0100 +@@ -214,7 +214,7 @@ + + std::string StackTrace::ToString() const { + std::stringstream stream; -#if !defined(__UCLIBC__) && !defined(_AIX) +#if defined(__GLIBC__) && !defined(_AIX) - TEST_F(StackTraceTest, MAYBE_OutputToStream) { - StackTrace trace; - -@@ -151,7 +151,7 @@ - TEST_F(StackTraceTest, DebugPrintBacktrace) { - StackTrace().Print(); - } --#endif // !defined(__UCLIBC__) -+#endif // defined(__GLIBC__) - - #if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_FUCHSIA) - #if !defined(OS_IOS) -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/logging.cc qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/logging.cc ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/logging.cc 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/logging.cc 2019-01-03 16:50:39.137361583 +0000 -@@ -574,7 +574,7 @@ + OutputToStream(&stream); + #endif + return stream.str(); +--- qtwebengine/src/3rdparty/chromium/base/logging.cc 2017-11-28 14:06:53.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/base/logging.cc 2018-01-27 22:46:34.970406807 +0100 +@@ -546,7 +546,7 @@ LogMessage::~LogMessage() { size_t stack_start = stream_.tellp(); @@ -140,120 +92,15 @@ diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/log !defined(OS_AIX) if (severity_ == LOG_FATAL && !base::debug::BeingDebugged()) { // Include a stack trace on a fatal, unless a debugger is attached. -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/build/build_config.h qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/build/build_config.h ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/build/build_config.h 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/build/build_config.h 2019-01-03 16:47:30.314089618 +0000 -@@ -43,7 +43,7 @@ - #define OS_LINUX 1 - // include a system header to pull in features.h for glibc/uclibc macros. - #include <unistd.h> --#if defined(__GLIBC__) && !defined(__UCLIBC__) -+#if defined(__GLIBC__) - // we really are using glibc, not uClibc pretending to be glibc - #define LIBC_GLIBC 1 - #endif -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/Assertions.cpp qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/Assertions.cpp ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/Assertions.cpp 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/Assertions.cpp 2019-01-03 16:53:50.292728521 +0000 -@@ -49,7 +49,7 @@ - #include <windows.h> - #endif - --#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(__UCLIBC__)) -+#if defined(OS_MACOSX) || (defined(OS_LINUX) && defined(__GLIBC__)) +diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/assertions.cc b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/assertions.cc +index c7ecc7f..96ba0e4 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/assertions.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/assertions.cc +@@ -51,7 +51,6 @@ + #if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(__UCLIBC__)) #include <cxxabi.h> #include <dlfcn.h> - #include <execinfo.h> -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/mesa/src/src/glsl/strtod.c qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/mesa/src/src/glsl/strtod.c ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/mesa/src/src/glsl/strtod.c 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/mesa/src/src/glsl/strtod.c 2019-01-03 16:51:04.446336966 +0000 -@@ -45,7 +45,7 @@ - glsl_strtod(const char *s, char **end) - { - #if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && \ -- !defined(__HAIKU__) && !defined(__UCLIBC__) && !defined(ANDROID) -+ !defined(__HAIKU__) && defined(__GLIBC__) && !defined(ANDROID) - static locale_t loc = NULL; - if (!loc) { - loc = newlocale(LC_CTYPE_MASK, "C", NULL); -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/mesa/src/src/mesa/drivers/dri/common/xmlconfig.c qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/mesa/src/src/mesa/drivers/dri/common/xmlconfig.c ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/mesa/src/src/mesa/drivers/dri/common/xmlconfig.c 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/mesa/src/src/mesa/drivers/dri/common/xmlconfig.c 2019-01-03 16:52:43.126139986 +0000 -@@ -41,7 +41,7 @@ - - #undef GET_PROGRAM_NAME - --#if (defined(__GNU_LIBRARY__) || defined(__GLIBC__)) && !defined(__UCLIBC__) -+#if (defined(__GNU_LIBRARY__) || defined(__GLIBC__)) - # if !defined(__GLIBC__) || (__GLIBC__ < 2) - /* These aren't declared in any libc5 header */ - extern char *program_invocation_name, *program_invocation_short_name; -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/mesa/src/src/mesa/main/imports.c qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/mesa/src/src/mesa/main/imports.c ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/mesa/src/src/mesa/main/imports.c 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/mesa/src/src/mesa/main/imports.c 2019-01-03 16:52:34.009788651 +0000 -@@ -542,7 +542,7 @@ - _mesa_strtof( const char *s, char **end ) - { - #if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && \ -- !defined(ANDROID) && !defined(__HAIKU__) && !defined(__UCLIBC__) -+ !defined(ANDROID) && !defined(__HAIKU__) && defined(__GLIBC__) - static locale_t loc = NULL; - if (!loc) { - loc = newlocale(LC_CTYPE_MASK, "C", NULL); -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/pdfium/third_party/build/build_config.h qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/pdfium/third_party/build/build_config.h ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/pdfium/third_party/build/build_config.h 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/pdfium/third_party/build/build_config.h 2019-01-03 16:51:13.710694002 +0000 -@@ -43,7 +43,7 @@ - #define OS_LINUX 1 - // include a system header to pull in features.h for glibc/uclibc macros. - #include <unistd.h> --#if defined(__GLIBC__) && !defined(__UCLIBC__) -+#if defined(__GLIBC__) - // we really are using glibc, not uClibc pretending to be glibc - #define LIBC_GLIBC 1 +-#include <execinfo.h> #endif -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/skia/src/ports/SkOSFile_stdio.cpp qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/skia/src/ports/SkOSFile_stdio.cpp ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/skia/src/ports/SkOSFile_stdio.cpp 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/skia/src/ports/SkOSFile_stdio.cpp 2019-01-03 16:50:46.693652796 +0000 -@@ -88,7 +88,7 @@ - } - void sk_fsync(FILE* f) { --#if !defined(_WIN32) && !defined(SK_BUILD_FOR_ANDROID) && !defined(__UCLIBC__) \ -+#if !defined(_WIN32) && !defined(SK_BUILD_FOR_ANDROID) && defined(__GLIBC__) \ - && !defined(_NEWLIB_VERSION) - int fd = fileno(f); - fsync(fd); -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/sqlite/amalgamation/config.h qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/sqlite/amalgamation/config.h ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/sqlite/amalgamation/config.h 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/sqlite/amalgamation/config.h 2019-01-03 16:53:47.012602106 +0000 -@@ -33,7 +33,7 @@ - * malloc_usable_size() is not exported by the Android NDK. It is not - * implemented by uclibc. - */ --#if defined(__linux__) && !defined(__UCLIBC__) -+#if defined(__linux__) && defined(__GLIBC__) - #define HAVE_MALLOC_H 1 - #define HAVE_MALLOC_USABLE_SIZE 1 - #endif -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/webrtc/rtc_base/checks.cc qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/webrtc/rtc_base/checks.cc ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/webrtc/rtc_base/checks.cc 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/webrtc/rtc_base/checks.cc 2019-01-03 16:53:17.723473331 +0000 -@@ -16,7 +16,7 @@ - #include <cstdio> - #include <cstdlib> - --#if defined(__GLIBCXX__) && !defined(__UCLIBC__) -+#if defined(__GLIBCXX__) && defined(__GLIBC__) - #include <cxxabi.h> - #include <execinfo.h> - #endif -@@ -73,7 +73,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(__GLIBCXX__) && defined(__GLIBC__) - void* trace[100]; - int size = backtrace(trace, sizeof(trace) / sizeof(*trace)); - char** symbols = backtrace_symbols(trace, size); + #if defined(OS_ANDROID) diff --git a/dev-qt/qtwebengine/files/musl/qt-musl-mallinfo.patch b/dev-qt/qtwebengine/files/musl/qt-musl-mallinfo.patch index 545b7bfd..7b307171 100644 --- a/dev-qt/qtwebengine/files/musl/qt-musl-mallinfo.patch +++ b/dev-qt/qtwebengine/files/musl/qt-musl-mallinfo.patch @@ -29,14 +29,3 @@ struct mallinfo minfo = mallinfo(); #if defined(USE_TCMALLOC) return minfo.uordblks; ---- qtwebengine/src/3rdparty/chromium/content/child/content_child_helpers.cc 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine/src/3rdparty/chromium/content/child/content_child_helpers.cc 2019-01-05 00:34:23.346513661 +0000 -@@ -25,7 +25,7 @@ - // though, this provides only a partial and misleading value. - // Unfortunately some telemetry benchmark rely on it and these need to - // be refactored before getting rid of this. See crbug.com/581365 . --#if defined(OS_LINUX) || defined(OS_ANDROID) -+#if defined(__GLIBC__) && ( defined(OS_LINUX) || defined(OS_ANDROID) ) - size_t GetMemoryUsageKB() { - struct mallinfo minfo = mallinfo(); - uint64_t mem_usage = diff --git a/dev-qt/qtwebengine/files/musl/qt-musl-remove-cdefs.patch b/dev-qt/qtwebengine/files/musl/qt-musl-remove-cdefs.patch deleted file mode 100644 index 2c02dae0..00000000 --- a/dev-qt/qtwebengine/files/musl/qt-musl-remove-cdefs.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/allocator/allocator_shim_internals.h qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/allocator/allocator_shim_internals.h ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/base/allocator/allocator_shim_internals.h 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/base/allocator/allocator_shim_internals.h 2019-01-05 00:17:19.461697601 +0000 -@@ -7,7 +7,7 @@ - - #if defined(__GNUC__) - --#include <sys/cdefs.h> // for __THROW -+//#include <sys/cdefs.h> // for __THROW - - #ifndef __THROW // Not a glibc system - #ifdef _NOEXCEPT // LLVM libc++ uses noexcept instead diff --git a/dev-qt/qtwebengine/files/musl/qt-musl-stackstart.patch b/dev-qt/qtwebengine/files/musl/qt-musl-stackstart.patch index 5002cfd4..1286c741 100644 --- a/dev-qt/qtwebengine/files/musl/qt-musl-stackstart.patch +++ b/dev-qt/qtwebengine/files/musl/qt-musl-stackstart.patch @@ -1,7 +1,8 @@ -diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp ---- qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp 2018-11-19 18:55:45.000000000 +0000 -+++ qtwebengine-everywhere-src-5.11.3/src/3rdparty/chromium/third_party/WebKit/Source/platform/wtf/StackUtil.cpp 2019-01-05 00:28:12.437391690 +0000 -@@ -28,7 +28,7 @@ +diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc +index 10f1c0d..8e86a2e 100644 +--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc ++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc +@@ -28,7 +28,7 @@ size_t GetUnderestimatedStackSize() { // FIXME: On Mac OSX and Linux, this method cannot estimate stack size // correctly for the main thread. @@ -10,7 +11,7 @@ diff -Naur qtwebengine-everywhere-src-5.11.3.orig/src/3rdparty/chromium/third_pa defined(OS_FUCHSIA) // pthread_getattr_np() can fail if the thread is not invoked by // pthread_create() (e.g., the main thread of webkit_unit_tests). -@@ -96,7 +96,7 @@ +@@ -96,7 +96,7 @@ size_t GetUnderestimatedStackSize() { } void* GetStackStart() { diff --git a/dev-qt/qtwebengine/files/musl/yasm-nls.patch b/dev-qt/qtwebengine/files/musl/yasm-nls.patch deleted file mode 100644 index 6b412abd..00000000 --- a/dev-qt/qtwebengine/files/musl/yasm-nls.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/3rdparty/chromium/third_party/yasm/source/config/linux/config.h b/src/3rdparty/chromium/third_party/yasm/source/config/linux/config.h -index 9e36539..f588083 100644 ---- a/src/3rdparty/chromium/third_party/yasm/source/config/linux/config.h -+++ b/src/3rdparty/chromium/third_party/yasm/source/config/linux/config.h -@@ -5,7 +5,7 @@ - #define CPP_PROG "gcc -E" - - /* */ --#define ENABLE_NLS 1 -+/* #undef ENABLE_NLS 1 */ - - /* Define to 1 if you have the `abort' function. */ - #define HAVE_ABORT 1 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.11.1-nouveau-disable-gpu.patch b/dev-qt/qtwebengine/files/qtwebengine-5.12.0-nouveau-disable-gpu.patch index aaf3aae4..ec315ca2 100644 --- a/dev-qt/qtwebengine/files/qtwebengine-5.11.1-nouveau-disable-gpu.patch +++ b/dev-qt/qtwebengine/files/qtwebengine-5.12.0-nouveau-disable-gpu.patch @@ -7,11 +7,11 @@ It also crashes when running on wayland, the cause is not yet known. Work around these issues by not doing GPU-accelerated rendering in such cases. -Index: qtwebengine-everywhere-src-5.11.0/src/core/web_engine_context.cpp +Index: qtwebengine-everywhere-src-5.12.0-alpha/src/core/web_engine_context.cpp =================================================================== ---- qtwebengine-everywhere-src-5.11.0.orig/src/core/web_engine_context.cpp -+++ qtwebengine-everywhere-src-5.11.0/src/core/web_engine_context.cpp -@@ -100,6 +100,7 @@ +--- qtwebengine-everywhere-src-5.12.0-alpha.orig/src/core/web_engine_context.cpp ++++ qtwebengine-everywhere-src-5.12.0-alpha/src/core/web_engine_context.cpp +@@ -101,6 +101,7 @@ #include <QOffscreenSurface> #ifndef QT_NO_OPENGL # include <QOpenGLContext> @@ -19,7 +19,7 @@ Index: qtwebengine-everywhere-src-5.11.0/src/core/web_engine_context.cpp #endif #include <QQuickWindow> #include <QStringList> -@@ -178,6 +179,39 @@ void dummyGetPluginCallback(const std::v +@@ -162,6 +163,39 @@ void dummyGetPluginCallback(const std::v } #endif @@ -59,13 +59,13 @@ Index: qtwebengine-everywhere-src-5.11.0/src/core/web_engine_context.cpp } // namespace namespace QtWebEngineCore { -@@ -414,6 +448,27 @@ WebEngineContext::WebEngineContext() +@@ -440,6 +474,27 @@ WebEngineContext::WebEngineContext() const char *glType = 0; #ifndef QT_NO_OPENGL + bool disableGpu = qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_GPU"); + -+ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND") && platform.startsWith("wayland", Qt::CaseInsensitive)) ++ if (!qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND") && qApp->platformName().startsWith("wayland", Qt::CaseInsensitive)) + { + qWarning() << "Running on wayland. Qt WebEngine will disable usage of the GPU.\n" + "Note: you can set the QT_WEBENGINE_DISABLE_WAYLAND_WORKAROUND\n" @@ -87,7 +87,7 @@ Index: qtwebengine-everywhere-src-5.11.0/src/core/web_engine_context.cpp bool tryGL = !usingANGLE() && (!usingSoftwareDynamicGL() -@@ -424,7 +479,7 @@ WebEngineContext::WebEngineContext() +@@ -450,7 +505,7 @@ WebEngineContext::WebEngineContext() || enableWebGLSoftwareRendering #endif ) diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.12.5-pulseaudio-13.patch b/dev-qt/qtwebengine/files/qtwebengine-5.12.5-pulseaudio-13.patch new file mode 100644 index 00000000..1e57f0ed --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-5.12.5-pulseaudio-13.patch @@ -0,0 +1,88 @@ +From 7ac85fb4cc6f44a21761a591ac497ae3d6bf966d Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jensen@qt.io> +Date: Mon, 23 Sep 2019 13:49:53 +0200 +Subject: [PATCH] Fix building with pulseaudio 13 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf8 +Content-Transfer-Encoding: 8bit + +The function signature changed though the ABI stayed the same. + +Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876 +Fixes: QTBUG-77037 +Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> +--- + src/3rdparty/chromium/media/audio/pulse/pulse.sigs | 16 ++++++++-------- + src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment | 11 +++++++++++ + 2 files changed, 19 insertions(+), 8 deletions(-) + +diff --git a/src/3rdparty/chromium/media/audio/pulse/pulse.sigs b/src/3rdparty/chromium/media/audio/pulse/pulse.sigs +index 8b5888786a9..daaeb149c13 100644 +--- a/src/3rdparty/chromium/media/audio/pulse/pulse.sigs ++++ b/src/3rdparty/chromium/media/audio/pulse/pulse.sigs +@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, p + pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata); + pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata); + pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata); +-pa_context_state_t pa_context_get_state(pa_context* c); ++pa_context_state_t pa_context_get_state(const_pa_context_ptr c); + pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name); + pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata); + void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata); +-pa_operation_state_t pa_operation_get_state(pa_operation* o); ++pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o); + void pa_context_unref(pa_context* c); + void pa_operation_unref(pa_operation* o); + int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes); +@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_stream_success_cb_t cb, voi + int pa_stream_disconnect(pa_stream* s); + int pa_stream_drop(pa_stream *p); + pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata); +-uint32_t pa_stream_get_device_index(pa_stream* s); ++uint32_t pa_stream_get_device_index(const_pa_stream_ptr s); + int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative); +-pa_stream_state_t pa_stream_get_state(pa_stream* p); ++pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p); + pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map); + pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p); + pa_proplist* pa_proplist_new(void); +-int pa_proplist_contains(pa_proplist* p, const char* key); ++int pa_proplist_contains(const_pa_proplist_ptr p, const char* key); + void pa_proplist_free(pa_proplist* p); +-const char* pa_proplist_gets(pa_proplist* p, const char* key); ++const char* pa_proplist_gets(const_pa_proplist_ptr p, const char* key); + int pa_proplist_sets(pa_proplist* p, const char* key, const char* value); +-size_t pa_stream_readable_size(pa_stream *p); ++size_t pa_stream_readable_size(const_pa_stream_ptr p); + int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes); + void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata); + void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata); + int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek); + void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata); + void pa_stream_unref(pa_stream* s); +-int pa_context_errno(pa_context *c); ++int pa_context_errno(const_pa_context_ptr c); + const char* pa_strerror(int error); + pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v); +diff --git a/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment b/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment +index 2a2d3e7552b..cdaa841b29f 100644 +--- a/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment ++++ b/src/3rdparty/chromium/media/audio/pulse/pulse_stub_header.fragment +@@ -5,4 +5,15 @@ extern "C" { + + #include <pulse/pulseaudio.h> + ++#if PA_MAJOR > 12 ++typedef const pa_context* const_pa_context_ptr; ++typedef const pa_operation* const_pa_operation_ptr; ++typedef const pa_proplist* const_pa_proplist_ptr; ++typedef const pa_stream* const_pa_stream_ptr; ++#else ++typedef pa_context* const_pa_context_ptr; ++typedef pa_operation* const_pa_operation_ptr; ++typedef pa_proplist* const_pa_proplist_ptr; ++typedef pa_stream* const_pa_stream_ptr; ++#endif + } +-- +2.16.3 diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch b/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch deleted file mode 100644 index ba6a49fd..00000000 --- a/dev-qt/qtwebengine/files/qtwebengine-5.9.6-gcc8.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Fedora -Subject: Fix build for 32-bit platforms - -Apparently not upstream, can't find this anywhere. So I assume Fedora is the actual source? -https://src.fedoraproject.org/cgit/rpms/chromium.git/tree/chromium-66.0.3359.170-gcc8-alignof.patch - -diff -up chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h.gcc8-alignof chromium-66.0.3359.170/src/3rdparty/chromium/mojo/public/c/system/macros.h ---- a/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:46.448912634 -0400 -+++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400 -@@ -18,7 +18,13 @@ - #endif - - // Like the C++11 |alignof| operator. --#if __cplusplus >= 201103L -+#if defined(__GNUC__) && __GNUC__ >= 8 -+// GCC 8 has changed the alignof operator to return the minimal alignment -+// required by the target ABI, instead of the preferred alignment. -+// This means that on 32-bit x86, it will return 4 instead of 8. -+// Use __alignof__ instead to avoid this. -+#define MOJO_ALIGNOF(type) __alignof__(type) -+#elif __cplusplus >= 201103L - #define MOJO_ALIGNOF(type) alignof(type) - #elif defined(__GNUC__) - #define MOJO_ALIGNOF(type) __alignof__(type) diff --git a/dev-qt/qtwebengine/metadata.xml b/dev-qt/qtwebengine/metadata.xml index acca7340..75d11c0b 100644 --- a/dev-qt/qtwebengine/metadata.xml +++ b/dev-qt/qtwebengine/metadata.xml @@ -8,8 +8,6 @@ <use> <flag name="designer">Install the QWebEngineView plugin used to add widgets in <pkg>dev-qt/designer</pkg> forms that display web pages.</flag> - <flag name="geolocation">Enable physical position determination - via <pkg>dev-qt/qtpositioning</pkg></flag> <flag name="jumbo-build">Combine source files to speed up build process.</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> diff --git a/dev-qt/qtwebengine/qtwebengine-5.11.3.ebuild b/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild index 0afa49a6..08f58e93 100644 --- a/dev-qt/qtwebengine/qtwebengine-5.11.3.ebuild +++ b/dev-qt/qtwebengine/qtwebengine-5.12.5.ebuild @@ -1,17 +1,17 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 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 ~arm ~arm64 ~x86" + KEYWORDS="amd64 ~arm ~arm64 ~x86" fi -IUSE="alsa bindist designer geolocation +jumbo-build pax_kernel pulseaudio +IUSE="alsa bindist designer jumbo-build pax_kernel pulseaudio +system-ffmpeg +system-icu widgets" REQUIRED_USE="designer? ( widgets )" @@ -24,6 +24,7 @@ RDEPEND=" ~dev-qt/qtdeclarative-${PV} ~dev-qt/qtgui-${PV} ~dev-qt/qtnetwork-${PV} + ~dev-qt/qtpositioning-${PV} ~dev-qt/qtprintsupport-${PV} ~dev-qt/qtwebchannel-${PV}[qml] dev-libs/expat @@ -39,11 +40,10 @@ RDEPEND=" media-libs/libpng:0= >=media-libs/libvpx-1.5:=[svc] media-libs/libwebp:= - media-libs/mesa[egl] + media-libs/mesa[egl,X(+)] media-libs/opus sys-apps/dbus sys-apps/pciutils - sys-libs/libcap sys-libs/zlib[minizip] virtual/libudev x11-libs/libdrm @@ -60,7 +60,6 @@ RDEPEND=" x11-libs/libXtst alsa? ( media-libs/alsa-lib ) designer? ( ~dev-qt/designer-${PV} ) - geolocation? ( ~dev-qt/qtpositioning-${PV} ) pulseaudio? ( media-sound/pulseaudio:= ) system-ffmpeg? ( media-video/ffmpeg:0= ) system-icu? ( >=dev-libs/icu-60.2:= ) @@ -80,31 +79,15 @@ DEPEND="${RDEPEND} " PATCHES+=( - "${FILESDIR}/${PN}-5.9.6-gcc8.patch" # bug 657124 - "${FILESDIR}/${PN}-5.11.1-nouveau-disable-gpu.patch" # bug 609752 - "${FILESDIR}/musl/arm-missing-files.patch" - "${FILESDIR}/musl/arm-void-is-not-android.patch" - "${FILESDIR}/musl/musl-sandbox.patch" - "${FILESDIR}/musl/qt-musl-dispatch_to_musl.patch" - "${FILESDIR}/musl/qt-musl-execinfo.patch" - "${FILESDIR}/musl/qt-musl-fpstate.patch" - "${FILESDIR}/musl/qt-musl-mallinfo.patch" - "${FILESDIR}/musl/qt-musl-off_t.patch" - "${FILESDIR}/musl/qt-musl-pread-pwrite.patch" - "${FILESDIR}/musl/qt-musl-pvalloc.patch" - "${FILESDIR}/musl/qt-musl-resolve.patch" - "${FILESDIR}/musl/qt-musl-serialio.patch" - "${FILESDIR}/musl/qt-musl-siginfo_t.patch" - "${FILESDIR}/musl/qt-musl-stackstart.patch" - "${FILESDIR}/musl/qt-musl-sysreg-for__WORDSIZE.patch" - "${FILESDIR}/musl/qt-musl-thread-stacksize.patch" - "${FILESDIR}/musl/qt-musl-remove-cdefs.patch" - "${FILESDIR}/musl/yasm-nls.patch" + "${FILESDIR}/${PN}-5.12.0-nouveau-disable-gpu.patch" # bug 609752 + "${FILESDIR}/${P}-pulseaudio-13.patch" # bug 694960 ) src_prepare() { use pax_kernel && PATCHES+=( "${FILESDIR}/${PN}-5.11.2-paxmark-mksnapshot.patch" ) + eapply "${FILESDIR}/musl" + if ! use jumbo-build; then sed -i -e 's|use_jumbo_build=true|use_jumbo_build=false|' \ src/core/config/common.pri || die @@ -118,11 +101,6 @@ src_prepare() { qt_use_disable_mod designer webenginewidgets src/plugins/plugins.pro - qt_use_disable_mod geolocation positioning \ - mkspecs/features/configure.prf \ - src/core/core_chromium.pri \ - src/core/core_common.pri - qt_use_disable_mod widgets widgets src/src.pro qt5-build_src_prepare @@ -150,9 +128,9 @@ src_install() { qt5-build_src_install # bug 601472 - if [[ ! -f ${D%/}${QT5_LIBDIR}/libQt5WebEngine.so ]]; then + 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 + pax-mark m "${D}${QT5_LIBEXECDIR}"/QtWebEngineProcess } |