From c0506fae37e0efb4b518279f9236429648b818ad Mon Sep 17 00:00:00 2001 From: jbu Date: Sat, 4 Jul 2015 10:34:17 +0200 Subject: [PATCH] qt5: update to 5.5.0 + Remove obsolete patches/qt-musl-rtld_deepbind.patch + Remove some obsolete sections from patches/fix-execinfo.patch + Add some new sections to above + Modify the patches/qt-musl-pthread_getattr_np.patch for changed source files + Fix some openssl vs. libressl things with patches/libressl-compat.patch + Add some newly required entries to common/shlibs + Add makedepends for libinput-devel and libproxy-devel --- common/shlibs | 3 + srcpkgs/qt5/patches/fix-execinfo.patch | 127 +++++++----------- srcpkgs/qt5/patches/libressl-compat.patch | 38 ++++++ .../patches/qt-musl-pthread_getattr_np.patch | 16 +-- .../qt5/patches/qt-musl-rtld_deepbind.patch | 18 --- srcpkgs/qt5/patches/qt-musl-sys_errno_h.patch | 4 +- srcpkgs/qt5/template | 24 ++-- 7 files changed, 115 insertions(+), 115 deletions(-) create mode 100644 srcpkgs/qt5/patches/libressl-compat.patch delete mode 100644 srcpkgs/qt5/patches/qt-musl-rtld_deepbind.patch diff --git a/common/shlibs b/common/shlibs index 82c0abe5f21..4c428f4b475 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1819,6 +1819,8 @@ libQt5Widgets.so.5 qt5-5.4.0_1 libQt5OpenGL.so.5 qt5-5.3.2_1 libQt5Concurrent.so.5 qt5-5.3.2_1 libQt5PrintSupport.so.5 qt5-5.3.2_1 +libQt5EglDeviceIntegration.so.5 qt5-5.5.0_1 +libQt5XcbQpa.so.5 qt5-5.5.0_1 libQt5Qml.so.5 qt5-declarative-5.3.2_1 libQt5Quick.so.5 qt5-declarative-5.3.2_1 libQt5QuickWidgets.so.5 qt5-declarative-5.3.2_1 @@ -1834,6 +1836,7 @@ libQt5Nfc.so.5 qt5-connectivity-5.3.2_1 libQt5QuickParticles.so.5 qt5-declarative-5.3.2_1 libQt5QuickTest.so.5 qt5-declarative-5.3.2_1 libEnginio.so.1 qt5-enginio-5.3.2_1 +libqgsttools_p.so.1 qt5-multimedia-5.5.0_1 libQt5MultimediaQuick_p.so.5 qt5-multimedia-5.3.2_1 libQt5MultimediaWidgets.so.5 qt5-multimedia-5.3.2_1 libQt5Multimedia.so.5 qt5-multimedia-5.3.2_1 diff --git a/srcpkgs/qt5/patches/fix-execinfo.patch b/srcpkgs/qt5/patches/fix-execinfo.patch index 6b7342cc783..7f16521ec6f 100644 --- a/srcpkgs/qt5/patches/fix-execinfo.patch +++ b/srcpkgs/qt5/patches/fix-execinfo.patch @@ -18,71 +18,6 @@ *size = backtrace(stack, *size); #elif OS(WINDOWS) && !OS(WINCE) // The CaptureStackBackTrace function is available in XP, but it is not defined ---- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc.orig 2015-05-11 17:47:05.730337744 +0200 -+++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2015-05-11 17:50:09.730450061 +0200 -@@ -22,7 +22,7 @@ - #if defined(__GLIBCXX__) - #include - #endif --#if !defined(__UCLIBC__) -+#if defined(__GLIBC__) - #include - #endif - -@@ -73,7 +73,7 @@ void DemangleSymbols(std::string* text) - // Note: code in this function is NOT async-signal safe (std::string uses - // malloc internally). - --#if defined(__GLIBCXX__) && !defined(__UCLIBC__) -+#if defined(__GLIBCXX__) && defined(__GLIBC__) - - std::string::size_type search_from = 0; - while (search_from < text->size()) { -@@ -110,7 +110,7 @@ void DemangleSymbols(std::string* text) - } - } - --#endif // defined(__GLIBCXX__) && !defined(__UCLIBC__) -+#endif // defined(__GLIBCXX__) && defined(__GLIBC__) - } - #endif // !defined(USE_SYMBOLIZE) - -@@ -169,7 +169,7 @@ void ProcessBacktrace(void *const *trace - - handler->HandleOutput("\n"); - } --#elif !defined(__UCLIBC__) -+#elif defined(__GLIBC__) - bool printed = false; - - // Below part is async-signal unsafe (uses malloc), so execute it only -@@ -281,7 +281,7 @@ void StackDumpSignalHandler(int signal, - } - PrintToStderr("\n"); - --#if !defined(__UCLIBC__) -+#if defined(__GLIBC__) - debug::StackTrace().Print(); - #endif - -@@ -742,7 +742,7 @@ StackTrace::StackTrace() { - // NOTE: This code MUST be async-signal safe (it's used by in-process - // stack dumping signal handler). NO malloc or stdio is allowed here. - --#if !defined(__UCLIBC__) -+#if defined(__GLIBC__) - // Though the backtrace API man page does not list any possible negative - // return values, we take no chance. - count_ = base::saturated_cast(backtrace(trace_, arraysize(trace_))); -@@ -751,7 +751,7 @@ StackTrace::StackTrace() { - #endif - } - --#if !defined(__UCLIBC__) -+#if defined(__GLIBC__) - void StackTrace::Print() const { - // 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. --- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp.orig 2015-05-11 17:52:11.308845782 +0200 +++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp 2015-05-11 17:52:54.731344269 +0200 @@ -65,7 +65,7 @@ @@ -112,17 +47,6 @@ Dl_info info; if (!dladdr(addr, &info) || !info.dli_sname) return; ---- qtwebengine/src/3rdparty/chromium/third_party/icu/source/common/unicode/plinux.h.orig 2015-05-11 21:54:12.721430155 +0200 -+++ qtwebengine/src/3rdparty/chromium/third_party/icu/source/common/unicode/plinux.h 2015-05-11 21:54:21.105450434 +0200 -@@ -282,7 +282,7 @@ - #if 1 - #define U_TZSET tzset - #endif --#if !defined(__UCLIBC__) -+#if defined(__GLIBC__) - #define U_TIMEZONE __timezone - #endif - #if 1 --- qtwebengine/src/3rdparty/chromium/third_party/libxml/src/threads.c.orig 2015-05-12 06:49:49.220140993 +0200 +++ qtwebengine/src/3rdparty/chromium/third_party/libxml/src/threads.c 2015-05-12 06:52:15.196605626 +0200 @@ -48,7 +48,7 @@ @@ -143,3 +67,54 @@ #endif /* __GNUC__ */ #endif /* HAVE_PTHREAD_H */ +--- qtwebengine/src/3rdparty/chromium/third_party/webrtc/base/checks.cc 2015-06-29 22:07:59.000000000 +0200 ++++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/base/checks.cc 2015-07-04 07:31:41.374531401 +0200 +@@ -18,8 +18,10 @@ + + #if defined(__GLIBCXX__) && !defined(__UCLIBC__) + #include ++#if defined(__GLIBC__) + #include + #endif ++#endif + + #if defined(WEBRTC_ANDROID) + #define LOG_TAG "rtc" +@@ -55,7 +57,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(__UCLIBC__) && defined(__GLIBC__) + void* trace[100]; + int size = backtrace(trace, sizeof(trace) / sizeof(*trace)); + char** symbols = backtrace_symbols(trace, size); +--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2015-06-29 22:09:56.000000000 +0200 ++++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2015-07-04 08:07:09.860525096 +0200 +@@ -22,7 +22,7 @@ + #if defined(__GLIBCXX__) + #include + #endif +-#if !defined(__UCLIBC__) ++#if defined(__GLIBC__) + #include + #endif + +@@ -169,7 +169,7 @@ + + handler->HandleOutput("\n"); + } +-#elif !defined(__UCLIBC__) ++#elif defined(__GLIBC__) + bool printed = false; + + // Below part is async-signal unsafe (uses malloc), so execute it only +@@ -738,7 +738,7 @@ + // NOTE: This code MUST be async-signal safe (it's used by in-process + // stack dumping signal handler). NO malloc or stdio is allowed here. + +-#if !defined(__UCLIBC__) ++#if defined(__GLIBC__) + // Though the backtrace API man page does not list any possible negative + // return values, we take no chance. + count_ = base::saturated_cast(backtrace(trace_, arraysize(trace_))); diff --git a/srcpkgs/qt5/patches/libressl-compat.patch b/srcpkgs/qt5/patches/libressl-compat.patch new file mode 100644 index 00000000000..cc6d3aadbee --- /dev/null +++ b/srcpkgs/qt5/patches/libressl-compat.patch @@ -0,0 +1,38 @@ +The checks for OPENSSL_VERSION_NUMBER > 0x10002000 are used to +enable openssl specific macros and functions which libressl +obviously does not provide, thus add some additional tests +to disable that code for libressl. + +--- qtbase/src/network/ssl/qsslcontext_openssl.cpp 2015-06-29 22:04:46.000000000 +0200 ++++ qtbase/src/network/ssl/qsslcontext_openssl.cpp 2015-07-04 03:51:25.926570550 +0200 +@@ -338,7 +338,7 @@ + + const QVector qcurves = sslContext->sslConfiguration.ellipticCurves(); + if (!qcurves.isEmpty()) { +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) ++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC) && defined(SSL_CTRL_SET_CURVES) + // Set the curves to be used + if (q_SSLeay() >= 0x10002000L) { + // SSL_CTX_ctrl wants a non-const pointer as last argument, +--- qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp 2015-06-29 22:04:46.000000000 +0200 ++++ qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp 2015-07-04 03:58:29.430569295 +0200 +@@ -406,7 +406,7 @@ + DEFINEFUNC(EC_KEY *, EC_KEY_new_by_curve_name, int nid, nid, return 0, return) + DEFINEFUNC(void, EC_KEY_free, EC_KEY *ecdh, ecdh, return, DUMMYARG) + DEFINEFUNC2(size_t, EC_get_builtin_curves, EC_builtin_curve * r, r, size_t nitems, nitems, return 0, return) +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) && !defined(LIBRESSL_VERSION_NUMBER) + DEFINEFUNC(int, EC_curve_nist2nid, const char *name, name, return 0, return) + #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L + #endif // OPENSSL_NO_EC +--- qtbase/src/network/ssl/qsslellipticcurve_openssl.cpp 2015-07-04 04:05:26.110568061 +0200 ++++ qtbase/src/network/ssl/qsslellipticcurve_openssl.cpp 2015-07-04 04:06:01.709567956 +0200 +@@ -76,7 +76,7 @@ + + int nid = q_OBJ_sn2nid(curveNameLatin1.data()); + +-#if OPENSSL_VERSION_NUMBER >= 0x10002000L ++#if (OPENSSL_VERSION_NUMBER >= 0x10002000L) && !defined(LIBRESSL_VERSION_NUMBER) + if (nid == 0 && q_SSLeay() >= 0x10002000L) + nid = q_EC_curve_nist2nid(curveNameLatin1.data()); + #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L diff --git a/srcpkgs/qt5/patches/qt-musl-pthread_getattr_np.patch b/srcpkgs/qt5/patches/qt-musl-pthread_getattr_np.patch index 155f0bdbf21..e7f39591448 100644 --- a/srcpkgs/qt5/patches/qt-musl-pthread_getattr_np.patch +++ b/srcpkgs/qt5/patches/qt-musl-pthread_getattr_np.patch @@ -1,13 +1,13 @@ The musl libc also has pthread_getattr_np() ---- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/ThreadState.cpp 2015-02-17 05:58:05.000000000 +0100 -+++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/ThreadState.cpp 2015-06-05 02:29:15.253256411 +0200 -@@ -54,7 +54,7 @@ - +--- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/ThreadState.cpp 2015-06-29 22:08:50.000000000 +0200 ++++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/ThreadState.cpp 2015-07-04 02:39:41.192583302 +0200 +@@ -64,7 +64,7 @@ + static void* getStackStart() { --#if defined(__GLIBC__) || OS(ANDROID) -+#if defined(__GLIBC__) || OS(ANDROID) || OS(LINUX_MUSL) +-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) ++#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) || OS(LINUX_MUSL) pthread_attr_t attr; - if (!pthread_getattr_np(pthread_self(), &attr)) { - void* base; + int error; + #if OS(FREEBSD) diff --git a/srcpkgs/qt5/patches/qt-musl-rtld_deepbind.patch b/srcpkgs/qt5/patches/qt-musl-rtld_deepbind.patch deleted file mode 100644 index a77c9600cef..00000000000 --- a/srcpkgs/qt5/patches/qt-musl-rtld_deepbind.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- qtwebengine/src/3rdparty/chromium/third_party/libjingle/source/talk/base/latebindingsymboltable.cc 2015-02-17 05:58:22.000000000 +0100 -+++ qtwebengine/src/3rdparty/chromium/third_party/libjingle/source/talk/base/latebindingsymboltable.cc 2015-06-05 01:29:43.582266992 +0200 -@@ -118,6 +118,7 @@ - // versions of the same library to not explode. - RTLD_NOW|RTLD_LOCAL - #ifdef LINUX -+#ifdef __GLIBC__ - // RTLD_DEEPBIND makes symbol dependencies in the - // newly-loaded tree prefer to resolve to definitions within - // that tree (the default on OS X). This is necessary for -@@ -125,6 +126,7 @@ - // library to not explode. - |RTLD_DEEPBIND - #endif -+#endif - ); // NOLINT - #else - #error Not implemented diff --git a/srcpkgs/qt5/patches/qt-musl-sys_errno_h.patch b/srcpkgs/qt5/patches/qt-musl-sys_errno_h.patch index 17e540f2615..e548c3f20bd 100644 --- a/srcpkgs/qt5/patches/qt-musl-sys_errno_h.patch +++ b/srcpkgs/qt5/patches/qt-musl-sys_errno_h.patch @@ -1,7 +1,7 @@ Fix a warning issued by musl libc headers ---- qtwebengine/src/3rdparty/chromium/base/file_util_posix.cc 2015-02-17 05:57:34.000000000 +0100 -+++ qtwebengine/src/3rdparty/chromium/base/file_util_posix.cc 2015-06-05 12:20:48.831848404 +0200 +--- qtwebengine/src/3rdparty/chromium/base/files/file_util_posix.cc 2015-02-17 05:57:34.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/base/files/file_util_posix.cc 2015-06-05 12:20:48.831848404 +0200 @@ -12,7 +12,7 @@ #include #include diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template index 235b17a5fb6..3136dc45165 100644 --- a/srcpkgs/qt5/template +++ b/srcpkgs/qt5/template @@ -1,14 +1,14 @@ # Template file for 'qt5' pkgname=qt5 -version=5.4.2 -revision=2 +version=5.5.0 +revision=1 wrksrc="qt-everywhere-opensource-src-${version}" homepage="http://qt.io/" short_desc="A cross-platform application and UI framework (QT5)" maintainer="Juan RP " license="GPL-3, LGPL-2.1" distfiles="http://download.qt.io/official_releases/qt/${version%.*}/${version}/single/qt-everywhere-opensource-src-${version}.tar.xz" -checksum=8c6d070613b721452f8cffdea6bddc82ce4f32f96703e3af02abb91a59f1ea25 +checksum=7ea2a16ecb8088e67db86b0835b887d5316121aeef9565d5d19be3d539a2c2af nocross=yes hostmakedepends="flex ruby gperf python perl pkg-config" @@ -21,7 +21,8 @@ makedepends=" libXcomposite-devel libwebp-devel libxkbcommon-devel harfbuzz-devel gtk+-devel mtdev-devel libmysqlclient-devel postgresql-libs-devel pulseaudio-devel libbluetooth-devel gst-plugins-base1-devel libxslt-devel pciutils-devel - nss-devel libcap-devel libxkbcommon-devel wayland-devel" + nss-devel libcap-devel libinput-devel libproxy-devel libxkbcommon-devel + wayland-devel" depends="qtchooser" pre_configure() { @@ -39,7 +40,7 @@ pre_configure() { done # Define WTF_OS_LINUX_MUSL to 1 to activate the patch qt-musl-pthread_getattr_np.patch sed -i ${chromium}/third_party/WebKit/Source/platform/heap/ThreadState.cpp \ - -e "/namespace WebCore/i #define WTF_OS_LINUX_MUSL 1" + -e "/namespace blink/i #define WTF_OS_LINUX_MUSL 1" esac } do_configure() { @@ -58,17 +59,18 @@ do_configure() { -translationdir /usr/share/qt5/translations \ -examplesdir /usr/share/qt5/examples \ -archdatadir /usr/lib/qt5 \ - -nomake examples -accessibility -fontconfig -icu -openssl-linked \ - -dbus-linked -no-pch -no-strip -silent -optimized-qmake \ - -system-libjpeg -system-libpng -system-sqlite -system-zlib \ - -system-harfbuzz" + -nomake examples \ + -accessibility -fontconfig -icu \ + -openssl-linked -dbus-linked \ + -no-pch -no-strip -silent -optimized-qmake \ + -system-libjpeg -system-libpng -system-zlib \ + -system-sqlite -system-harfbuzz" case "$XBPS_TARGET_MACHINE" in - *-musl) # -reduce-relocations is experimental; may cause linker errors + arm*|*-musl) # -reduce-relocations is experimental; may cause linker errors ;; *) opts+=" -reduce-relocations" ;; esac - ./configure ${opts} } do_build() {