From 28c0c4625d27e128693845c6dda5dcc3ad153f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Thu, 17 Mar 2016 11:48:07 +0100 Subject: [PATCH] qt5: update to 5.6.0 See #3853 --- common/shlibs | 95 ++-- srcpkgs/qt5-doc/template | 47 ++ srcpkgs/{qt5-doc => qt5-examples} | 0 srcpkgs/qt5-quick1-devel | 1 - srcpkgs/{qt5-quick1 => qt5-quickcontrols2} | 0 srcpkgs/qt5-webkit | 1 - srcpkgs/qt5-webkit-devel | 2 +- .../qt5-webkit/patches/qt-musl-execinfo.patch | 20 + .../patches/qt5-webkit-pthread.patch | 32 ++ srcpkgs/qt5-webkit/template | 33 ++ srcpkgs/qt5/patches/fix-execinfo.patch | 128 ++--- srcpkgs/qt5/patches/pic.patch | 11 - srcpkgs/qt5/patches/qt-musl-mallinfo.patch | 19 + .../patches/qt-musl-pthread_getattr_np.patch | 13 - srcpkgs/qt5/patches/qt-musl-socklen.patch | 14 - srcpkgs/qt5/patches/qt-musl-stackframe.patch | 20 + srcpkgs/qt5/template | 463 +++++------------- 17 files changed, 386 insertions(+), 513 deletions(-) create mode 100644 srcpkgs/qt5-doc/template rename srcpkgs/{qt5-doc => qt5-examples} (100%) delete mode 120000 srcpkgs/qt5-quick1-devel rename srcpkgs/{qt5-quick1 => qt5-quickcontrols2} (100%) delete mode 120000 srcpkgs/qt5-webkit create mode 100644 srcpkgs/qt5-webkit/patches/qt-musl-execinfo.patch create mode 100644 srcpkgs/qt5-webkit/patches/qt5-webkit-pthread.patch create mode 100644 srcpkgs/qt5-webkit/template delete mode 100644 srcpkgs/qt5/patches/pic.patch delete mode 100644 srcpkgs/qt5/patches/qt-musl-pthread_getattr_np.patch delete mode 100644 srcpkgs/qt5/patches/qt-musl-socklen.patch create mode 100644 srcpkgs/qt5/patches/qt-musl-stackframe.patch diff --git a/common/shlibs b/common/shlibs index b19c699e1e..b7be435cfb 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1841,53 +1841,54 @@ libgltf-0.0.so.0 libgltf-0.0.2_1 libabw-0.1.so.1 libabw-0.1.0_1 libcmis-0.5.so.5 libcmis-0.5.0_1 libcmis-c-0.5.so.5 libcmis-0.5.0_1 -libQt5Core.so.5 qt5-5.3.2_1 -libQt5Xml.so.5 qt5-5.3.2_1 -libQt5DBus.so.5 qt5-5.3.2_1 -libQt5Sql.so.5 qt5-5.3.2_1 -libQt5Test.so.5 qt5-5.3.2_1 -libQt5Network.so.5 qt5-5.3.2_1 -libQt5Gui.so.5 qt5-5.3.2_1 -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 -libQt5XmlPatterns.so.5 qt5-xmlpatterns-5.3.2_1 -libQt5Script.so.5 qt5-script-5.3.2_1 -libQt5WebKitWidgets.so.5 qt5-webkit-5.3.2_1 -libQt5WebKit.so.5 qt5-webkit-5.3.2_1 -libQt5Sensors.so.5 qt5-sensors-5.3.2_1 -libQt5Positioning.so.5 qt5-location-5.3.2_1 -libQt5Location.so.5 qt5-location-5.4.1_4 -libQt5Bluetooth.so.5 qt5-connectivity-5.3.2_1 -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 -libQt5Declarative.so.5 qt5-quick1-5.3.2_1 -libQt5ScriptTools.so.5 qt5-script-5.3.2_1 -libQt5SerialPort.so.5 qt5-serialport-5.3.2_1 -libQt5Svg.so.5 qt5-svg-5.3.2_1 -libQt5Designer.so.5 qt5-tools-5.3.2_1 -libQt5CLucene.so.5 qt5-tools-5.3.2_1 -libQt5DesignerComponents.so.5 qt5-tools-5.3.2_1 -libQt5Help.so.5 qt5-tools-5.3.2_1 -libQt5WebSockets.so.5 qt5-websockets-5.3.2_1 -libQt5X11Extras.so.5 qt5-x11extras-5.3.2_1 -libQt5WebChannel.so.5 qt5-webchannel-5.4.0_1 -libQt5WebEngine.so.5 qt5-webengine-5.4.0_1 -libQt5WebEngineCore.so.5 qt5-webengine-5.4.0_1 -libQt5WebEngineWidgets.so.5 qt5-webengine-5.4.0_1 -libQt5WaylandClient.so.5 qt5-wayland-5.4.0_1 +libQt5Bluetooth.so.5 qt5-connectivity-5.6.0_1 +libQt5Nfc.so.5 qt5-connectivity-5.6.0_1 +libQt5Qml.so.5 qt5-declarative-5.6.0_1 +libQt5Quick.so.5 qt5-declarative-5.6.0_1 +libQt5QuickTest.so.5 qt5-declarative-5.6.0_1 +libQt5QuickWidgets.so.5 qt5-declarative-5.6.0_1 +libQt5QuickParticles.so.5 qt5-declarative-5.6.0_1 +libQt5Enginio.so.1 qt5-engineio-5.6.0_1 +libEnginio.so.1 qt5-enginio-5.6.0_1 +libQt5Positioning.so.5 qt5-location-5.6.0_1 +libQt5Location.so.5 qt5-location-5.6.0_1 +libQt5Multimedia.so.5 qt5-multimedia-5.6.0_1 +libQt5MultimediaQuick_p.so.5 qt5-multimedia-5.6.0_1 +libQt5MultimediaWidgets.so.5 qt5-multimedia-5.6.0_1 +libqgsttools_p.so.1 qt5-multimedia-5.6.0_1 +libQt5LabsTemplates.so.5 qt5-quickcontrols2-5.6.0_1 +libQt5Script.so.5 qt5-script-5.6.0_1 +libQt5ScriptTools.so.5 qt5-script-5.6.0_1 +libQt5Sensors.so.5 qt5-sensors-5.6.0_1 +libQt5SerialPort.so.5 qt5-serialport-5.6.0_1 +libQt5Svg.so.5 qt5-svg-5.6.0_1 +libQt5CLucene.so.5 qt5-tools-5.6.0_1 +libQt5Help.so.5 qt5-tools-5.6.0_1 +libQt5Designer.so.5 qt5-tools-5.6.0_1 +libQt5DesignerComponents.so.5 qt5-tools-5.6.0_1 +libQt5WaylandClient.so.5 qt5-wayland-5.6.0_1 +libQt5WebChannel.so.5 qt5-webchannel-5.6.0_1 +libQt5WebEngineCore.so.5 qt5-webengine-5.6.0_1 +libQt5WebEngine.so.5 qt5-webengine-5.6.0_1 +libQt5WebEngineWidgets.so.5 qt5-webengine-5.6.0_1 +libQt5WebSockets.so.5 qt5-websockets-5.6.0_1 +libQt5X11Extras.so.5 qt5-x11extras-5.6.0_1 +libQt5XmlPatterns.so.5 qt5-xmlpatterns-5.6.0_1 +libQt5Core.so.5 qt5-5.6.0_1 +libQt5Network.so.5 qt5-5.6.0_1 +libQt5Sql.so.5 qt5-5.6.0_1 +libQt5Xml.so.5 qt5-5.6.0_1 +libQt5Gui.so.5 qt5-5.6.0_1 +libQt5Widgets.so.5 qt5-5.6.0_1 +libQt5Test.so.5 qt5-5.6.0_1 +libQt5DBus.so.5 qt5-5.6.0_1 +libQt5Concurrent.so.5 qt5-5.6.0_1 +libQt5OpenGL.so.5 qt5-5.6.0_1 +libQt5PrintSupport.so.5 qt5-5.6.0_1 +libQt5XcbQpa.so.5 qt5-5.6.0_1 +libQt5EglDeviceIntegration.so.5 qt5-5.6.0_1 +libQt5WebKit.so.5 qt5-webkit-5.6.0_1 +libQt5WebKitWidgets.so.5 qt5-webkit-5.6.0_1 libx265.so.79 x265-1.9_1 libQt5Xdg.so.1 libqtxdg-1.0.0_1 liblxqt-qt5.so.0 liblxqt-0.8.0_1 diff --git a/srcpkgs/qt5-doc/template b/srcpkgs/qt5-doc/template new file mode 100644 index 0000000000..8545b8f0e4 --- /dev/null +++ b/srcpkgs/qt5-doc/template @@ -0,0 +1,47 @@ +# Template file for 'qt5-doc' +pkgname=qt5-doc +version=5.6.0 +revision=1 +wrksrc="qt-everywhere-opensource-src-${version}" +hostmakedepends="python perl pkg-config qt5 qt5-tools qt5-qmake qt5-plugin-sqlite" +makedepends="qt5-devel qt5-tools-devel" +depends="qt5>=5.6.0 qt5-plugin-sqlite" +nocross=yes +homepage="http://qt.io/" +short_desc="A cross-platform application and UI framework (QT5) - Documentation" +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=76a95cf6c1503290f75a641aa25079cd0c5a8fcd7cff07ddebff80a955b07de7 + +post_extract() { + # The file /usr/include/qt5/QtCore/qconfig.h is expected + # to reside in src/corelib/global/qconfig.h as well + ln -s /usr/include/qt5/QtCore/qconfig.h ${wrksrc}/qtbase/src/corelib/global/ +} +do_build() { + export LD="$CXX" + unset CPP AR AS RANLIB + # Tools are expected to be found in qttools/bin + ln -sf /usr/lib/qt5/bin qttools/ + # Some binaries are expected to be found in qtbase/bin + ln -sf /usr/lib/qt5/bin/{rcc,uic,moc} qtbase/bin/ + + ./configure -confirm-license -opensource \ + -prefix /usr \ + -bindir /usr/lib/qt5/bin \ + -datadir /usr/share/qt5 \ + -headerdir /usr/include/qt5 \ + -sysconfdir /etc/xdg \ + -plugindir /usr/lib/qt5/plugins \ + -docdir /usr/share/doc/qt5 \ + -importdir /usr/lib/qt5/imports \ + -translationdir /usr/share/qt5/translations \ + -examplesdir /usr/share/qt5/examples \ + -archdatadir /usr/lib/qt5 -qt-xcb + + make ${makejobs} docs +} +do_install() { + make INSTALL_ROOT="$DESTDIR" install_docs +} diff --git a/srcpkgs/qt5-doc b/srcpkgs/qt5-examples similarity index 100% rename from srcpkgs/qt5-doc rename to srcpkgs/qt5-examples diff --git a/srcpkgs/qt5-quick1-devel b/srcpkgs/qt5-quick1-devel deleted file mode 120000 index 75793eb666..0000000000 --- a/srcpkgs/qt5-quick1-devel +++ /dev/null @@ -1 +0,0 @@ -qt5 \ No newline at end of file diff --git a/srcpkgs/qt5-quick1 b/srcpkgs/qt5-quickcontrols2 similarity index 100% rename from srcpkgs/qt5-quick1 rename to srcpkgs/qt5-quickcontrols2 diff --git a/srcpkgs/qt5-webkit b/srcpkgs/qt5-webkit deleted file mode 120000 index 75793eb666..0000000000 --- a/srcpkgs/qt5-webkit +++ /dev/null @@ -1 +0,0 @@ -qt5 \ No newline at end of file diff --git a/srcpkgs/qt5-webkit-devel b/srcpkgs/qt5-webkit-devel index 75793eb666..1b58227048 120000 --- a/srcpkgs/qt5-webkit-devel +++ b/srcpkgs/qt5-webkit-devel @@ -1 +1 @@ -qt5 \ No newline at end of file +qt5-webkit \ No newline at end of file diff --git a/srcpkgs/qt5-webkit/patches/qt-musl-execinfo.patch b/srcpkgs/qt5-webkit/patches/qt-musl-execinfo.patch new file mode 100644 index 0000000000..b6acce4e5d --- /dev/null +++ b/srcpkgs/qt5-webkit/patches/qt-musl-execinfo.patch @@ -0,0 +1,20 @@ +--- Source/WTF/wtf/Assertions.cpp 2016-02-04 13:58:47.000000000 +0100 ++++ Source/WTF/wtf/Assertions.cpp 2016-03-17 17:42:38.194682870 +0100 +@@ -61,7 +61,7 @@ + #include + #endif + +-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) ++#if (OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) + #include + #include + #include +@@ -245,7 +245,7 @@ + + void WTFGetBacktrace(void** stack, int* size) + { +-#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) ++#if (OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__))) && !OS(ANDROID) + *size = backtrace(stack, *size); + #elif OS(WINDOWS) && !OS(WINCE) + // The CaptureStackBackTrace function is available in XP, but it is not defined diff --git a/srcpkgs/qt5-webkit/patches/qt5-webkit-pthread.patch b/srcpkgs/qt5-webkit/patches/qt5-webkit-pthread.patch new file mode 100644 index 0000000000..8737737a48 --- /dev/null +++ b/srcpkgs/qt5-webkit/patches/qt5-webkit-pthread.patch @@ -0,0 +1,32 @@ +From 5f359baacdf92fabcece83f0a2b30f74c7c02a3c Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Mon, 22 Feb 2016 10:57:32 +0100 +Subject: [PATCH] Fix linking with libpthread + +WebKit use libpthread directly but is depending on other qt modules +causing it to be linked against, which might break unless -lpthread +is last. Instead just add it explicitly after the static libraries. + +Change-Id: I2b95cff2c96373f8dce6f95052c4fccbe1982b33 +Reviewed-by: Simon Hausmann +(cherry picked from commit 5dd4bb67cfce812fd7686e43616e2069f354a7df) +Reviewed-by: Allan Sandfeld Jensen +--- + Tools/qmake/mkspecs/features/default_post.prf | 1 + + 1 file changed, 1 insertion(+) + +index 67276b7..39bb3f7 100644 +--- Tools/qmake/mkspecs/features/default_post.prf ++++ Tools/qmake/mkspecs/features/default_post.prf +@@ -201,6 +201,7 @@ needToLink() { + linkAgainstLibrary($$library, $$eval(WEBKIT.$${library_identifier}.root_source_dir)) + LIBS += $$eval(WEBKIT.$${library_identifier}.dependent_libs) + } ++ posix:!darwin: LIBS += -lpthread + } + + creating_module { +-- +2.7.1 + + diff --git a/srcpkgs/qt5-webkit/template b/srcpkgs/qt5-webkit/template new file mode 100644 index 0000000000..3184aaf677 --- /dev/null +++ b/srcpkgs/qt5-webkit/template @@ -0,0 +1,33 @@ +# Template file for 'qt5-webkit' +pkgname=qt5-webkit +version=5.6.0 +revision=1 +build_style=qmake +wrksrc=qtwebkit-opensource-src-${version} +hostmakedepends="bison flex gperf perl python ruby pkg-config gst-plugins-good qt5-qmake" +makedepends="libwebp-devel libxslt-devel libXcomposite-devel sqlite-devel + qt5-declarative-devel qt5-location-devel qt5-sensors-devel qt5-webchannel-devel" +depends="qt5>=5.6.0 gst-plugins-good" +nocross=yes +short_desc="A cross-platform application and UI framework (QT5) - WebKit2" +maintainer="Juan RP " +license="GPL-3, LGPL-2.1" +homepage="http://qt.io" +distfiles="http://download.qt.io/development_releases/qt/${version%.*}/${version}-rc/submodules/qtwebkit-opensource-src-${version}.tar.xz" +checksum=3376b4e2f8a0bde3f6db8e0b3dc0d8104350126f4090e2fc8832a0a99cbc9fed + +pre_configure() { + # Generate headers + syncqt.pl-qt5 -version 5.6.0 Source/sync.profile +} + +qt5-webkit-devel_package() { + short_desc+=" (development)" + depends="${sourcepkg}>=${version}_${revision}" + pkg_install() { + vmove usr/include + vmove usr/lib/*.so + vmove usr/lib/*.prl + vmove usr/lib/pkgconfig + } +} diff --git a/srcpkgs/qt5/patches/fix-execinfo.patch b/srcpkgs/qt5/patches/fix-execinfo.patch index 7f16521ec6..0ef84e45dc 100644 --- a/srcpkgs/qt5/patches/fix-execinfo.patch +++ b/srcpkgs/qt5/patches/fix-execinfo.patch @@ -1,102 +1,31 @@ ---- qtwebkit/Source/WTF/wtf/Assertions.cpp -+++ qtwebkit/Source/WTF/wtf/Assertions.cpp -@@ -64,7 +64,7 @@ - #include - #endif +--- qtwebengine/src/3rdparty/chromium/third_party/webrtc/base/checks.cc 2016-03-03 15:48:36.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/third_party/webrtc/base/checks.cc 2016-03-17 01:56:11.685588906 +0100 +@@ -16,7 +16,7 @@ + #include + #include --#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) -+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)) && !OS(ANDROID) +-#if defined(__GLIBCXX__) && !defined(__UCLIBC__) ++#if defined(__GLIBC__) && defined(__GLIBCXX__) && !defined(__UCLIBC__) #include - #include - #include -@@ -242,7 +242,7 @@ - - void WTFGetBacktrace(void** stack, int* size) - { --#if (OS(DARWIN) || (OS(LINUX) && !defined(__UCLIBC__))) && !OS(ANDROID) -+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)) && !OS(ANDROID) - *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/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 @@ - #define HAVE_ISDEBUGGERPRESENT 1 - #endif - --#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) -+#if OS(MACOSX) || (OS(LINUX) && defined(__GLIBC__)) - #include - #include - #include -@@ -228,7 +228,7 @@ void WTFReportArgumentAssertionFailure(c - - void WTFGetBacktrace(void** stack, int* size) - { --#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) -+#if OS(MACOSX) || (OS(LINUX) && defined(__GLIBC__)) - *size = backtrace(stack, *size); - #elif OS(WIN) - // The CaptureStackBackTrace function is available in XP, but it is not defined -@@ -266,7 +266,7 @@ FrameToNameScope::FrameToNameScope(void* - : m_name(0) - , m_cxaDemangled(0) - { --#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) -+#if OS(MACOSX) || (OS(LINUX) && defined(__GLIBC__)) - Dl_info info; - if (!dladdr(addr, &info) || !info.dli_sname) - return; ---- 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 @@ - - static int libxml_is_threaded = -1; - #ifdef __GNUC__ --#ifdef linux -+#ifdef __GLIBC__ - #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3) - extern int pthread_once (pthread_once_t *__once_control, - void (*__init_routine) (void)) -@@ -88,7 +88,7 @@ extern int pthread_key_delete () - extern int pthread_cond_signal () - __attribute((weak)); - #endif --#endif /* linux */ -+#endif /* __GLIBC__ */ - #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 @@ +@@ -55,7 +55,7 @@ // to get usable symbols on Linux. This is copied from V8. Chromium has a more // advanced stace trace system; also more difficult to copy. void DumpBacktrace() { -#if defined(__GLIBCXX__) && !defined(__UCLIBC__) -+#if defined(__GLIBCXX__) && !defined(__UCLIBC__) && defined(__GLIBC__) ++#if defined(__GLIBC__) && defined(__GLIBCXX__) && !defined(__UCLIBC__) void* trace[100]; int size = backtrace(trace, sizeof(trace) / sizeof(*trace)); char** symbols = backtrace_symbols(trace, size); ---- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 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 +--- qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2016-03-03 15:48:36.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/base/debug/stack_trace_posix.cc 2016-03-17 02:23:45.442708132 +0100 @@ -22,7 +22,7 @@ #if defined(__GLIBCXX__) #include #endif -#if !defined(__UCLIBC__) -+#if defined(__GLIBC__) ++#if defined(__GLIBC__) && !defined(__UCLIBC__) #include #endif @@ -105,7 +34,7 @@ handler->HandleOutput("\n"); } -#elif !defined(__UCLIBC__) -+#elif defined(__GLIBC__) ++#elif defined(__GLIBC__) && !defined(__UCLIBC__) bool printed = false; // Below part is async-signal unsafe (uses malloc), so execute it only @@ -114,7 +43,36 @@ // stack dumping signal handler). NO malloc or stdio is allowed here. -#if !defined(__UCLIBC__) -+#if defined(__GLIBC__) ++#if defined(__GLIBC__) && !defined(__UCLIBC__) // Though the backtrace API man page does not list any possible negative // return values, we take no chance. count_ = base::saturated_cast(backtrace(trace_, arraysize(trace_))); +--- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp 2016-03-03 15:48:36.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/wtf/Assertions.cpp 2016-03-17 05:47:32.637589639 +0100 +@@ -61,7 +61,7 @@ + #define HAVE_ISDEBUGGERPRESENT 1 + #endif + +-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) ++#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__) && defined(__GLIBC__)) + #include + #include + #include +@@ -222,7 +222,7 @@ + + void WTFGetBacktrace(void** stack, int* size) + { +-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) ++#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__) && defined(__GLIBC__)) + *size = backtrace(stack, *size); + #elif OS(WIN) + // The CaptureStackBackTrace function is available in XP, but it is not defined +@@ -260,7 +260,7 @@ + : m_name(0) + , m_cxaDemangled(0) + { +-#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__)) ++#if OS(MACOSX) || (OS(LINUX) && !defined(__UCLIBC__) && defined(__GLIBC__)) + Dl_info info; + if (!dladdr(addr, &info) || !info.dli_sname) + return; diff --git a/srcpkgs/qt5/patches/pic.patch b/srcpkgs/qt5/patches/pic.patch deleted file mode 100644 index 2d20578fcb..0000000000 --- a/srcpkgs/qt5/patches/pic.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- qtwebkit/Source/WTF/wtf/InlineASM.h.orig 2013-10-07 11:36:58.995128674 +0000 -+++ qtwebkit/Source/WTF/wtf/InlineASM.h 2013-10-07 11:37:28.058792290 +0000 -@@ -42,7 +42,7 @@ - #define THUMB_FUNC_PARAM(name) - #endif - --#if (OS(LINUX) || OS(FREEBSD)) && CPU(X86_64) -+#if (OS(LINUX) || OS(FREEBSD)) && (CPU(X86_64) || defined(__PIC__)) - #define GLOBAL_REFERENCE(name) #name "@plt" - #elif CPU(X86) && COMPILER(MINGW) - #define GLOBAL_REFERENCE(name) "@" #name "@4" diff --git a/srcpkgs/qt5/patches/qt-musl-mallinfo.patch b/srcpkgs/qt5/patches/qt-musl-mallinfo.patch index 195f7095de..170064b400 100644 --- a/srcpkgs/qt5/patches/qt-musl-mallinfo.patch +++ b/srcpkgs/qt5/patches/qt-musl-mallinfo.patch @@ -11,3 +11,22 @@ In musl libc there is no struct mallinfo and no function mallinf() size_t GetMemoryUsageKB() { struct mallinfo minfo = mallinfo(); uint64_t mem_usage = +--- qtwebengine/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc 2016-03-03 15:48:36.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc 2016-03-17 05:09:41.409425897 +0100 +@@ -29,6 +29,7 @@ + // Called at trace dump point time. Creates a snapshot the memory counters for + // the current process. + bool MallocDumpProvider::OnMemoryDump(ProcessMemoryDump* pmd) { ++#if defined(__GLIBC__) + struct mallinfo info = mallinfo(); + DCHECK_GE(info.arena + info.hblkhd, info.uordblks); + +@@ -46,7 +47,7 @@ + MemoryAllocatorDump* inner_dump = pmd->CreateAllocatorDump(kAllocatedObjects); + inner_dump->AddScalar(MemoryAllocatorDump::kNameSize, + MemoryAllocatorDump::kUnitsBytes, info.uordblks); +- ++#endif + return true; + } + diff --git a/srcpkgs/qt5/patches/qt-musl-pthread_getattr_np.patch b/srcpkgs/qt5/patches/qt-musl-pthread_getattr_np.patch deleted file mode 100644 index e7f3959144..0000000000 --- a/srcpkgs/qt5/patches/qt-musl-pthread_getattr_np.patch +++ /dev/null @@ -1,13 +0,0 @@ -The musl libc also has pthread_getattr_np() - ---- 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) || OS(FREEBSD) -+#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) || OS(LINUX_MUSL) - pthread_attr_t attr; - int error; - #if OS(FREEBSD) diff --git a/srcpkgs/qt5/patches/qt-musl-socklen.patch b/srcpkgs/qt5/patches/qt-musl-socklen.patch deleted file mode 100644 index 582260c2ae..0000000000 --- a/srcpkgs/qt5/patches/qt-musl-socklen.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- qtbase/mkspecs/linux-g++/qplatformdefs.h.orig -+++ qtbase/mkspecs/linux-g++/qplatformdefs.h -@@ -86,11 +86,7 @@ - - #undef QT_SOCKLEN_T - --#if defined(__GLIBC__) && (__GLIBC__ >= 2) - #define QT_SOCKLEN_T socklen_t --#else --#define QT_SOCKLEN_T int --#endif - - #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) - #define QT_SNPRINTF ::snprintf diff --git a/srcpkgs/qt5/patches/qt-musl-stackframe.patch b/srcpkgs/qt5/patches/qt-musl-stackframe.patch new file mode 100644 index 0000000000..610ee90dec --- /dev/null +++ b/srcpkgs/qt5/patches/qt-musl-stackframe.patch @@ -0,0 +1,20 @@ +--- qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp 2016-03-03 15:48:36.000000000 +0100 ++++ qtwebengine/src/3rdparty/chromium/third_party/WebKit/Source/platform/heap/StackFrameDepth.cpp 2016-03-17 06:31:13.832778611 +0100 +@@ -67,7 +67,7 @@ + // FIXME: On Mac OSX and Linux, this method cannot estimate stack size + // correctly for the main thread. + +-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) ++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD) + // pthread_getattr_np() can fail if the thread is not invoked by + // pthread_create() (e.g., the main thread of webkit_unit_tests). + // In this case, this method returns 0 and the caller must handle it. +@@ -114,7 +114,7 @@ + + void* StackFrameDepth::getStackStart() + { +-#if defined(__GLIBC__) || OS(ANDROID) || OS(FREEBSD) ++#if OS(LINUX) || OS(ANDROID) || OS(FREEBSD) + pthread_attr_t attr; + int error; + #if OS(FREEBSD) diff --git a/srcpkgs/qt5/template b/srcpkgs/qt5/template index f7375b396d..8a0ab2daa8 100644 --- a/srcpkgs/qt5/template +++ b/srcpkgs/qt5/template @@ -1,47 +1,91 @@ # Template file for 'qt5' pkgname=qt5 -version=5.5.1 -revision=4 +version=5.6.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=6f028e63d4992be2b4a5526f2ef3bfa2fe28c5c757554b11d9e8d86189652518 +checksum=76a95cf6c1503290f75a641aa25079cd0c5a8fcd7cff07ddebff80a955b07de7 nocross=yes hostmakedepends="flex ruby gperf python perl pkg-config" makedepends=" libressl-devel libpng-devel MesaLib-devel libXrender-devel unixodbc-devel fontconfig-devel libXi-devel libXv-devel libXinerama-devel libXrandr-devel - libXcursor-devel dbus-devel glib-devel icu-devel cups-devel libjpeg-turbo-devel - sqlite-devel alsa-lib-devel tiff-devel libmng-devel libxshmfence-devel - xcb-util-keysyms-devel xcb-util-image-devel xcb-util-wm-devel libSM-devel + libXcursor-devel libXScrnSaver-devel dbus-devel glib-devel icu-devel + cups-devel libjpeg-turbo-devel sqlite-devel alsa-lib-devel tiff-devel + libmng-devel libxshmfence-devel xcb-util-keysyms-devel + xcb-util-image-devel xcb-util-wm-devel libSM-devel libXcomposite-devel libwebp-devel libxkbcommon-devel harfbuzz-devel gtk+-devel mtdev-devel freetds-devel libmysqlclient-devel postgresql-libs-devel pulseaudio-devel libbluetooth-devel gst-plugins-base1-devel libxslt-devel pciutils-devel nss-devel libcap-devel libinput-devel libproxy-devel - libxkbcommon-devel wayland-devel" + libxcb-devel libxkbcommon-devel wayland-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" + +_move_examples() { + if [ -d ${PKGDESTDIR}/usr/share/qt5/examples ]; then + # The help files (*.qch) are in qt5-doc + find ${PKGDESTDIR}/usr/share/qt5/examples -iname "*.qch" -delete + # Copy examples to /destdir/qt5-examples-${version} subpackage + mkdir -p /destdir/qt5-examples-${version}/usr/share/qt5 + cp -pR ${PKGDESTDIR}/usr/share/qt5/examples \ + /destdir/qt5-examples-${version}/usr/share/qt5 + rm -rf ${PKGDESTDIR}/usr/share/qt5/examples + fi +} + +_install_subpkg() { + local module=$1 base + cd ${wrksrc}/${module} + make INSTALL_ROOT=${PKGDESTDIR} install + rm -rf ${PKGDESTDIR}/usr/include + rm -rf ${PKGDESTDIR}/usr/lib/cmake + rm -rf ${PKGDESTDIR}/usr/lib/qt5/mkspecs + rm -rf ${PKGDESTDIR}/usr/lib/pkgconfig + rm -f ${PKGDESTDIR}/usr/lib/*.so + rm -f ${PKGDESTDIR}/usr/lib/*.prl + if [ -d ${PKGDESTDIR}/usr/lib/qt5/bin ]; then + vmkdir usr/bin + for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do + base=$(basename $f) + ln -sf /usr/lib/qt5/bin/${base} ${PKGDESTDIR}/usr/bin/${base}-qt5 + done + fi + _move_examples +} + +_install_devel() { + local module=$1 + cd ${wrksrc}/${module} + make INSTALL_ROOT=${PKGDESTDIR} install + rm -rf ${PKGDESTDIR}/usr/share + rm -rf ${PKGDESTDIR}/usr/lib/qt5/bin + rm -rf ${PKGDESTDIR}/usr/lib/qt5/qml + rm -rf ${PKGDESTDIR}/usr/lib/qt5/libexec + rm -rf ${PKGDESTDIR}/usr/lib/qt5/plugins + rm -f ${PKGDESTDIR}/usr/lib/*.so.* + # Remove QMAKE_PRL_BUILD_DIR from *.prl files because it is the internal builddir + find ${PKGDESTDIR} -iname "*.prl" -exec sed -i "{}" -e "/^QMAKE_PRL_BUILD_DIR/d" \; +} pre_configure() { # Compatibility functions res_ninit() and res_nclose() for musl libc cp ${FILESDIR}/resolv_compat.h ${wrksrc}/qtwebengine/src/3rdparty/chromium/net/dns case "$XBPS_TARGET_MACHINE" in *-musl) - # Patch .../linx/*/config.{h,asm} to define HAVE_SYSCTL 0 + # Patch .../linux/*/config.{h,asm} to define HAVE_SYSCTL 0 local config chromium=${wrksrc}/qtwebengine/src/3rdparty/chromium 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 - # 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 blink/i #define WTF_OS_LINUX_MUSL 1" esac } do_configure() { - export LD_LIBRARY_PATH="${wrksrc}/qtbase/lib:${wrksrc}/qttools/lib:${LD_LIBRARY_PATH}" export LD="$CXX" unset CPP AR AS RANLIB local opts="-confirm-license -opensource \ @@ -56,10 +100,9 @@ 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 \ + -silent -no-pch -no-strip -optimized-qmake \ -system-libjpeg -system-libpng -system-zlib \ -system-sqlite -system-harfbuzz" case "$XBPS_TARGET_MACHINE" in @@ -80,526 +123,268 @@ do_build() { make ${makejobs} } do_install() { - # base - cd qtbase + local f base + cd ${wrksrc}/qtbase make INSTALL_ROOT=${DESTDIR} install vlicense LGPL_EXCEPTION.txt vmkdir usr/bin - for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do - ln -s /usr/lib/qt5/bin/$(basename $f) ${DESTDIR}/usr/bin/$(basename $f)-qt5 + for f in ${DESTDIR}/usr/lib/qt5/bin/*; do + base=$(basename $f) + ln -sf /usr/lib/qt5/bin/${base} ${PKGDESTDIR}/usr/bin/${base}-qt5 done + _move_examples } qt5-connectivity-devel_package() { short_desc+=" - Connectivity component (development)" depends="qt5-connectivity-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtconnectivity - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtconnectivity } } qt5-connectivity_package() { short_desc+=" - Connectivity component" pkg_install() { - cd ${wrksrc}/qtconnectivity - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/bin - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtconnectivity } } qt5-declarative-devel_package() { short_desc+=" - Declarative component (development)" depends="qt5-declarative-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtdeclarative - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/bin - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtdeclarative } } qt5-declarative_package() { short_desc+=" - Declarative component" pkg_install() { - cd ${wrksrc}/qtdeclarative - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.a - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl - vmkdir usr/bin - for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do - ln -s /usr/lib/qt5/bin/$(basename $f) ${PKGDESTDIR}/usr/bin/$(basename $f)-qt5 - done - } -} -qt5-doc_package() { - short_desc+=" - Documentation" - # This requires qdoc from qtbase and qhelpgenerator from qttools - depends="qt5-${version}_${revision} qt5-tools-${version}_${revision}" - pkg_install() { - cd $wrksrc - vmove usr/share/doc - # Original (installed) binaries directory - local qtbin=/usr/lib/qt5/bin - # Temporary binaries directory - local tmpbin=$wrksrc/docbuild/bin - local tmplib=$wrksrc/docbuild/lib - local plugins=$wrksrc/qtbase/plugins - mkdir -p $tmpbin/platforms $tmpbin/sqldrivers $tmplib - # Install qdoc binary - install $wrksrc/qtbase/bin/qdoc $tmpbin/ - # Install qhelpgenerator binary - install $wrksrc/qttools/bin/qhelpgenerator $tmpbin/ - # Install required plugins below $tmpbin - install $plugins/platforms/libqminimal.so $tmpbin/platforms/ - install $plugins/sqldrivers/libqsqlite.so $tmpbin/sqldrivers/ - # Install required libraries - install $wrksrc/qtbase/lib/*.so* $tmplib - install $wrksrc/qttools/lib/*.so* $tmplib - # Patch Makefiles to refer to $tmpbin/{qdoc,qhelpgenerator} - for m in $(find . -iname "Makefile*" -type f | grep -v "\.orig$"); do - mv $m $m.orig - sed $m.orig \ - -e "s;$qtbin/qdoc;$tmpbin/qdoc;g" \ - -e "s;$qtbin/qhelpgenerator;$tmpbin/qhelpgenerator;g" \ - > $m - done - export LD_LIBRARY_PATH="$tmplib:$LD_LIBRARY_PATH" - make ${makejobs} docs - make INSTALL_ROOT=${PKGDESTDIR} install_docs - # Restore original Makefiles just in case... - for m in $(find . -iname "Makefile*.orig" -type f); do - mv $m ${m%.orig} - done + _install_subpkg qtdeclarative } } qt5-enginio-devel_package() { short_desc+=" - Enginio component (development)" depends="qt5-enginio-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtenginio - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtenginio } } qt5-enginio_package() { short_desc+=" - Enginio component" pkg_install() { - cd ${wrksrc}/qtenginio - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtenginio + } +} +qt5-examples_package() { + short_desc+=" - Examples" + depends="qt5-devel-${version}_${revision} qt5-qmake-${version}_${revision}" + pkg_install() { + # In case any examples are still left in $DESTDIR + if [ -d ${DESTDIR}/usr/share/qt5/examples ]; then + vmkdir usr/share/qt5 + cp -pR ${DESTDIR}/usr/share/qt5/examples \ + ${PKGDESTDIR}/usr/share/qt5 + rm -rf ${DESTDIR}/usr/share/qt5/examples + fi } } qt5-graphicaleffects_package() { short_desc+=" - Graphicaleffects component" pkg_install() { - cd ${wrksrc}/qtgraphicaleffects - make INSTALL_ROOT=${PKGDESTDIR} install + _install_subpkg qtgraphicaleffects } } qt5-imageformats_package() { short_desc+=" - Plugins for additional image formats" pkg_install() { - cd ${wrksrc}/qtimageformats - make INSTALL_ROOT=${PKGDESTDIR} install + _install_subpkg qtimageformats } } qt5-location-devel_package() { short_desc+=" - Location component (development)" depends="qt5-location-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtlocation - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtlocation } } qt5-location_package() { short_desc+=" - Location component" pkg_install() { - cd ${wrksrc}/qtlocation - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtlocation } } qt5-multimedia-devel_package() { short_desc+=" - Multimedia component (development)" depends="qt5-multimedia-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtmultimedia - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtmultimedia } } qt5-multimedia_package() { short_desc+=" - Multimedia component" pkg_install() { - cd ${wrksrc}/qtmultimedia - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl - } -} -qt5-quick1-devel_package() { - short_desc+=" - Qt Quick 1 (development)" - depends="qt5-quick1-${version}_${revision} - qt5-xmlpatterns-devel-${version}_${revision} - qt5-devel-${version}_${revision}" - pkg_install() { - cd ${wrksrc}/qtquick1 - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/bin - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm -r ${PKGDESTDIR}/usr/lib/qt5/imports - rm ${PKGDESTDIR}/usr/lib/*.so.* - } -} -qt5-quick1_package() { - short_desc+=" - Qt Quick 1" - pkg_install() { - cd ${wrksrc}/qtquick1 - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl - vmkdir usr/bin - for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do - ln -s /usr/lib/qt5/bin/$(basename $f) ${PKGDESTDIR}/usr/bin/$(basename $f)-qt5 - done + _install_subpkg qtmultimedia } } qt5-quickcontrols_package() { short_desc+=" - Quick UI controls" pkg_install() { - cd ${wrksrc}/qtquickcontrols - make INSTALL_ROOT=${PKGDESTDIR} install + _install_subpkg qtquickcontrols + } +} +qt5-quickcontrols2_package() { + short_desc+=" - Quick UI controls (ver. 2)" + pkg_install() { + _install_subpkg qtquickcontrols2 } } qt5-script-devel_package() { short_desc+=" - Scriptable classes (development)" depends="qt5-script-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtscript - make INSTALL_ROOT=${PKGDESTDIR} install - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtscript } } qt5-script_package() { short_desc+=" - Scriptable classes" pkg_install() { - cd ${wrksrc}/qtscript - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtscript } } qt5-sensors-devel_package() { short_desc+=" - Sensors component (development)" depends="qt5-sensors-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtsensors - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtsensors } } qt5-sensors_package() { short_desc+=" - Sensors component" pkg_install() { - cd ${wrksrc}/qtsensors - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtsensors } } qt5-serialport-devel_package() { short_desc+=" - Serialport component (development)" depends="qt5-serialport-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtserialport - make INSTALL_ROOT=${PKGDESTDIR} install - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtserialport } } qt5-serialport_package() { short_desc+=" - Serialport component" pkg_install() { - cd ${wrksrc}/qtserialport - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtserialport } } qt5-svg-devel_package() { short_desc+=" - Svg component (development)" depends="qt5-svg-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtsvg - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtsvg } } qt5-svg_package() { short_desc+=" - Svg component" pkg_install() { - cd ${wrksrc}/qtsvg - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtsvg } } qt5-wayland-devel_package() { short_desc+=" - Wayland component (development)" depends="qt5-wayland-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtwayland - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtwayland } } qt5-wayland_package() { short_desc+=" - Wayland component" pkg_install() { - cd ${wrksrc}/qtwayland - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/bin - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtwayland } } qt5-webchannel-devel_package() { short_desc+=" - Webchannel component (development)" depends="qt5-webchannel-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtwebchannel - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtwebchannel } } qt5-webchannel_package() { short_desc+=" - Webchannel component" pkg_install() { - cd ${wrksrc}/qtwebchannel - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtwebchannel } } qt5-webengine-devel_package() { short_desc+=" - Webengine component (development)" depends="qt5-webengine-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtwebengine - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/share - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm -r ${PKGDESTDIR}/usr/lib/qt5/libexec - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtwebengine } } qt5-webengine_package() { short_desc+=" - Webengine component" pkg_install() { - cd ${wrksrc}/qtwebengine - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl - } -} -qt5-webkit-devel_package() { - short_desc+=" - WebKit2 component (development)" - depends="qt5-webkit-${version}_${revision} qt5-devel-${version}_${revision}" - pkg_install() { - cd ${wrksrc}/qtwebkit - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm -r ${PKGDESTDIR}/usr/lib/qt5/libexec - rm ${PKGDESTDIR}/usr/lib/*.so.* - } -} -qt5-webkit_package() { - short_desc+=" - WebKit2 component" - pkg_install() { - cd ${wrksrc}/qtwebkit - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtwebengine } } qt5-websockets-devel_package() { short_desc+=" - Websockets component (development)" depends="qt5-websockets-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtwebsockets - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/qml - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtwebsockets } } qt5-websockets_package() { short_desc+=" - Websockets component" pkg_install() { - cd ${wrksrc}/qtwebsockets - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtwebsockets } } qt5-x11extras-devel_package() { short_desc+=" - X11 extras (development)" depends="qt5-x11extras-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtx11extras - make INSTALL_ROOT=${PKGDESTDIR} install - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtx11extras } } qt5-x11extras_package() { short_desc+=" - X11 extras" pkg_install() { - cd ${wrksrc}/qtx11extras - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qtx11extras } } qt5-xmlpatterns-devel_package() { short_desc+=" - XML components (development)" depends="qt5-xmlpatterns-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qtxmlpatterns - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/bin - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qtxmlpatterns } } qt5-xmlpatterns_package() { short_desc+=" - XML components" pkg_install() { - cd ${wrksrc}/qtxmlpatterns - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl - vmkdir usr/bin - for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do - ln -s /usr/lib/qt5/bin/$(basename $f) ${PKGDESTDIR}/usr/bin/$(basename $f)-qt5 - done + _install_subpkg qtxmlpatterns } } qt5-translations_package() { short_desc+=" - Translations" pkg_install() { - cd ${wrksrc}/qttranslations - make INSTALL_ROOT=${PKGDESTDIR} install + _install_subpkg qttranslations } } qt5-tools-devel_package() { short_desc+=" - Development tools (development)" depends="qt5-tools-${version}_${revision} qt5-devel-${version}_${revision}" pkg_install() { - cd ${wrksrc}/qttools - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/lib/qt5/bin - rm -r ${PKGDESTDIR}/usr/share - rm -r ${PKGDESTDIR}/usr/lib/qt5/plugins - rm ${PKGDESTDIR}/usr/lib/*.so.* + _install_devel qttools } } qt5-tools_package() { short_desc+=" - Development tools" depends="qt5-translations desktop-file-utils hicolor-icon-theme" pkg_install() { - cd ${wrksrc}/qttools - make INSTALL_ROOT=${PKGDESTDIR} install - rm -r ${PKGDESTDIR}/usr/include - rm -r ${PKGDESTDIR}/usr/lib/cmake - rm -r ${PKGDESTDIR}/usr/lib/pkgconfig - rm -r ${PKGDESTDIR}/usr/lib/qt5/mkspecs - rm ${PKGDESTDIR}/usr/lib/*.a - rm ${PKGDESTDIR}/usr/lib/*.so - rm ${PKGDESTDIR}/usr/lib/*.prl + _install_subpkg qttools # install missing icons and desktop files for icon in src/linguist/linguist/images/icons/linguist-*-32.png ; do size=$(echo $(basename ${icon}) | cut -d- -f2) @@ -619,10 +404,6 @@ qt5-tools_package() { # install desktop files vmkdir usr/share/applications install -m644 ${FILESDIR}/*.desktop ${PKGDESTDIR}/usr/share/applications - vmkdir usr/bin - for f in ${PKGDESTDIR}/usr/lib/qt5/bin/*; do - ln -s /usr/lib/qt5/bin/$(basename $f) ${PKGDESTDIR}/usr/bin/$(basename $f)-qt5 - done } } qt5-devel_package() { @@ -634,10 +415,12 @@ qt5-devel_package() { short_desc+=" - Development files" pkg_install() { vmove usr/include - vmove "usr/lib/*.a" - vmove "usr/lib/*.prl" - vmove usr/lib/pkgconfig + vmove usr/lib/*.a + vmove usr/lib/*.prl vmove usr/lib/cmake + vmove usr/lib/pkgconfig + # Remove QMAKE_PRL_BUILD_DIR from *.prl files because it is the internal builddir + find ${PKGDESTDIR} -iname "*.prl" -exec sed -i "{}" -e "/^QMAKE_PRL_BUILD_DIR/d" \; } } qt5-plugin-gtk_package() {