qt5: update to 5.11.2
[ci skip] Closes: #2538 [via git-merge-pr] Signed-off-by: Jürgen Buchmüller <pullmoll@t-online.de>
This commit is contained in:
parent
9332d8bbcb
commit
845f11032a
48 changed files with 717 additions and 573 deletions
15
srcpkgs/qt5/files/cross-gcc.patch
Normal file
15
srcpkgs/qt5/files/cross-gcc.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
--- qtwebengine/tools/qmake/mkspecs/features/functions.prf 2016-05-26 20:01:25.000000000 +0200
|
||||
+++ qtwebengine/tools/qmake/mkspecs/features/functions.prf 2016-08-07 23:17:46.870626280 +0200
|
||||
@@ -63,11 +63,7 @@
|
||||
}
|
||||
|
||||
defineTest(isGCCVersionSupported) {
|
||||
- # The below will work for gcc 4.7 and up and also match gcc 5
|
||||
- greaterThan(QT_GCC_MINOR_VERSION, 6):return(true)
|
||||
- greaterThan(QT_GCC_MAJOR_VERSION, 4):return(true)
|
||||
- skipBuild("Using gcc version "$$QT_GCC_MAJOR_VERSION"."$$QT_GCC_MINOR_VERSION", but at least gcc version 4.7 is required to build Qt WebEngine.")
|
||||
- return(false)
|
||||
+ return(true)
|
||||
}
|
||||
|
||||
defineTest(isQMLTestSupportApiEnabled) {
|
39
srcpkgs/qt5/files/cross-ninja.patch
Normal file
39
srcpkgs/qt5/files/cross-ninja.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/build/compiler_version.py 2016-05-26 14:58:54.000000000 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/build/compiler_version.py 2016-08-08 20:46:31.311068824 +0200
|
||||
@@ -41,7 +41,9 @@
|
||||
"""Look up an environment variable from a possible list of variable names."""
|
||||
for var in var_list:
|
||||
if var in os.environ:
|
||||
- return os.environ[var]
|
||||
+ val = os.environ[var]
|
||||
+ if val != "":
|
||||
+ return val
|
||||
return default
|
||||
|
||||
|
||||
--- qtwebengine/src/3rdparty/ninja/configure.py 2016-05-26 14:58:54.000000000 +0200
|
||||
+++ qtwebengine/src/3rdparty/ninja/configure.py 2016-08-08 20:58:43.594054074 +0200
|
||||
@@ -245,6 +245,8 @@
|
||||
n.newline()
|
||||
|
||||
CXX = configure_env.get('CXX', 'g++')
|
||||
+if CXX == '':
|
||||
+ CXX = 'g++'
|
||||
objext = '.o'
|
||||
if platform.is_msvc():
|
||||
CXX = 'cl'
|
||||
@@ -270,9 +272,12 @@
|
||||
n.variable('builddir', 'build')
|
||||
n.variable('cxx', CXX)
|
||||
if platform.is_msvc():
|
||||
- n.variable('ar', 'link')
|
||||
+ AR = 'link'
|
||||
else:
|
||||
- n.variable('ar', configure_env.get('AR', 'ar'))
|
||||
+ AR = configure_env.get('AR', 'ar')
|
||||
+ if AR == '':
|
||||
+ AR = 'ar'
|
||||
+n.variable('ar', AR)
|
||||
|
||||
if platform.is_msvc():
|
||||
cflags = ['/showIncludes',
|
8
srcpkgs/qt5/files/moc/moc.pro
Normal file
8
srcpkgs/qt5/files/moc/moc.pro
Normal file
|
@ -0,0 +1,8 @@
|
|||
QT += core-private
|
||||
DEFINES += QT_MOC
|
||||
|
||||
include(moc.pri)
|
||||
HEADERS += qdatetime_p.h
|
||||
SOURCES += main.cpp
|
||||
|
||||
load(qt_tool)
|
|
@ -1,70 +0,0 @@
|
|||
--- ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
|
||||
+++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
|
||||
@@ -114,23 +114,13 @@
|
||||
// CLONE_VM, nor CLONE_THREAD, which includes all fork() implementations.
|
||||
ResultExpr RestrictCloneToThreadsAndEPERMFork() {
|
||||
const Arg<unsigned long> flags(0);
|
||||
+ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
|
||||
+ CLONE_THREAD | CLONE_SYSVSEM;
|
||||
+ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID |
|
||||
+ CLONE_DETACHED;
|
||||
+ const BoolExpr thread_clone_ok = (flags&~safe)==required;
|
||||
|
||||
- // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2.
|
||||
- const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES |
|
||||
- CLONE_SIGHAND | CLONE_THREAD |
|
||||
- CLONE_SYSVSEM;
|
||||
- const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED;
|
||||
-
|
||||
- const uint64_t kGlibcPthreadFlags =
|
||||
- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD |
|
||||
- CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID;
|
||||
- const BoolExpr glibc_test = flags == kGlibcPthreadFlags;
|
||||
-
|
||||
- const BoolExpr android_test =
|
||||
- AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask,
|
||||
- flags == kGlibcPthreadFlags);
|
||||
-
|
||||
- return If(IsAndroid() ? android_test : glibc_test, Allow())
|
||||
+ return If(thread_clone_ok, Allow())
|
||||
.ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM))
|
||||
.Else(CrashSIGSYSClone());
|
||||
}
|
||||
--- ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc.orig
|
||||
+++ ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
|
||||
@@ -494,6 +494,7 @@
|
||||
case __NR_mlock:
|
||||
case __NR_munlock:
|
||||
case __NR_munmap:
|
||||
+ case __NR_mremap:
|
||||
return true;
|
||||
case __NR_madvise:
|
||||
case __NR_mincore:
|
||||
@@ -509,7 +510,6 @@
|
||||
case __NR_modify_ldt:
|
||||
#endif
|
||||
case __NR_mprotect:
|
||||
- case __NR_mremap:
|
||||
case __NR_msync:
|
||||
case __NR_munlockall:
|
||||
case __NR_readahead:
|
||||
diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc b/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
|
||||
index 80f02c0..21fbe21 100644
|
||||
--- sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
|
||||
+++ sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
|
||||
@@ -373,6 +373,7 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
|
||||
#if defined(__i386__)
|
||||
case __NR_waitpid:
|
||||
#endif
|
||||
+ case __NR_set_tid_address:
|
||||
return true;
|
||||
case __NR_clone: // Should be parameter-restricted.
|
||||
case __NR_setns: // Privileged.
|
||||
@@ -385,7 +386,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
case __NR_set_thread_area:
|
||||
#endif
|
||||
- case __NR_set_tid_address:
|
||||
case __NR_unshare:
|
||||
#if !defined(__mips__) && !defined(__aarch64__)
|
||||
case __NR_vfork:
|
8
srcpkgs/qt5/files/qdbuscpp2xml/qdbuscpp2xml.pro
Normal file
8
srcpkgs/qt5/files/qdbuscpp2xml/qdbuscpp2xml.pro
Normal file
|
@ -0,0 +1,8 @@
|
|||
QT = core-private dbus-private
|
||||
QMAKE_CXXFLAGS += $$QT_HOST_CFLAGS_DBUS
|
||||
|
||||
include(../moc/moc.pri)
|
||||
|
||||
SOURCES += qdbuscpp2xml.cpp
|
||||
|
||||
load(qt_tool)
|
|
@ -1,91 +0,0 @@
|
|||
QT = core qml network qmldevtools-private
|
||||
|
||||
DEFINES += \
|
||||
QDOC2_COMPAT
|
||||
|
||||
INCLUDEPATH += $$QT_SOURCE_TREE/src/tools/qdoc \
|
||||
$$QT_SOURCE_TREE/src/tools/qdoc/qmlparser
|
||||
|
||||
# Increase the stack size on MSVC to 4M to avoid a stack overflow
|
||||
win32-msvc*:{
|
||||
QMAKE_LFLAGS += /STACK:4194304
|
||||
}
|
||||
|
||||
HEADERS += atom.h \
|
||||
codechunk.h \
|
||||
codemarker.h \
|
||||
codeparser.h \
|
||||
config.h \
|
||||
cppcodemarker.h \
|
||||
cppcodeparser.h \
|
||||
doc.h \
|
||||
editdistance.h \
|
||||
generator.h \
|
||||
helpprojectwriter.h \
|
||||
htmlgenerator.h \
|
||||
location.h \
|
||||
node.h \
|
||||
openedlist.h \
|
||||
plaincodemarker.h \
|
||||
puredocparser.h \
|
||||
qdocdatabase.h \
|
||||
qdoctagfiles.h \
|
||||
qdocindexfiles.h \
|
||||
quoter.h \
|
||||
separator.h \
|
||||
text.h \
|
||||
tokenizer.h \
|
||||
tree.h
|
||||
SOURCES += atom.cpp \
|
||||
codechunk.cpp \
|
||||
codemarker.cpp \
|
||||
codeparser.cpp \
|
||||
config.cpp \
|
||||
cppcodemarker.cpp \
|
||||
cppcodeparser.cpp \
|
||||
doc.cpp \
|
||||
editdistance.cpp \
|
||||
generator.cpp \
|
||||
helpprojectwriter.cpp \
|
||||
htmlgenerator.cpp \
|
||||
location.cpp \
|
||||
main.cpp \
|
||||
node.cpp \
|
||||
openedlist.cpp \
|
||||
plaincodemarker.cpp \
|
||||
puredocparser.cpp \
|
||||
qdocdatabase.cpp \
|
||||
qdoctagfiles.cpp \
|
||||
qdocindexfiles.cpp \
|
||||
quoter.cpp \
|
||||
separator.cpp \
|
||||
text.cpp \
|
||||
tokenizer.cpp \
|
||||
tree.cpp \
|
||||
yyindent.cpp
|
||||
|
||||
### QML/JS Parser ###
|
||||
|
||||
HEADERS += jscodemarker.h \
|
||||
qmlcodemarker.h \
|
||||
qmlcodeparser.h \
|
||||
qmlmarkupvisitor.h \
|
||||
qmlvisitor.h
|
||||
|
||||
SOURCES += jscodemarker.cpp \
|
||||
qmlcodemarker.cpp \
|
||||
qmlcodeparser.cpp \
|
||||
qmlmarkupvisitor.cpp \
|
||||
qmlvisitor.cpp
|
||||
|
||||
### Documentation for qdoc ###
|
||||
|
||||
qtPrepareTool(QDOC, qdoc)
|
||||
qtPrepareTool(QHELPGENERATOR, qhelpgenerator)
|
||||
|
||||
QMAKE_DOCS = $$PWD/doc/config/qdoc.qdocconf
|
||||
|
||||
QMAKE_TARGET_DESCRIPTION = "Qt Documentation Compiler"
|
||||
load(qt_tool)
|
||||
|
||||
TR_EXCLUDE += $$PWD/*
|
23
srcpkgs/qt5/files/qlalr/qlalr.pro
Normal file
23
srcpkgs/qt5/files/qlalr/qlalr.pro
Normal file
|
@ -0,0 +1,23 @@
|
|||
SOURCES += \
|
||||
compress.cpp \
|
||||
cppgenerator.cpp \
|
||||
dotgraph.cpp \
|
||||
lalr.cpp \
|
||||
main.cpp \
|
||||
parsetable.cpp \
|
||||
recognizer.cpp \
|
||||
grammar.cpp
|
||||
|
||||
HEADERS += \
|
||||
compress.h \
|
||||
cppgenerator.h \
|
||||
dotgraph.h \
|
||||
lalr.h \
|
||||
parsetable.h \
|
||||
recognizer.h \
|
||||
grammar_p.h
|
||||
|
||||
OTHER_FILES += \
|
||||
lalr.g
|
||||
|
||||
load(qt_tool)
|
6
srcpkgs/qt5/files/rcc/rcc.pro
Normal file
6
srcpkgs/qt5/files/rcc/rcc.pro
Normal file
|
@ -0,0 +1,6 @@
|
|||
DEFINES += QT_RCC
|
||||
|
||||
include(rcc.pri)
|
||||
SOURCES += main.cpp
|
||||
|
||||
load(qt_tool)
|
11
srcpkgs/qt5/files/uic/uic.pro
Normal file
11
srcpkgs/qt5/files/uic/uic.pro
Normal file
|
@ -0,0 +1,11 @@
|
|||
DEFINES += QT_UIC
|
||||
|
||||
include(uic.pri)
|
||||
include(cpp/cpp.pri)
|
||||
|
||||
HEADERS += uic.h
|
||||
|
||||
SOURCES += main.cpp \
|
||||
uic.cpp
|
||||
|
||||
load(qt_tool)
|
|
@ -0,0 +1,35 @@
|
|||
From 1ac282ad3a859077cbff8bf4773db9bb5b6a5bbd Mon Sep 17 00:00:00 2001
|
||||
From: Felix Janda <felix.janda@posteo.de>
|
||||
Date: Sun, 1 Feb 2015 13:41:08 +0100
|
||||
Subject: [PATCH 1/6] Fix conflict between musl libc <dirent.h> and lss
|
||||
|
||||
Include <dirent.h> late to avoid the macro getdents64 in musl
|
||||
libc's <dirent.h> to conflict with linux_sycall_support.h.
|
||||
---
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/crash_generation/crash_generation_server.cc | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/client/linux/crash_generation/crash_generation_server.cc b/src/client/linux/crash_generation/crash_generation_server.cc
|
||||
index 860e8bc..f0aa801 100644
|
||||
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/crash_generation/crash_generation_server.cc
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/crash_generation/crash_generation_server.cc
|
||||
@@ -28,7 +28,6 @@
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include <assert.h>
|
||||
-#include <dirent.h>
|
||||
#include <fcntl.h>
|
||||
#include <limits.h>
|
||||
#include <poll.h>
|
||||
@@ -49,6 +48,8 @@
|
||||
#include "common/linux/guid_creator.h"
|
||||
#include "common/linux/safe_readlink.h"
|
||||
|
||||
+#include <dirent.h>
|
||||
+
|
||||
static const char kCommandQuit = 'x';
|
||||
|
||||
namespace google_breakpad {
|
||||
--
|
||||
2.0.5
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h 2018-06-15 09:47:20.000000000 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h 2018-09-07 22:21:28.521763716 +0200
|
||||
@@ -50,7 +50,7 @@
|
||||
// info: the collection of register structures.
|
||||
#if defined(__i386__) || defined(__x86_64)
|
||||
static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
|
||||
- const struct _libc_fpstate* fp);
|
||||
+ const struct _fpstate* fp);
|
||||
#elif defined(__aarch64__)
|
||||
static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
|
||||
const struct fpsimd_context* fpregs);
|
||||
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc 2018-06-15 09:47:20.000000000 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc 2018-09-07 22:21:45.766762688 +0200
|
||||
@@ -49,7 +49,7 @@
|
||||
}
|
||||
|
||||
void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
|
||||
- const struct _libc_fpstate* fp) {
|
||||
+ const struct _fpstate* fp) {
|
||||
const greg_t* regs = uc->uc_mcontext.gregs;
|
||||
|
||||
out->context_flags = MD_CONTEXT_X86_FULL |
|
||||
@@ -97,7 +97,7 @@
|
||||
}
|
||||
|
||||
void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
|
||||
- const struct _libc_fpstate* fpregs) {
|
||||
+ const struct _fpstate* fpregs) {
|
||||
const greg_t* regs = uc->uc_mcontext.gregs;
|
||||
|
||||
out->context_flags = MD_CONTEXT_AMD64_FULL;
|
||||
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h 2018-06-15 09:47:20.000000000 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h 2018-09-07 23:36:32.049495285 +0200
|
||||
@@ -48,7 +48,7 @@
|
||||
#if defined(__aarch64__)
|
||||
typedef struct fpsimd_context fpstate_t;
|
||||
#elif !defined(__ARM_EABI__) && !defined(__mips__)
|
||||
-typedef struct _libc_fpstate fpstate_t;
|
||||
+typedef struct _fpstate fpstate_t;
|
||||
#endif
|
||||
|
||||
// These entries store a list of memory regions that the client wants included
|
|
@ -0,0 +1,26 @@
|
|||
From 9001c54d6b974449174a8cee8f3f5d78a9bd6c9e Mon Sep 17 00:00:00 2001
|
||||
From: Felix Janda <felix.janda@posteo.de>
|
||||
Date: Sun, 1 Feb 2015 14:26:52 +0100
|
||||
Subject: [PATCH 3/6] include <sys/reg.h> to get __WORDSIZE on musl libc
|
||||
|
||||
---
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/common/linux/elf_core_dump.h b/src/common/linux/elf_core_dump.h
|
||||
index d03c7a8..02eb391 100644
|
||||
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/linux/elf_core_dump.h
|
||||
@@ -36,6 +36,9 @@
|
||||
#include <elf.h>
|
||||
#include <link.h>
|
||||
#include <stddef.h>
|
||||
+#ifndef __GLIBC__
|
||||
+#include <sys/reg.h>
|
||||
+#endif
|
||||
|
||||
#include "common/memory_range.h"
|
||||
|
||||
--
|
||||
2.0.5
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
From 7e0a2a72d16c11699558054c01a2082517f7dac1 Mon Sep 17 00:00:00 2001
|
||||
From: Felix Janda <felix.janda@posteo.de>
|
||||
Date: Sun, 1 Feb 2015 14:40:41 +0100
|
||||
Subject: [PATCH 6/6] <sys/signal.h> is a nonportable alias for <signal.h>
|
||||
|
||||
---
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc | 2 +-
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/android/include/sys/signal.h | 35 ---------------------------
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/common.gyp | 1 -
|
||||
3 files changed, 1 insertion(+), 37 deletions(-)
|
||||
delete mode 100644 src/common/android/include/sys/signal.h
|
||||
|
||||
diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc
|
||||
index 3e2d196..cc3b1d3 100644
|
||||
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
|
||||
@@ -78,7 +78,7 @@
|
||||
#include <sys/wait.h>
|
||||
#include <unistd.h>
|
||||
|
||||
-#include <sys/signal.h>
|
||||
+#include <signal.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include <sys/user.h>
|
||||
#include <ucontext.h>
|
||||
diff --git a/src/common/android/include/sys/signal.h b/src/common/android/include/sys/signal.h
|
||||
deleted file mode 100644
|
||||
index 20c81e9..0000000
|
||||
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/android/include/sys/signal.h
|
||||
+++ /dev/null
|
||||
@@ -1,35 +0,0 @@
|
||||
-// Copyright (c) 2012, Google Inc.
|
||||
-// All rights reserved.
|
||||
-//
|
||||
-// Redistribution and use in source and binary forms, with or without
|
||||
-// modification, are permitted provided that the following conditions are
|
||||
-// met:
|
||||
-//
|
||||
-// * Redistributions of source code must retain the above copyright
|
||||
-// notice, this list of conditions and the following disclaimer.
|
||||
-// * Redistributions in binary form must reproduce the above
|
||||
-// copyright notice, this list of conditions and the following disclaimer
|
||||
-// in the documentation and/or other materials provided with the
|
||||
-// distribution.
|
||||
-// * Neither the name of Google Inc. nor the names of its
|
||||
-// contributors may be used to endorse or promote products derived from
|
||||
-// this software without specific prior written permission.
|
||||
-//
|
||||
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-
|
||||
-#ifndef GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
|
||||
-#define GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
|
||||
-
|
||||
-#include <signal.h>
|
||||
-
|
||||
-#endif // GOOGLE_BREAKPAD_COMMON_ANDROID_INCLUDE_SYS_SIGNAL_H
|
||||
diff --git a/src/common/common.gyp b/src/common/common.gyp
|
||||
index c49ff85..1a6b1ae 100644
|
||||
--- qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/common.gyp
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/common.gyp
|
||||
@@ -47,7 +47,6 @@
|
||||
'android/include/link.h',
|
||||
'android/include/sgidefs.h',
|
||||
'android/include/sys/procfs.h',
|
||||
- 'android/include/sys/signal.h',
|
||||
'android/include/sys/user.h',
|
||||
'android/include/ucontext.h',
|
||||
'android/testing/include/wchar.h',
|
||||
--
|
||||
2.0.5
|
||||
|
18
srcpkgs/qt5/patches/0010-musl-pread-pwrite.patch
Normal file
18
srcpkgs/qt5/patches/0010-musl-pread-pwrite.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h 2018-09-07 21:25:26.639964100 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h 2018-09-07 21:25:11.611964995 +0200
|
||||
@@ -1794,6 +1794,15 @@
|
||||
/* End of s390/s390x definitions */
|
||||
#endif
|
||||
|
||||
+#ifndef __GLIBC__
|
||||
+ /* For Musl libc pread/pread is the same as pread64/pwrite64 */
|
||||
+#ifndef __NR_pread
|
||||
+#define __NR_pread __NR_pread64
|
||||
+#endif
|
||||
+#ifndef __NR_pwrite
|
||||
+#define __NR_pwrite __NR_pwrite64
|
||||
+#endif
|
||||
+#endif /* ifndef __GLIBC__ */
|
||||
|
||||
/* After forking, we must make sure to only call system calls. */
|
||||
#if defined(__BOUNDED_POINTERS__)
|
32
srcpkgs/qt5/patches/0019-musl-v8-thread-stacksize.patch
Normal file
32
srcpkgs/qt5/patches/0019-musl-v8-thread-stacksize.patch
Normal file
|
@ -0,0 +1,32 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc.orig 2018-09-19 13:42:22.591109990 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/ppapi/utility/threading/simple_thread.cc 2018-09-19 13:43:38.538113908 +0200
|
||||
@@ -12,11 +12,15 @@
|
||||
|
||||
namespace {
|
||||
|
||||
-// Use 2MB default stack size for Native Client, otherwise use system default.
|
||||
#if defined(__native_client__)
|
||||
+// Use 2MB default stack size for Native Client
|
||||
const size_t kDefaultStackSize = 2 * 1024 * 1024;
|
||||
-#else
|
||||
+#elif defined(__GLIBC__)
|
||||
+// Use system default for Gnu libc
|
||||
const size_t kDefaultStackSize = 0;
|
||||
+#else
|
||||
+// Use 2MB default stack size for Musl libc
|
||||
+const size_t kDefaultStackSize = 2 * 1024 * 1024;
|
||||
#endif
|
||||
|
||||
|
||||
--- qtwebengine/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc.orig 2018-09-23 17:42:44.130455819 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/v8/src/base/platform/platform-posix.cc 2018-09-23 17:43:35.195452776 +0200
|
||||
@@ -732,6 +732,9 @@
|
||||
// Default on AIX is 96kB -- bump up to 2MB
|
||||
stack_size = 2 * 1024 * 1024;
|
||||
#endif
|
||||
+#if !defined(__GLIBC__)
|
||||
+ stack_size = 2 * 1024 * 1024;
|
||||
+#endif
|
||||
}
|
||||
if (stack_size > 0) {
|
||||
result = pthread_attr_setstacksize(&attr, stack_size);
|
71
srcpkgs/qt5/patches/0020-musl-sandbox.patch
Normal file
71
srcpkgs/qt5/patches/0020-musl-sandbox.patch
Normal file
|
@ -0,0 +1,71 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2018-06-15 09:47:20.000000000 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc 2018-09-13 19:53:53.453780253 +0200
|
||||
@@ -129,7 +129,7 @@
|
||||
// CLONE_VM, nor CLONE_THREAD, which includes all fork() implementations.
|
||||
ResultExpr RestrictCloneToThreadsAndEPERMFork() {
|
||||
const Arg<unsigned long> flags(0);
|
||||
-
|
||||
+#if defined(__GLIBC__)
|
||||
// TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2.
|
||||
const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES |
|
||||
CLONE_SIGHAND | CLONE_THREAD |
|
||||
@@ -148,6 +148,17 @@
|
||||
return If(IsAndroid() ? android_test : glibc_test, Allow())
|
||||
.ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM))
|
||||
.Else(CrashSIGSYSClone());
|
||||
+#else
|
||||
+ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
|
||||
+ CLONE_THREAD | CLONE_SYSVSEM;
|
||||
+ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID |
|
||||
+ CLONE_DETACHED;
|
||||
+ const BoolExpr thread_clone_ok = (flags&~safe)==required;
|
||||
+
|
||||
+ return If(thread_clone_ok, Allow())
|
||||
+ .ElseIf((flags & (CLONE_VM | CLONE_THREAD)) == 0, Error(EPERM))
|
||||
+ .Else(CrashSIGSYSClone());
|
||||
+#endif
|
||||
}
|
||||
|
||||
ResultExpr RestrictPrctl() {
|
||||
--- qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc 2018-06-15 09:47:20.000000000 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc 2018-09-13 19:56:31.779773940 +0200
|
||||
@@ -375,6 +375,9 @@
|
||||
#if defined(__i386__)
|
||||
case __NR_waitpid:
|
||||
#endif
|
||||
+#if !defined(__GLIBC__)
|
||||
+ case __NR_set_tid_address:
|
||||
+#endif
|
||||
return true;
|
||||
case __NR_clone: // Should be parameter-restricted.
|
||||
case __NR_setns: // Privileged.
|
||||
@@ -387,7 +390,9 @@
|
||||
#if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
|
||||
case __NR_set_thread_area:
|
||||
#endif
|
||||
+#if defined(__GLIBC__)
|
||||
case __NR_set_tid_address:
|
||||
+#endif
|
||||
case __NR_unshare:
|
||||
#if !defined(__mips__) && !defined(__aarch64__)
|
||||
case __NR_vfork:
|
||||
@@ -496,6 +501,9 @@
|
||||
case __NR_mlock:
|
||||
case __NR_munlock:
|
||||
case __NR_munmap:
|
||||
+#if !defined(__GLIBC__)
|
||||
+ case __NR_mremap:
|
||||
+#endif
|
||||
return true;
|
||||
case __NR_madvise:
|
||||
case __NR_mincore:
|
||||
@@ -511,7 +519,9 @@
|
||||
case __NR_modify_ldt:
|
||||
#endif
|
||||
case __NR_mprotect:
|
||||
+#if defined(__GLIBC__)
|
||||
case __NR_mremap:
|
||||
+#endif
|
||||
case __NR_msync:
|
||||
case __NR_munlockall:
|
||||
case __NR_readahead:
|
52
srcpkgs/qt5/patches/0022-libressl-compat.patch
Normal file
52
srcpkgs/qt5/patches/0022-libressl-compat.patch
Normal file
|
@ -0,0 +1,52 @@
|
|||
--- qtbase/config.tests/unix/openssl11/openssl.cpp 2017-11-05 16:07:40.963385070 -0500
|
||||
+++ qtbase/config.tests/unix/openssl11/openssl.cpp 2017-11-05 16:07:51.755255545 -0500
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
#include <openssl/opensslv.h>
|
||||
|
||||
-#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
|
||||
+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
|
||||
# error "OpenSSL >= 1.1 is required"
|
||||
#endif
|
||||
|
||||
|
||||
diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
|
||||
index 41b759364b..17ce5b4b30 100644
|
||||
--- qtbase/src/network/ssl/qsslcontext_openssl.cpp
|
||||
+++ qtbase/src/network/ssl/qsslcontext_openssl.cpp
|
||||
@@ -248,7 +248,7 @@ void QSslContext::applyBackendConfig(QSslContext *sslContext)
|
||||
if (sslContext->sslConfiguration.backendConfiguration().isEmpty())
|
||||
return;
|
||||
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) {
|
||||
QSharedPointer<SSL_CONF_CTX> cctx(q_SSL_CONF_CTX_new(), &q_SSL_CONF_CTX_free);
|
||||
if (cctx) {
|
||||
|
||||
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
index 82ff5e9e3a..77e5d03b7d 100644
|
||||
--- qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
+++ qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
|
||||
@@ -402,7 +402,7 @@ DEFINEFUNC2(int, SSL_CTX_use_PrivateKey, SSL_CTX *a, a, EVP_PKEY *b, b, return -
|
||||
DEFINEFUNC2(int, SSL_CTX_use_RSAPrivateKey, SSL_CTX *a, a, RSA *b, b, return -1, return)
|
||||
DEFINEFUNC3(int, SSL_CTX_use_PrivateKey_file, SSL_CTX *a, a, const char *b, b, int c, c, return -1, return)
|
||||
DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *a, a, return 0, return)
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
DEFINEFUNC(SSL_CONF_CTX *, SSL_CONF_CTX_new, DUMMYARG, DUMMYARG, return 0, return);
|
||||
DEFINEFUNC(void, SSL_CONF_CTX_free, SSL_CONF_CTX *a, a, return ,return);
|
||||
DEFINEFUNC2(void, SSL_CONF_CTX_set_ssl_ctx, SSL_CONF_CTX *a, a, SSL_CTX *b, b, return, return);
|
||||
diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
|
||||
index 4fb8f26cf6..3a7de93113 100644
|
||||
--- qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h
|
||||
+++ qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h
|
||||
@@ -352,7 +352,7 @@ int q_SSL_CTX_use_PrivateKey(SSL_CTX *a, EVP_PKEY *b);
|
||||
int q_SSL_CTX_use_RSAPrivateKey(SSL_CTX *a, RSA *b);
|
||||
int q_SSL_CTX_use_PrivateKey_file(SSL_CTX *a, const char *b, int c);
|
||||
X509_STORE *q_SSL_CTX_get_cert_store(const SSL_CTX *a);
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
SSL_CONF_CTX *q_SSL_CONF_CTX_new();
|
||||
void q_SSL_CONF_CTX_free(SSL_CONF_CTX *a);
|
||||
void q_SSL_CONF_CTX_set_ssl_ctx(SSL_CONF_CTX *a, SSL_CTX *b);
|
37
srcpkgs/qt5/patches/0023-enable_tools-cross.patch
Normal file
37
srcpkgs/qt5/patches/0023-enable_tools-cross.patch
Normal file
|
@ -0,0 +1,37 @@
|
|||
--- qttools/src/src.pro 2018-06-09 13:10:38.000000000 +0200
|
||||
+++ qttools/src/src.pro 2018-08-19 09:34:29.803670205 +0200
|
||||
@@ -1,16 +1,10 @@
|
||||
TEMPLATE = subdirs
|
||||
|
||||
-qtHaveModule(widgets) {
|
||||
- no-png {
|
||||
- message("Some graphics-related tools are unavailable without PNG support")
|
||||
- } else {
|
||||
- SUBDIRS = assistant \
|
||||
- pixeltool \
|
||||
- designer
|
||||
+SUBDIRS = assistant \
|
||||
+ pixeltool \
|
||||
+ designer
|
||||
|
||||
- linguist.depends = designer
|
||||
- }
|
||||
-}
|
||||
+linguist.depends = designer
|
||||
|
||||
SUBDIRS += linguist \
|
||||
qtattributionsscanner
|
||||
@@ -31,11 +25,11 @@
|
||||
SUBDIRS += androiddeployqt
|
||||
}
|
||||
|
||||
-qtHaveModule(dbus): SUBDIRS += qdbus
|
||||
+SUBDIRS += qdbus
|
||||
|
||||
win32|winrt:SUBDIRS += windeployqt
|
||||
winrt:SUBDIRS += winrtrunner
|
||||
-qtHaveModule(gui):!android:!uikit:!qnx:!winrt: SUBDIRS += qtdiag
|
||||
+SUBDIRS += qtdiag
|
||||
|
||||
qtNomakeTools( \
|
||||
pixeltool \
|
|
@ -0,0 +1,20 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/third_party/mesa/src/src/gallium/auxiliary/os/os_thread.h.orig 2018-09-19 17:15:54.558770949 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/mesa/src/src/gallium/auxiliary/os/os_thread.h 2018-09-19 17:22:16.914790675 +0200
|
||||
@@ -62,6 +62,16 @@
|
||||
|
||||
sigfillset(&new_set);
|
||||
pthread_sigmask(SIG_SETMASK, &new_set, &saved_set);
|
||||
+
|
||||
+ pthread_attr_t attr;
|
||||
+ pthread_attr_init(&attr);
|
||||
+#if !defined(__GLIBC__)
|
||||
+ /* For Musl libc set a thread stack size of 2 MiB */
|
||||
+ ret = pthread_attr_setstacksize(&attr, 2 * 1024 * 1024);
|
||||
+ if (ret)
|
||||
+ return 0;
|
||||
+#endif
|
||||
+
|
||||
- ret = pthread_create( &thread, NULL, routine, param );
|
||||
+ ret = pthread_create( &thread, &attr, routine, param );
|
||||
pthread_sigmask(SIG_SETMASK, &saved_set, NULL);
|
||||
if (ret)
|
|
@ -0,0 +1,15 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/base/threading/platform_thread_linux.cc.orig 2018-09-19 18:05:15.523923703 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/base/threading/platform_thread_linux.cc 2018-09-19 18:08:05.150932454 +0200
|
||||
@@ -173,7 +173,12 @@
|
||||
|
||||
size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
|
||||
#if !defined(THREAD_SANITIZER)
|
||||
+#if defined(__GLIBC__)
|
||||
return 0;
|
||||
+#else // defined(__GLIBC__)
|
||||
+ // For Musl libc try with a default stack size of 2 MiB
|
||||
+ return 2 * 1024 * 1024;
|
||||
+#endif // !defined(__GLIBC__)
|
||||
#else
|
||||
// ThreadSanitizer bloats the stack heavily. Evidence has been that the
|
||||
// default stack size isn't enough for some browser tests.
|
15
srcpkgs/qt5/patches/0026-data_pack-be.patch
Normal file
15
srcpkgs/qt5/patches/0026-data_pack-be.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/ui/base/resource/data_pack.cc.orig 2018-09-11 14:16:53.104897379 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/ui/base/resource/data_pack.cc 2018-09-11 14:17:12.009896253 +0200
|
||||
@@ -383,12 +383,6 @@
|
||||
|
||||
bool DataPack::GetStringPiece(uint16_t resource_id,
|
||||
base::StringPiece* data) const {
|
||||
- // It won't be hard to make this endian-agnostic, but it's not worth
|
||||
- // bothering to do right now.
|
||||
-#if !defined(ARCH_CPU_LITTLE_ENDIAN)
|
||||
-#error "datapack assumes little endian"
|
||||
-#endif
|
||||
-
|
||||
const Entry* target = LookupEntryById(resource_id);
|
||||
if (!target)
|
||||
return false;
|
12
srcpkgs/qt5/patches/0027-skia_cpu-be.patch
Normal file
12
srcpkgs/qt5/patches/0027-skia_cpu-be.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/third_party/skia/include/gpu/GrTypes.h.orig 2018-09-11 14:37:56.832822055 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/skia/include/gpu/GrTypes.h 2018-09-11 14:38:11.464821183 +0200
|
||||
@@ -348,9 +348,6 @@
|
||||
static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1;
|
||||
|
||||
// Aliases for pixel configs that match skia's byte order.
|
||||
-#ifndef SK_CPU_LENDIAN
|
||||
- #error "Skia gpu currently assumes little endian"
|
||||
-#endif
|
||||
#if SK_PMCOLOR_BYTE_ORDER(B,G,R,A)
|
||||
static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig;
|
||||
#elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A)
|
12
srcpkgs/qt5/patches/0028-webrtc-be.patch
Normal file
12
srcpkgs/qt5/patches/0028-webrtc-be.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/third_party/webrtc/typedefs.h 2018-06-15 09:47:20.000000000 +0200
|
||||
+++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/typedefs.h 2018-09-14 17:50:45.198153942 +0200
|
||||
@@ -47,6 +47,9 @@
|
||||
#elif defined(__pnacl__)
|
||||
#define WEBRTC_ARCH_32_BITS
|
||||
#define WEBRTC_ARCH_LITTLE_ENDIAN
|
||||
+#elif defined(__MIPSEB__)
|
||||
+#define WEBRTC_ARCH_MIPS_FAMILY
|
||||
+#define WEBRTC_ARCH_BIG_ENDIAN
|
||||
#else
|
||||
#error Please add support for your architecture in typedefs.h
|
||||
#endif
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
is_win = sys.platform.startswith('win')
|
||||
is_linux = sys.platform.startswith('linux')
|
||||
+is_gnu_linux = is_linux and os.path.exists('/lib/libc.so.6')
|
||||
+is_gnu_linux = is_linux and platform.libc_ver()[0].startswith('glibc')
|
||||
is_mac = sys.platform.startswith('darwin')
|
||||
is_aix = sys.platform.startswith('aix')
|
||||
is_posix = is_linux or is_mac or is_aix
|
16
srcpkgs/qt5/patches/0030-qtscript-fastmalloc-stacksize.patch
Normal file
16
srcpkgs/qt5/patches/0030-qtscript-fastmalloc-stacksize.patch
Normal file
|
@ -0,0 +1,16 @@
|
|||
--- qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp 2018-10-07 21:25:14.377211462 +0200
|
||||
+++ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp 2018-10-07 21:26:13.987214537 +0200
|
||||
@@ -1456,7 +1456,12 @@
|
||||
pthread_cond_init(&m_scavengeCondition, 0);
|
||||
m_scavengeThreadActive = true;
|
||||
pthread_t thread;
|
||||
+ pthread_attr_t attr;
|
||||
+ pthread_attr_init(&attr);
|
||||
+#if !defined(__GLIBC__)
|
||||
+ pthread_attr_setstacksize(&attr, 2 * 1024 * 1024);
|
||||
+#endif
|
||||
- pthread_create(&thread, 0, runScavengerThread, this);
|
||||
+ pthread_create(&thread, &attr, runScavengerThread, this);
|
||||
}
|
||||
|
||||
void* TCMalloc_PageHeap::runScavengerThread(void* context)
|
31
srcpkgs/qt5/patches/0031-qtscript-threading-stacksize.patch
Normal file
31
srcpkgs/qt5/patches/0031-qtscript-threading-stacksize.patch
Normal file
|
@ -0,0 +1,31 @@
|
|||
--- qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/ThreadingPthreads.cpp.orig 2018-10-07 21:27:22.340218063 +0200
|
||||
+++ qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/ThreadingPthreads.cpp 2018-10-07 21:29:30.743224688 +0200
|
||||
@@ -168,8 +168,12 @@
|
||||
ThreadData* threadData = new ThreadData();
|
||||
threadData->entryPoint = entryPoint;
|
||||
threadData->arg = data;
|
||||
-
|
||||
- if (pthread_create(&threadHandle, 0, runThreadWithRegistration, static_cast<void*>(threadData))) {
|
||||
+ pthread_attr_t attr;
|
||||
+ pthread_attr_init(&attr);
|
||||
+#if !defined(__GLIBC__)
|
||||
+ pthread_attr_setstacksize(&attr, 2 * 1024 * 1024);
|
||||
+#endif
|
||||
+ if (pthread_create(&threadHandle, &attr, runThreadWithRegistration, static_cast<void*>(threadData))) {
|
||||
LOG_ERROR("Failed to create pthread at entry point %p with data %p", entryPoint, data);
|
||||
delete threadData;
|
||||
return 0;
|
||||
@@ -180,7 +184,12 @@
|
||||
ThreadIdentifier createThreadInternal(ThreadFunction entryPoint, void* data, const char*)
|
||||
{
|
||||
pthread_t threadHandle;
|
||||
- if (pthread_create(&threadHandle, 0, entryPoint, data)) {
|
||||
+ pthread_attr_t attr;
|
||||
+ pthread_attr_init(&attr);
|
||||
+#if !defined(__GLIBC__)
|
||||
+ pthread_attr_setstacksize(&attr, 2 * 1024 * 1024);
|
||||
+#endif
|
||||
+ if (pthread_create(&threadHandle, &attr, entryPoint, data)) {
|
||||
LOG_ERROR("Failed to create pthread at entry point %p with data %p", entryPoint, data);
|
||||
return 0;
|
||||
}
|
|
@ -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
|
|
@ -1,12 +0,0 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/build/compiler_version.py 2016-11-07 15:46:18.000000000 +0100
|
||||
+++ qtwebengine/src/3rdparty/chromium/build/compiler_version.py 2016-12-21 17:11:17.027999078 +0100
|
||||
@@ -116,6 +116,9 @@
|
||||
if mode == 'host':
|
||||
environments = ['CXX_host'] + environments;
|
||||
compiler = GetEnvironFallback(environments, 'c++')
|
||||
+ # Hack: remove leading "@echo compiling xyz && " from compiler string
|
||||
+ if compiler.startswith("@echo"):
|
||||
+ compiler = compiler[compiler.find("&&")+3:]
|
||||
|
||||
if compiler:
|
||||
compiler_version = GetVersion(compiler, tool)
|
|
@ -1,23 +0,0 @@
|
|||
--- ./qtbase/config.tests/unix/openssl11/openssl.cpp.orig 2018-04-24 09:59:45.918038335 +0200
|
||||
+++ ./qtbase/config.tests/unix/openssl11/openssl.cpp 2018-04-24 10:01:21.255182441 +0200
|
||||
@@ -42,6 +42,9 @@
|
||||
#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
|
||||
# error "OpenSSL >= 1.1 is required"
|
||||
#endif
|
||||
+#ifdef LIBRESSL_VERSION_NUMBER
|
||||
+# error "LibreSSL does not support all used OpenSSL-1.1 APIs yet."
|
||||
+#endif
|
||||
|
||||
int main()
|
||||
{
|
||||
--- ./qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h.orig 2018-04-24 10:40:49.121761681 +0200
|
||||
+++ ./qtbase/src/network/ssl/qsslsocket_openssl_symbols_p.h 2018-04-24 10:41:43.082843248 +0200
|
||||
@@ -232,7 +232,7 @@ BIO *q_BIO_new_mem_buf(void *a, int b);
|
||||
int q_BIO_read(BIO *a, void *b, int c);
|
||||
Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c);
|
||||
int q_BN_num_bits(const BIGNUM *a);
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
|
||||
int q_BN_is_word(BIGNUM *a, BN_ULONG w);
|
||||
#else
|
||||
// BN_is_word is implemented purely as a
|
|
@ -1,14 +0,0 @@
|
|||
--- qtbase/src/corelib/io/qfilesystemengine_unix.cpp.orig 2018-11-11 14:00:30.431950676 +0100
|
||||
+++ qtbase/src/corelib/io/qfilesystemengine_unix.cpp 2018-11-11 14:02:57.134958244 +0100
|
||||
@@ -104,11 +104,6 @@
|
||||
# endif
|
||||
# endif
|
||||
|
||||
-# if !QT_CONFIG(statx) && defined(SYS_statx) && QT_HAS_INCLUDE(<linux/stat.h>)
|
||||
-# include <linux/stat.h>
|
||||
-static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf)
|
||||
-{ return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); }
|
||||
-# endif
|
||||
#endif
|
||||
|
||||
#ifndef STATX_BASIC_STATS
|
|
@ -1,30 +0,0 @@
|
|||
--- qttools/src/src.pro 2017-01-02 07:50:13.000000000 +0100
|
||||
+++ qttools/src/src.pro 2017-12-21 12:27:33.414867228 +0100
|
||||
@@ -1,20 +1,13 @@
|
||||
TEMPLATE = subdirs
|
||||
|
||||
-qtHaveModule(widgets) {
|
||||
- no-png {
|
||||
- message("Some graphics-related tools are unavailable without PNG support")
|
||||
- } else {
|
||||
- SUBDIRS = assistant \
|
||||
- pixeltool \
|
||||
- designer
|
||||
+SUBDIRS = assistant \
|
||||
+ pixeltool \
|
||||
+ designer \
|
||||
+ linguist \
|
||||
+ qdoc \
|
||||
+ qtattributionsscanner
|
||||
|
||||
- linguist.depends = designer
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-SUBDIRS += linguist \
|
||||
- qdoc \
|
||||
- qtattributionsscanner
|
||||
+linguist.depends = designer
|
||||
|
||||
!android|android_app: SUBDIRS += qtplugininfo
|
||||
|
|
@ -1,86 +0,0 @@
|
|||
source: https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtwebengine-ffmpeg4.patch?h=packages/qt5-webengine&id=421103a8798335f7788498e56b5eef3f33ecba26
|
||||
|
||||
--- qtwebengine/src/3rdparty/chromium/media/base/decoder_buffer.h
|
||||
+++ qtwebengine/src/3rdparty/chromium/media/base/decoder_buffer.h
|
||||
@@ -37,7 +37,7 @@ class MEDIA_EXPORT DecoderBuffer
|
||||
: public base::RefCountedThreadSafe<DecoderBuffer> {
|
||||
public:
|
||||
enum {
|
||||
- kPaddingSize = 32,
|
||||
+ kPaddingSize = 64,
|
||||
#if defined(ARCH_CPU_ARM_FAMILY)
|
||||
kAlignmentSize = 16
|
||||
#else
|
||||
|
||||
--- qtwebengine/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc
|
||||
+++ qtwebengine/src/3rdparty/chromium/media/ffmpeg/ffmpeg_common.cc
|
||||
@@ -30,10 +30,10 @@ EncryptionScheme GetEncryptionScheme(const AVStream* stream) {
|
||||
|
||||
} // namespace
|
||||
|
||||
-// Why FF_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
|
||||
+// Why AV_INPUT_BUFFER_PADDING_SIZE? FFmpeg assumes all input buffers are
|
||||
// padded. Check here to ensure FFmpeg only receives data padded to its
|
||||
// specifications.
|
||||
-static_assert(DecoderBuffer::kPaddingSize >= FF_INPUT_BUFFER_PADDING_SIZE,
|
||||
+static_assert(DecoderBuffer::kPaddingSize >= AV_INPUT_BUFFER_PADDING_SIZE,
|
||||
"DecoderBuffer padding size does not fit ffmpeg requirement");
|
||||
|
||||
// Alignment requirement by FFmpeg for input and output buffers. This need to
|
||||
@@ -444,11 +444,11 @@ void AudioDecoderConfigToAVCodecContext(const AudioDecoderConfig& config,
|
||||
} else {
|
||||
codec_context->extradata_size = config.extra_data().size();
|
||||
codec_context->extradata = reinterpret_cast<uint8_t*>(
|
||||
- av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
|
||||
+ av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
|
||||
memcpy(codec_context->extradata, &config.extra_data()[0],
|
||||
config.extra_data().size());
|
||||
memset(codec_context->extradata + config.extra_data().size(), '\0',
|
||||
- FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
+ AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -585,11 +585,11 @@ void VideoDecoderConfigToAVCodecContext(
|
||||
} else {
|
||||
codec_context->extradata_size = config.extra_data().size();
|
||||
codec_context->extradata = reinterpret_cast<uint8_t*>(
|
||||
- av_malloc(config.extra_data().size() + FF_INPUT_BUFFER_PADDING_SIZE));
|
||||
+ av_malloc(config.extra_data().size() + AV_INPUT_BUFFER_PADDING_SIZE));
|
||||
memcpy(codec_context->extradata, &config.extra_data()[0],
|
||||
config.extra_data().size());
|
||||
memset(codec_context->extradata + config.extra_data().size(), '\0',
|
||||
- FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
+ AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
}
|
||||
}
|
||||
|
||||
--- qtwebengine/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc
|
||||
+++ qtwebengine/src/3rdparty/chromium/media/filters/ffmpeg_audio_decoder.cc
|
||||
@@ -368,7 +368,7 @@ void FFmpegAudioDecoder::ResetTimestampState(const AudioDecoderConfig& config) {
|
||||
int FFmpegAudioDecoder::GetAudioBuffer(struct AVCodecContext* s,
|
||||
AVFrame* frame,
|
||||
int flags) {
|
||||
- DCHECK(s->codec->capabilities & CODEC_CAP_DR1);
|
||||
+ DCHECK(s->codec->capabilities & AV_CODEC_CAP_DR1);
|
||||
DCHECK_EQ(s->codec_type, AVMEDIA_TYPE_AUDIO);
|
||||
|
||||
// Since this routine is called by FFmpeg when a buffer is required for audio
|
||||
|
||||
--- qtwebengine/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc
|
||||
+++ qtwebengine/src/3rdparty/chromium/media/filters/ffmpeg_video_decoder.cc
|
||||
@@ -427,12 +427,11 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config,
|
||||
codec_context_->thread_type =
|
||||
FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME);
|
||||
codec_context_->opaque = this;
|
||||
- codec_context_->flags |= CODEC_FLAG_EMU_EDGE;
|
||||
codec_context_->get_buffer2 = GetVideoBufferImpl;
|
||||
codec_context_->refcounted_frames = 1;
|
||||
|
||||
if (decode_nalus_)
|
||||
- codec_context_->flags2 |= CODEC_FLAG2_CHUNKS;
|
||||
+ codec_context_->flags2 |= AV_CODEC_FLAG2_CHUNKS;
|
||||
|
||||
AVCodec* codec = avcodec_find_decoder(codec_context_->codec_id);
|
||||
if (!codec || avcodec_open2(codec_context_.get(), codec, NULL) < 0) {
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
--- qtwebengine/src/3rdparty/chromium/base/i18n/unicodestring.h 2017-11-28 14:06:53.000000000 +0100
|
||||
+++ qtwebengine/src/3rdparty/chromium/base/i18n/unicodestring.h 2018-01-27 19:45:41.595846890 +0100
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
inline string16 UnicodeStringToString16(const icu::UnicodeString& unistr) {
|
||||
#if U_ICU_VERSION_MAJOR_NUM >= 59
|
||||
- return base::string16(icu::toUCharPtr(unistr.getBuffer()),
|
||||
+ return base::string16(reinterpret_cast<const UChar *>(unistr.getBuffer()),
|
||||
static_cast<size_t>(unistr.length()));
|
||||
#else
|
||||
return base::string16(unistr.getBuffer(),
|
||||
--- qtwebengine/src/3rdparty/chromium/base/i18n/string_search.cc 2017-11-28 14:06:53.000000000 +0100
|
||||
+++ qtwebengine/src/3rdparty/chromium/base/i18n/string_search.cc 2018-01-27 18:35:29.907629612 +0100
|
||||
@@ -20,7 +20,9 @@
|
||||
const string16& dummy = find_this_;
|
||||
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
- search_ = usearch_open(find_this_.data(), find_this_.size(),
|
||||
- dummy.data(), dummy.size(),
|
||||
+ search_ = usearch_open(reinterpret_cast<const UChar*>(find_this_.data()),
|
||||
+ find_this_.size(),
|
||||
+ reinterpret_cast<const UChar*>(dummy.data()),
|
||||
+ dummy.size(),
|
||||
uloc_getDefault(),
|
||||
NULL, // breakiter
|
||||
@@ -43,7 +43,7 @@
|
||||
bool FixedPatternStringSearchIgnoringCaseAndAccents::Search(
|
||||
const string16& in_this, size_t* match_index, size_t* match_length) {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
- usearch_setText(search_, in_this.data(), in_this.size(), &status);
|
||||
+ usearch_setText(search_, reinterpret_cast<const UChar*>(in_this.data()), in_this.size(), &status);
|
||||
|
||||
// Default to basic substring search if usearch fails. According to
|
||||
// http://icu-project.org/apiref/icu4c/usearch_8h.html, usearch_open will fail
|
||||
--- qtwebengine/src/3rdparty/chromium/base/i18n/bidi_line_iterator.cc 2017-11-28 14:06:53.000000000 +0100
|
||||
+++ qtwebengine/src/3rdparty/chromium/base/i18n/bidi_line_iterator.cc 2018-01-27 18:57:39.643698212 +0100
|
||||
@@ -44,7 +44,7 @@
|
||||
bidi_ = ubidi_openSized(static_cast<int>(text.length()), 0, &error);
|
||||
if (U_FAILURE(error))
|
||||
return false;
|
||||
- ubidi_setPara(bidi_, text.data(), static_cast<int>(text.length()),
|
||||
+ ubidi_setPara(bidi_, reinterpret_cast<const UChar*>(text.data()), static_cast<int>(text.length()),
|
||||
GetParagraphLevelForDirection(direction), NULL, &error);
|
||||
return (U_SUCCESS(error) == TRUE);
|
||||
}
|
||||
--- qtwebengine/src/3rdparty/chromium/base/i18n/break_iterator.cc 2017-11-28 14:06:53.000000000 +0100
|
||||
+++ qtwebengine/src/3rdparty/chromium/base/i18n/break_iterator.cc 2018-01-27 19:08:24.185731464 +0100
|
||||
@@ -59,7 +59,7 @@
|
||||
return false;
|
||||
}
|
||||
if (break_type_ == RULE_BASED) {
|
||||
- iter_ = ubrk_openRules(rules_.c_str(),
|
||||
- static_cast<int32_t>(rules_.length()),
|
||||
- string_.data(),
|
||||
+ iter_ = ubrk_openRules(reinterpret_cast<const UChar *>(rules_.c_str()),
|
||||
+ static_cast<int32_t>(rules_.length()),
|
||||
+ reinterpret_cast<const UChar *>(string_.data()),
|
||||
static_cast<int32_t>(string_.size()),
|
||||
@@ -72,7 +72,7 @@
|
||||
} else {
|
||||
iter_ = ubrk_open(break_type,
|
||||
NULL,
|
||||
- string_.data(),
|
||||
+ reinterpret_cast<const UChar*>(string_.data()),
|
||||
static_cast<int32_t>(string_.size()),
|
||||
&status);
|
||||
if (U_FAILURE(status)) {
|
||||
@@ -128,7 +128,7 @@
|
||||
bool BreakIterator::SetText(const base::char16* text, const size_t length) {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
ubrk_setText(static_cast<UBreakIterator*>(iter_),
|
||||
- text, length, &status);
|
||||
+ reinterpret_cast<const UChar *>(text), length, &status);
|
||||
pos_ = 0; // implicit when ubrk_setText is done
|
||||
prev_ = npos;
|
||||
if (U_FAILURE(status)) {
|
||||
--- qtwebengine/src/3rdparty/chromium/base/i18n/rtl.cc 2017-11-28 14:06:53.000000000 +0100
|
||||
+++ qtwebengine/src/3rdparty/chromium/base/i18n/rtl.cc 2018-01-27 19:25:16.283783677 +0100
|
||||
@@ -212,7 +212,7 @@
|
||||
}
|
||||
|
||||
TextDirection GetFirstStrongCharacterDirection(const string16& text) {
|
||||
- const UChar* string = text.c_str();
|
||||
+ const UChar* string = reinterpret_cast<const UChar *>(text.c_str());
|
||||
size_t length = text.length();
|
||||
size_t position = 0;
|
||||
while (position < length) {
|
||||
@@ -228,7 +228,7 @@
|
||||
}
|
||||
|
||||
TextDirection GetLastStrongCharacterDirection(const string16& text) {
|
||||
- const UChar* string = text.c_str();
|
||||
+ const UChar* string = reinterpret_cast<const UChar *>(text.c_str());
|
||||
size_t position = text.length();
|
||||
while (position > 0) {
|
||||
UChar32 character;
|
||||
@@ -243,7 +243,7 @@
|
||||
}
|
||||
|
||||
TextDirection GetStringDirection(const string16& text) {
|
||||
- const UChar* string = text.c_str();
|
||||
+ const UChar* string = reinterpret_cast<const UChar *>(text.c_str());
|
||||
size_t length = text.length();
|
||||
size_t position = 0;
|
||||
|
||||
@@ -374,7 +374,7 @@
|
||||
#endif // !OS_WIN
|
||||
|
||||
bool StringContainsStrongRTLChars(const string16& text) {
|
||||
- const UChar* string = text.c_str();
|
||||
+ const UChar* string = reinterpret_cast<const UChar *>(text.c_str());
|
||||
size_t length = text.length();
|
||||
size_t position = 0;
|
||||
while (position < length) {
|
||||
--- qtwebengine/src/3rdparty/chromium/base/i18n/icu_string_conversions.cc 2017-11-28 14:06:53.000000000 +0100
|
||||
+++ qtwebengine/src/3rdparty/chromium/base/i18n/icu_string_conversions.cc 2018-01-27 19:51:29.425864834 +0100
|
||||
@@ -151,7 +151,7 @@
|
||||
if (!U_SUCCESS(status))
|
||||
return false;
|
||||
|
||||
- return ConvertFromUTF16(converter, utf16.c_str(),
|
||||
+ return ConvertFromUTF16(converter, reinterpret_cast<const UChar *>(utf16.c_str()),
|
||||
static_cast<int>(utf16.length()), on_error, encoded);
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
SetUpErrorHandlerForToUChars(on_error, converter, &status);
|
||||
std::unique_ptr<char16[]> buffer(new char16[uchar_max_length]);
|
||||
- int actual_size = ucnv_toUChars(converter, buffer.get(),
|
||||
+ int actual_size = ucnv_toUChars(converter, reinterpret_cast<UChar *>(buffer.get()),
|
||||
static_cast<int>(uchar_max_length), encoded.data(),
|
||||
static_cast<int>(encoded.length()), &status);
|
||||
ucnv_close(converter);
|
||||
@@ -205,8 +205,8 @@
|
||||
string16 normalized_utf16;
|
||||
std::unique_ptr<char16[]> buffer(new char16[max_length]);
|
||||
int actual_length = unorm_normalize(
|
||||
- utf16.c_str(), utf16.length(), UNORM_NFC, 0,
|
||||
- buffer.get(), static_cast<int>(max_length), &status);
|
||||
+ reinterpret_cast<const UChar *>(utf16.c_str()), utf16.length(), UNORM_NFC, 0,
|
||||
+ reinterpret_cast<UChar *>(buffer.get()), static_cast<int>(max_length), &status);
|
||||
if (!U_SUCCESS(status))
|
||||
return false;
|
||||
normalized_utf16.assign(buffer.get(), actual_length);
|
||||
--- qtwebengine/src/3rdparty/chromium/base/i18n/case_conversion.cc 2017-11-28 14:06:53.000000000 +0100
|
||||
+++ qtwebengine/src/3rdparty/chromium/base/i18n/case_conversion.cc 2018-01-27 19:59:11.955888696 +0100
|
||||
@@ -65,7 +65,7 @@
|
||||
// Don't use WriteInto, which assumes null terminators.
|
||||
int32_t new_length = case_mapper(
|
||||
- &dest[0], saturated_cast<int32_t>(dest.size()),
|
||||
- string.data(), saturated_cast<int32_t>(string.size()),
|
||||
+ reinterpret_cast<UChar *>(&dest[0]), saturated_cast<int32_t>(dest.size()),
|
||||
+ reinterpret_cast<const UChar *>(string.data()), saturated_cast<int32_t>(string.size()),
|
||||
&error);
|
||||
dest.resize(new_length);
|
||||
} while (error == U_BUFFER_OVERFLOW_ERROR);
|
|
@ -1,51 +1,43 @@
|
|||
# Template file for 'qt5'
|
||||
pkgname=qt5
|
||||
version=5.10.1
|
||||
revision=14
|
||||
version=5.11.2
|
||||
revision=1
|
||||
wrksrc="qt-everywhere-src-${version}"
|
||||
build_style=gnu-configure
|
||||
hostmakedepends="flex ruby gperf git python perl pkg-config protobuf re2c ninja"
|
||||
makedepends="libressl-devel libpng-devel libXrender-devel unixodbc-devel
|
||||
fontconfig-devel libXi-devel libXv-devel libXinerama-devel libXrandr-devel
|
||||
libXcursor-devel libXScrnSaver-devel dbus-devel glib-devel icu-devel
|
||||
cups-devel libjpeg-turbo-devel sqlite-devel alsa-lib-devel tiff-devel SDL2-devel
|
||||
pcre2-devel libmng-devel libevent-devel ffmpeg-devel jsoncpp-devel
|
||||
libsrtp-devel libvpx-devel protobuf-devel snappy-devel minizip-devel
|
||||
libxshmfence-devel libSM-devel xcb-util-keysyms-devel libvpx-devel
|
||||
xcb-util-image-devel xcb-util-renderutil-devel xcb-util-wm-devel
|
||||
libXcomposite-devel libwebp-devel libxkbcommon-devel harfbuzz-devel gtk+3-devel
|
||||
mtdev-devel freetds-devel libmysqlclient-devel postgresql-libs-devel
|
||||
pulseaudio-devel libbluetooth-devel gst-plugins-base1-devel libxslt-devel
|
||||
opus-devel pciutils-devel nss-devel libcap-devel libinput-devel libproxy-devel
|
||||
libxcb-devel libxkbcommon-devel tslib-devel wayland-devel libwayland-egl
|
||||
libGLES MesaLib-devel"
|
||||
hostmakedepends="cmake clang flex git glib-devel gperf ninja pkg-config
|
||||
protobuf python re2c ruby"
|
||||
makedepends="SDL2-devel Vulkan-Headers alsa-lib-devel double-conversion-devel
|
||||
eudev-libudev-devel ffmpeg-devel freetds-devel glib-devel gst-plugins-base1-devel
|
||||
gtk+3-devel icu-devel jsoncpp-devel libXv-devel libbluetooth-devel libcap-devel
|
||||
libevent-devel libinput-devel libmng-devel libmysqlclient-devel libproxy-devel
|
||||
libvpx-devel libwebp-devel libxslt-devel minizip-devel nss-devel
|
||||
opus-devel pciutils-devel pcre2-devel postgresql-libs-devel
|
||||
protobuf-devel pulseaudio-devel snappy-devel tslib-devel
|
||||
unixodbc-devel xcb-util-image-devel xcb-util-keysyms-devel
|
||||
xcb-util-renderutil-devel xcb-util-wm-devel"
|
||||
depends="qtchooser"
|
||||
replaces="qt5-doc<5.6.0 qt5-quick1<5.6.0 qt5-quick1-devel<5.6.0 qt5-webkit<5.6.0 qt5-webkit-devel<5.6.0
|
||||
qt5-enginio<5.7.1 qt5-enginio-devel<5.7.1 qt5-plugin-gtk<5.7.1"
|
||||
homepage="http://qt.io/"
|
||||
homepage="https://qt.io/"
|
||||
short_desc="Cross-platform application and UI framework (QT5)"
|
||||
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||
license="GPL-3, LGPL-2.1"
|
||||
maintainer="Jürgen Buchmüller <pullmoll@t-online.de>"
|
||||
license="GPL-3.0-or-later, LGPL-2.1-or-later"
|
||||
distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/single/qt-everywhere-src-${version}.tar.xz"
|
||||
checksum=05ffba7b811b854ed558abf2be2ddbd3bb6ddd0b60ea4b5da75d277ac15e740a
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
armv5*|mips*) broken="qtwebengine cannot be built for $XBPS_TARGET_MACHINE" ;;
|
||||
esac
|
||||
checksum=c6104b840b6caee596fa9a35bc5f57f67ed5a99d6a36497b6fe66f990a53ca81
|
||||
|
||||
if [ "${XBPS_MACHINE%%-musl}" = i686 ]; then
|
||||
nodebug=yes # prevent OOM
|
||||
fi
|
||||
# Work around SSLv3_{client,server}_method missing in libressl-2.3.3
|
||||
CFLAGS="-DOPENSSL_NO_PSK -DOPENSSL_NO_NEXTPROTONEG"
|
||||
CXXFLAGS="${CFLAGS} -Wno-deprecated-declarations -fno-delete-null-pointer-checks"
|
||||
CXXFLAGS="${CFLAGS} -Wno-deprecated-declarations -Wno-class-memaccess -Wno-packed-not-aligned"
|
||||
# Required for musl libc
|
||||
LDFLAGS="-pthread -ldl -fPIE"
|
||||
|
||||
if [ -n "$CROSS_BUILD" ]; then
|
||||
if [ "$CROSS_BUILD" ]; then
|
||||
# Need some devel packages in the host to build qmake, moc, uic, rcc
|
||||
# wayland-devel contains /usr/bin/wayland-scanner
|
||||
hostmakedepends+=" zlib-devel wayland-devel icu-devel"
|
||||
hostmakedepends+=" icu-devel wayland-devel zlib-devel"
|
||||
# Cross building qtwebengine requires some more host packages
|
||||
hostmakedepends+=" nss-devel libevent-devel"
|
||||
fi
|
||||
|
@ -177,9 +169,6 @@ do_configure() {
|
|||
# Compatibility functions res_ninit() and res_nclose() for musl libc
|
||||
cp ${FILESDIR}/resolv_compat.h ${wrksrc}/qtwebengine/src/3rdparty/chromium/net/dns
|
||||
|
||||
# Fix missing private includes https://bugreports.qt.io/browse/QTBUG-37417
|
||||
sed -i qtbase/mkspecs/features/create_cmake.prf -e "/CMAKE_NO_PRIVATE_INCLUDES = true/d"
|
||||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
armv5*|armv6*) # Disable "yield" assembler instruction
|
||||
sed -i qtwebengine/src/3rdparty/chromium/base/allocator/partition_allocator/spin_lock.cc \
|
||||
|
@ -195,10 +184,11 @@ do_configure() {
|
|||
for config in $(find ${chromium}/third_party/ffmpeg/chromium/config -name "config\.*" | grep linux); do
|
||||
sed -i ${config} -e "s;HAVE_SYSCTL 1;HAVE_SYSCTL 0;"
|
||||
done
|
||||
# Do not use experimental allocator shim (incompatible with musl libc)
|
||||
sed -i qtwebengine/src/3rdparty/chromium/build/common.gypi \
|
||||
-e"s;\('use_experimental_allocator_shim%':\) 1,;\1 0,;"
|
||||
patch -Np0 -d "${wrksrc}/qtwebengine/src/3rdparty/chromium" -i "${FILESDIR}/musl-sandbox.patch"
|
||||
# Do not use allocator shim (incompatible with musl libc)
|
||||
sed -i qtwebengine/src/3rdparty/chromium/build/config/allocator.gni \
|
||||
-e "s;\(use_allocator_shim\) = .*;\1 = false;"
|
||||
# Define to set 2 MiB stack size for qthread
|
||||
export CXXFLAGS+=" -D_POSIX_THREAD_ATTR_STACKSIZE=2097152"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -216,7 +206,6 @@ do_configure() {
|
|||
done
|
||||
|
||||
# Bootstrap gn (generate ninja)
|
||||
|
||||
_msg_cross "Bootstrapping 'gn'"
|
||||
cd ${wrksrc}/qtwebengine/src/3rdparty/chromium/tools/gn
|
||||
conf='is_clang=false'
|
||||
|
@ -235,9 +224,13 @@ do_configure() {
|
|||
conf+=' use_sysroot=false'
|
||||
conf+=' use_allocator="none"'
|
||||
conf+=' is_android=false'
|
||||
|
||||
sed -i ${wrksrc}/qtwebengine/src/core/config/linux.pri \
|
||||
-e "/equals(MARMV/s;true;false;"
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
armv[56]*) conf+=' arm_use_neon=false arm_optionally_use_neon=false';;
|
||||
aarch64*|armv7*) conf+=' arm_use_neon=true arm_optionally_use_neon=false';;
|
||||
armv7*) conf+=' arm_use_neon=true arm_optionally_use_neon=false';;
|
||||
aarch64*) conf+=' arm_use_neon=true arm_optionally_use_neon=false';;
|
||||
esac
|
||||
|
||||
AR="$AR_host" CC="$CC_host" CXX="$CXX_host" LD="$CXX_host" \
|
||||
|
@ -256,8 +249,20 @@ do_configure() {
|
|||
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
mips*) # sgidefs.h is in /usr/include/asm
|
||||
find ${wrksrc} -name Platform.h -exec sed -i "{}" \
|
||||
-e "s;<sgidefs.h>;<asm/sgidefs.h>;" \;
|
||||
for f in \
|
||||
qtwebengine/src/3rdparty/chromium/third_party/lss/linux_syscall_support.h \
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/android/include/asm-mips/fpregdef.h \
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/android/include/asm-mips/regdef.h \
|
||||
qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/common/android/include/asm-mips/asm.h \
|
||||
qtwebengine/src/3rdparty/chromium/third_party/tcmalloc/vendor/src/base/linux_syscall_support.h \
|
||||
qtwebengine/src/3rdparty/chromium/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h \
|
||||
qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h; do
|
||||
sed -i $f -e "s;<sgidefs.h>;<asm/sgidefs.h>;"
|
||||
done
|
||||
# Assume that RGBA order is correct for big endian CPUs
|
||||
sed -i qtwebengine/src/3rdparty/chromium/skia/config/SkUserConfig.h \
|
||||
-e '/#error Read the comment at this location/d'
|
||||
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
@ -296,22 +301,28 @@ do_configure() {
|
|||
opts+=" -no-strip"
|
||||
opts+=" -nomake examples"
|
||||
opts+=" -optimized-qmake"
|
||||
# opts+=" -opengl dynamic"
|
||||
opts+=" -no-use-gold-linker"
|
||||
opts+=" -system-libjpeg"
|
||||
opts+=" -system-libpng"
|
||||
opts+=" -system-zlib"
|
||||
opts+=" -system-sqlite"
|
||||
opts+=" -system-harfbuzz"
|
||||
opts+=" -webengine-alsa"
|
||||
opts+=" -webengine-pulseaudio"
|
||||
# Rely on auto detection (fails if forced for cross builds)
|
||||
# opts+=" -webengine-alsa"
|
||||
opts+=" -no-webengine-embedded-build"
|
||||
opts+=" -webengine-icu"
|
||||
opts+=" -webengine-ffmpeg"
|
||||
opts+=" -webengine-opus"
|
||||
opts+=" -webengine-webp"
|
||||
opts+=" -webengine-pepper-plugins"
|
||||
opts+=" -webengine-printing-and-pdf"
|
||||
opts+=" -webengine-proprietary-codecs"
|
||||
opts+=" -webengine-pulseaudio"
|
||||
opts+=" -webengine-spellchecker"
|
||||
opts+=" -webengine-webrtc"
|
||||
opts+=" -webengine-geolocation"
|
||||
opts+=" -webengine-v8-snapshot"
|
||||
opts+=" -silent"
|
||||
# opts+=" -v"
|
||||
|
||||
|
@ -321,29 +332,13 @@ do_configure() {
|
|||
_create_config ${spec}
|
||||
opts+=" -device ${spec}"
|
||||
opts+=" -device-option CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-"
|
||||
opts+=" -opengl es2"
|
||||
opts+=" -sysroot ${XBPS_CROSS_BASE}"
|
||||
opts+=" -hostprefix host"
|
||||
opts+=" -extprefix /usr"
|
||||
case "$XBPS_TARGET_MACHINE" in
|
||||
armv7*) # V8 snapshot can't be built with a 64 bit host compiler
|
||||
arm*|mips*)
|
||||
# V8 snapshot can't be built with a 64 bit host compiler
|
||||
opts+=" -no-webengine-v8-snapshot"
|
||||
opts+=" -no-webengine-webrtc"
|
||||
;;
|
||||
arm*) # V8 snapshot can't be built with a 64 bit host compiler
|
||||
opts+=" -no-webengine-v8-snapshot"
|
||||
opts+=" -no-webengine-webrtc"
|
||||
# The machine code used here does not work for armv5* or armv6*
|
||||
sed -i qtwebengine/src/3rdparty/chromium/third_party/skia/include/private/SkFixed.h \
|
||||
-e"s;defined(SK_CPU_ARM32);0;"
|
||||
;;
|
||||
mips*) # V8 snapshot can't be built with a 64 bit host compiler
|
||||
opts+=" -no-webengine-v8-snapshot"
|
||||
# webrtc has no provision for mips* architecture in typedefs.h
|
||||
opts+=" -no-webengine-webrtc"
|
||||
;;
|
||||
*) # webrtc is ok
|
||||
opts+=" -webengine-webrtc"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -352,8 +347,6 @@ do_configure() {
|
|||
cp -v ${FILESDIR}/designer_src.pro qttools/src/designer/src/src.pro
|
||||
cp -v ${FILESDIR}/assistant.pro qttools/src/assistant/assistant.pro
|
||||
cp -v ${FILESDIR}/linguist.pro qttools/src/linguist/linguist.pro
|
||||
else
|
||||
opts+=" -webengine-webrtc"
|
||||
fi
|
||||
|
||||
CC="cc" CXX="c++" CPP="cpp" LD="c++" AR="ar" AS="as" NM="nm" \
|
||||
|
@ -395,6 +388,9 @@ do_install() {
|
|||
vmkdir usr/bin
|
||||
vmkdir usr/lib/qt5/bin
|
||||
|
||||
#
|
||||
# Build qmake for the target
|
||||
#
|
||||
_msg_cross "Building qmake"
|
||||
cd ${wrksrc}/qtbase/qmake
|
||||
sed Makefile \
|
||||
|
@ -411,7 +407,31 @@ do_install() {
|
|||
ln -sf ../lib/qt5/bin/qmake ${PKGDESTDIR}/usr/bin/qmake-qt5
|
||||
cp -ar ${wrksrc}/qtbase/mkspecs ${PKGDESTDIR}/usr/lib/qt5
|
||||
|
||||
dirs+=" qtdeclarative/src/qmldevtools"
|
||||
#
|
||||
# Build qmldevtools for the target
|
||||
#
|
||||
base=qmldevtools
|
||||
dir=qtdeclarative/src
|
||||
_msg_cross " Building ${base}"
|
||||
cd ${wrksrc}/${dir}/${base}
|
||||
[ -f "${base}.pro" ] && cp -a ${base}.pro{,.orig}
|
||||
sed -i ${base}.pro \
|
||||
-e "/option(host_build)/d" \
|
||||
-e "/include(..\/3rdparty\/masm\/masm-defs.pri)/i include(../3rdparty/masm/masm.pri)"
|
||||
make clean
|
||||
# Create the Makefile
|
||||
mv -v Makefile{,.orig}
|
||||
${wrksrc}/qtbase/bin/qmake -o Makefile ${base}.pro
|
||||
make ${makejobs}
|
||||
# Restore profile, if any
|
||||
[ -f "${base}.pro.orig" ] && mv -v ${base}.pro{.orig,}
|
||||
mv -v Makefile{.orig,}
|
||||
# Avoid rebuilding the Makefile by changing the rule
|
||||
sed -i Makefile -e "s;^Makefile:;Makefile.host:;"
|
||||
|
||||
#
|
||||
# Build various tools for the target
|
||||
#
|
||||
dirs+=" qtdeclarative/tools/qmlmin"
|
||||
dirs+=" qtdeclarative/tools/qmllint"
|
||||
dirs+=" qtdeclarative/tools/qmlimportscanner"
|
||||
|
@ -428,7 +448,8 @@ do_install() {
|
|||
dirs+=" qttools/src/linguist/lconvert"
|
||||
dirs+=" qttools/src/linguist/lrelease"
|
||||
dirs+=" qttools/src/linguist/lupdate"
|
||||
dirs+=" qttools/src/qdoc"
|
||||
# Cannot be cross compiled (target clang issue)
|
||||
# dirs+=" qttools/src/qdoc"
|
||||
|
||||
for f in ${dirs}; do
|
||||
base=${f##*/}
|
||||
|
@ -440,7 +461,7 @@ do_install() {
|
|||
if [ -x "${wrksrc}/${dir}/bin/${base}" ]; then
|
||||
mv -v ${wrksrc}/${dir}/bin/${base}{,-host}
|
||||
fi
|
||||
make clean
|
||||
[ -f Makefile ] && make clean
|
||||
[ -f "${base}.pro" ] && cp -a ${base}.pro{,.orig}
|
||||
if [ -f "${FILESDIR}/${base}.pro" ]; then
|
||||
# A specific *.pro file is available, use it.
|
||||
|
@ -450,7 +471,7 @@ do_install() {
|
|||
sed -i ${base}.pro -e "/option(host_build)/d"
|
||||
fi
|
||||
# Create the Makefile
|
||||
mv -v Makefile{,.orig}
|
||||
[ -f Makefile ] && mv -v Makefile{,.orig}
|
||||
${wrksrc}/qtbase/bin/qmake -o Makefile ${base}.pro
|
||||
|
||||
# Now patch the Makefile(s) to not use the bootstrap libs and
|
||||
|
@ -466,16 +487,14 @@ do_install() {
|
|||
-e "s;^\(AR\\s*=\).*;\1 $AR cqs;" \
|
||||
-e "s;^\(RANLIB\\s*=\).*;\1 $RANLIB;" \
|
||||
\;
|
||||
if [ "${base}" != "qmldevtools" ]; then
|
||||
# Set a different destination directory and target name
|
||||
sed -i Makefile \
|
||||
-e "s;^\(DESTDIR\\s*=\).*;\1 ${DESTDIR}/usr/lib/qt5/bin/;" \
|
||||
-e "s;^\(TARGET\\s*=\).*;\1 ${DESTDIR}/usr/lib/qt5/bin/${base}-target;"
|
||||
fi
|
||||
# Set a different destination directory and target name
|
||||
sed -i Makefile \
|
||||
-e "s;^\(DESTDIR\\s*=\).*;\1 ${DESTDIR}/usr/lib/qt5/bin/;" \
|
||||
-e "s;^\(TARGET\\s*=\).*;\1 ${DESTDIR}/usr/lib/qt5/bin/${base}-target;"
|
||||
make ${makejobs}
|
||||
# Restore profile, if any
|
||||
[ -f "${base}.pro.orig" ] && mv -v ${base}.pro{.orig,}
|
||||
mv -v Makefile{.orig,}
|
||||
[ -f Makefile.orig ] && mv -v Makefile{.orig,}
|
||||
# Avoid rebuilding the Makefile by changing the rule
|
||||
sed -i Makefile -e "s;^Makefile:;Makefile.host:;"
|
||||
if [ -x "${wrksrc}/${dir}/bin/${base}-host" ]; then
|
||||
|
|
Loading…
Reference in a new issue