diff options
author | Thomas Tuegel <ttuegel@gmail.com> | 2015-02-07 12:52:20 -0600 |
---|---|---|
committer | Thomas Tuegel <ttuegel@gmail.com> | 2015-02-07 12:52:20 -0600 |
commit | 042e4ad6338d3fea79ffd3ce2d6bbd16f58d5479 (patch) | |
tree | 9ebab62dc9ad0d5577c8abdb842ecfc80441bc98 | |
parent | 73f8aebd8d22b92e336f3eecdee66ba9e1ea817c (diff) |
qt5split: add split submodule build of Qt 5.3
19 files changed, 1183 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 337672a92dd7..a20a02b9a67b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,5 @@ result-* /pkgs/applications/kde-apps-*/tmp/ /pkgs/development/libraries/kde-frameworks-*/tmp/ +/pkgs/development/libraries/qt-5/*-submodules/tmp/ /pkgs/desktops/plasma-*/tmp/
\ No newline at end of file diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0001-dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0001-dlopen-gtkstyle.patch new file mode 100644 index 000000000000..3f411139f5be --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0001-dlopen-gtkstyle.patch @@ -0,0 +1,63 @@ +From 35d5995a58c86a6addbf0aaf0d1be64d39182872 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:21:58 -0600 +Subject: [PATCH] dlopen-gtkstyle + +--- + qtbase/src/widgets/styles/qgtk2painter.cpp | 2 +- + qtbase/src/widgets/styles/qgtkstyle_p.cpp | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/qtbase/src/widgets/styles/qgtk2painter.cpp b/qtbase/src/widgets/styles/qgtk2painter.cpp +index 7b9bd97..075947a 100644 +--- a/qtbase/src/widgets/styles/qgtk2painter.cpp ++++ b/qtbase/src/widgets/styles/qgtk2painter.cpp +@@ -104,7 +104,7 @@ static void initGtk() + static bool initialized = false; + if (!initialized) { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new"); + QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable"); +diff --git a/qtbase/src/widgets/styles/qgtkstyle_p.cpp b/qtbase/src/widgets/styles/qgtkstyle_p.cpp +index 2c64225..3343d32 100644 +--- a/qtbase/src/widgets/styles/qgtkstyle_p.cpp ++++ b/qtbase/src/widgets/styles/qgtkstyle_p.cpp +@@ -334,7 +334,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus(GtkWidget *widget, bool focus) + void QGtkStylePrivate::resolveGtk() const + { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init"); + gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new"); +@@ -432,8 +432,8 @@ void QGtkStylePrivate::resolveGtk() const + pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family"); + pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style"); + +- gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync"); +- gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init"); ++ gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync"); ++ gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init"); + } + + /* \internal +@@ -601,9 +601,9 @@ void QGtkStylePrivate::cleanupGtkWidgets() + static bool resolveGConf() + { + if (!QGtkStylePrivate::gconf_client_get_default) { +- QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default"); +- QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string"); +- QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool"); ++ QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default"); ++ QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string"); ++ QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool"); + } + return (QGtkStylePrivate::gconf_client_get_default !=0); + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0002-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0002-dlopen-webkit-nsplugin.patch new file mode 100644 index 000000000000..0752cdcf4793 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0002-dlopen-webkit-nsplugin.patch @@ -0,0 +1,53 @@ +From 8c30f72dbe11752e8ed25f292c6e5695d7733f72 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:22:23 -0600 +Subject: [PATCH] dlopen-webkit-nsplugin + +--- + qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp | 2 +- + qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp | 2 +- + .../WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp +index 679480b..2c373cc 100644 +--- a/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp ++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp +@@ -132,7 +132,7 @@ static void initializeGtk(QLibrary* module = 0) + } + } + +- QLibrary library(QLatin1String("libgtk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0); + if (library.load()) { + typedef void *(*gtk_init_check_ptr)(int*, char***); + gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check"); +diff --git a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp +index de06a2f..363bde5 100644 +--- a/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp ++++ b/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp +@@ -697,7 +697,7 @@ static Display *getPluginDisplay() + // support gdk based plugins (like flash) that use a different X connection. + // The code below has the same effect as this one: + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); +- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0); + if (!library.load()) + return 0; + +diff --git a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp +index d734ff6..62a2197 100644 +--- a/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp ++++ b/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp +@@ -64,7 +64,7 @@ static Display* getPluginDisplay() + // The code below has the same effect as this one: + // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default()); + +- QLibrary library(QLatin1String("libgdk-x11-2.0"), 0); ++ QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0); + if (!library.load()) + return 0; + +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0003-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0003-glib-2.32.patch new file mode 100644 index 000000000000..4abb69da4d85 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0003-glib-2.32.patch @@ -0,0 +1,25 @@ +From a41c3e3a3a1ce4b373b1bbb98f3a835e9e8a0718 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:22:39 -0600 +Subject: [PATCH] glib-2.32 + +--- + qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +index 1f6d25e..087c3fb 100644 +--- a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h ++++ b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +@@ -81,7 +81,7 @@ + #include <pthread.h> + #elif PLATFORM(GTK) + #include <wtf/gtk/GOwnPtr.h> +-typedef struct _GMutex GMutex; ++typedef union _GMutex GMutex; + typedef struct _GCond GCond; + #endif + +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0004-dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0004-dlopen-resolv.patch new file mode 100644 index 000000000000..e6b921b771d3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0004-dlopen-resolv.patch @@ -0,0 +1,39 @@ +From 63af41c6eeca28c911c13b1a77afeaf860863c2d Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:22:55 -0600 +Subject: [PATCH] dlopen-resolv + +--- + qtbase/src/network/kernel/qdnslookup_unix.cpp | 2 +- + qtbase/src/network/kernel/qhostinfo_unix.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/network/kernel/qdnslookup_unix.cpp b/qtbase/src/network/kernel/qdnslookup_unix.cpp +index 8c5a0eb..27ebf16 100644 +--- a/qtbase/src/network/kernel/qdnslookup_unix.cpp ++++ b/qtbase/src/network/kernel/qdnslookup_unix.cpp +@@ -87,7 +87,7 @@ static void resolveLibrary() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc/lib/resolv")); + if (!lib.load()) + return; + } +diff --git a/qtbase/src/network/kernel/qhostinfo_unix.cpp b/qtbase/src/network/kernel/qhostinfo_unix.cpp +index df8c8b1..613d0e0 100644 +--- a/qtbase/src/network/kernel/qhostinfo_unix.cpp ++++ b/qtbase/src/network/kernel/qhostinfo_unix.cpp +@@ -103,7 +103,7 @@ static void resolveLibrary() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc@/lib/libresolv")); + if (!lib.load()) + return; + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0005-dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0005-dlopen-gl.patch new file mode 100644 index 000000000000..d112427bdd63 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0005-dlopen-gl.patch @@ -0,0 +1,25 @@ +From 6aaf6858bf817172a4c503158e1701c4837ee790 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:23:08 -0600 +Subject: [PATCH] dlopen-gl + +--- + qtbase/src/plugins/platforms/xcb/qglxintegration.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp +index 67235e0..2220a2e 100644 +--- a/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp ++++ b/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp +@@ -434,7 +434,7 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) () + { + extern const QString qt_gl_library_name(); + // QLibrary lib(qt_gl_library_name()); +- QLibrary lib(QLatin1String("GL")); ++ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL")); + glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); + } + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0006-tzdir.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0006-tzdir.patch new file mode 100644 index 000000000000..d5a74b25fb38 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0006-tzdir.patch @@ -0,0 +1,52 @@ +From 775fd74351faaabd45f6751618b28e2b05812d05 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:23:22 -0600 +Subject: [PATCH] tzdir + +--- + qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +index b4ea91e..a56a245 100644 +--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp ++++ b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +@@ -68,7 +68,10 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash; + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories + static QTzTimeZoneHash loadTzTimeZones() + { +- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); ++ QString path = qgetenv("TZDIR"); ++ path += "/zone.tab"; ++ if (!QFile::exists(path)) ++ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); + if (!QFile::exists(path)) + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); + +@@ -559,12 +562,18 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId) + if (!tzif.open(QIODevice::ReadOnly)) + return; + } else { +- // Open named tz, try modern path first, if fails try legacy path +- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ // Try TZDIR first ++ QString zoneinfoDir = qgetenv("TZDIR"); ++ zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId); ++ tzif.setFileName(zoneinfoDir); + if (!tzif.open(QIODevice::ReadOnly)) { +- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); +- if (!tzif.open(QIODevice::ReadOnly)) +- return; ++ // Open named tz, try modern path first, if fails try legacy path ++ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) { ++ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) ++ return; ++ } + } + } + +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0007-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0007-dlopen-webkit-gtk.patch new file mode 100644 index 000000000000..9582b714c903 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0007-dlopen-webkit-gtk.patch @@ -0,0 +1,25 @@ +From 089db8835c80bf2b7dd91a97a5c6eb26636b6ab9 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:26:39 -0600 +Subject: [PATCH] dlopen-webkit-gtk + +--- + qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp +index 8de6521..0b25748 100644 +--- a/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp ++++ b/qtwebkit/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp +@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr + + static bool initializeGtk() + { +- QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0); ++ QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0); + if (!gtkLibrary.load()) + return false; + typedef void* (*gtk_init_ptr)(void*, void*); +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0008-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0008-dlopen-webkit-udev.patch new file mode 100644 index 000000000000..e8a4ba6a2151 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0008-dlopen-webkit-udev.patch @@ -0,0 +1,31 @@ +From 25d2922cce383fcaa4c138e0cc6c8d92328eeacb Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:30:41 -0600 +Subject: [PATCH] dlopen-webkit-udev + +--- + qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp +index 60ff317..da8ac69 100644 +--- a/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp ++++ b/qtwebkit/Source/WebCore/platform/qt/GamepadsQt.cpp +@@ -111,12 +111,12 @@ private: + bool load() + { + m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint); +- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); + m_loaded = m_libUdev.load(); + if (resolveMethods()) + return true; + +- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); + m_loaded = m_libUdev.load(); + return resolveMethods(); + } +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0009-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0009-dlopen-serialport-udev.patch new file mode 100644 index 000000000000..e1e66a3ce95a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0009-dlopen-serialport-udev.patch @@ -0,0 +1,28 @@ +From 17c7257e54c00ea2121f2cf95fb2be5e5db6b4ad Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:31:03 -0600 +Subject: [PATCH] dlopen-serialport-udev + +--- + qtserialport/src/serialport/qtudev_p.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtserialport/src/serialport/qtudev_p.h b/qtserialport/src/serialport/qtudev_p.h +index 09940ab..45460f9 100644 +--- a/qtserialport/src/serialport/qtudev_p.h ++++ b/qtserialport/src/serialport/qtudev_p.h +@@ -119,9 +119,9 @@ inline void *resolveSymbol(QLibrary *udevLibrary, const char *symbolName) + inline bool resolveSymbols(QLibrary *udevLibrary) + { + if (!udevLibrary->isLoaded()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); + if (!udevLibrary->load()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); + if (!udevLibrary->load()) { + qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); + return false; +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0010-dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0010-dlopen-libXcursor.patch new file mode 100644 index 000000000000..49ade86fae3f --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0010-dlopen-libXcursor.patch @@ -0,0 +1,29 @@ +From b56e3737ca97e3de664603976989da4419297eb3 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:33:51 -0600 +Subject: [PATCH] dlopen-libXcursor + +--- + qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +index 6dbac90..4b23fc2 100644 +--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp ++++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +@@ -305,10 +305,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen) + #ifdef XCB_USE_XLIB + static bool function_ptrs_not_initialized = true; + if (function_ptrs_not_initialized) { +- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); ++ QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1); + bool xcursorFound = xcursorLib.load(); + if (!xcursorFound) { // try without the version number +- xcursorLib.setFileName(QLatin1String("Xcursor")); ++ xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor")); + xcursorFound = xcursorLib.load(); + } + if (xcursorFound) { +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0011-dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0011-dlopen-openssl.patch new file mode 100644 index 000000000000..d08061dd5dd6 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0011-dlopen-openssl.patch @@ -0,0 +1,38 @@ +From 99d458c93698b2d4f16ff164ed54237279ffbb64 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:35:21 -0600 +Subject: [PATCH] dlopen-openssl + +--- + qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +index 4e6200f..d9c3e7d 100644 +--- a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp ++++ b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +@@ -585,8 +585,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl() + #endif + #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so + // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER> +- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); + if (libcrypto->load() && libssl->load()) { + // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found + return pair; +@@ -597,8 +597,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl() + #endif + + // second attempt: find the development files libssl.so and libcrypto.so +- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1); + if (libcrypto->load() && libssl->load()) { + // libssl.so.0 and libcrypto.so.0 found + return pair; +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/0012-dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.3-submodules/0012-dlopen-dbus.patch new file mode 100644 index 000000000000..f32386e114b7 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/0012-dlopen-dbus.patch @@ -0,0 +1,25 @@ +From eec8a79c6cc9e2c65fd43db48ca2347de3ae0c5e Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel <ttuegel@gmail.com> +Date: Mon, 1 Dec 2014 17:38:04 -0600 +Subject: [PATCH] dlopen-dbus + +--- + qtbase/src/dbus/qdbus_symbols.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/dbus/qdbus_symbols.cpp b/qtbase/src/dbus/qdbus_symbols.cpp +index a7a1b67..661baf1 100644 +--- a/qtbase/src/dbus/qdbus_symbols.cpp ++++ b/qtbase/src/dbus/qdbus_symbols.cpp +@@ -93,7 +93,7 @@ bool qdbus_loadLibDBus() + + static int majorversions[] = { 3, 2, -1 }; + lib->unload(); +- lib->setFileName(QLatin1String("dbus-1")); ++ lib->setFileName(QLatin1String("@dbus_libs@/lib/libdbus-1")); + for (uint i = 0; i < sizeof(majorversions) / sizeof(majorversions[0]); ++i) { + lib->setFileNameAndVersion(lib->fileName(), majorversions[i]); + if (lib->load() && lib->resolve("dbus_connection_open_private")) +-- +2.1.3 + diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/default.nix b/pkgs/development/libraries/qt-5/5.3-submodules/default.nix new file mode 100644 index 000000000000..607da4f589a5 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.3-submodules/default.nix @@ -0,0 +1,330 @@ +{ autonix, fetchurl, newScope, stdenv + +, bison2 +, mesa_noglu +, cups +, gnome + +# options +, developerBuild ? false +}: + +with autonix; +with stdenv.lib; + +let + manifest = + importManifest ./manifest.nix { mirror = "http://download.qt.io"; }; + srcs = + mapAttrs (name: src: fetchurl { inherit (src) url sha256 name; }) manifest; + + version = "5.3.2"; + + callPackage = newScope (self // { inherit qtSubmodule; }); + + qtSubmodule = callPackage ./qt-submodule.nix { + inherit srcs version; + inherit (stdenv) mkDerivation; + }; + + self = + { + + activeqt = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtactiveqt"; + qtInputs = [ base ]; + } + ) + {}; + + base = callPackage ./qtbase.nix { + mesa = mesa_noglu; + cups = if stdenv.isLinux then cups else null; + # GNOME dependencies are not used unless gtkStyle == true + inherit (gnome) libgnomeui GConf gnome_vfs; + bison = bison2; # error: too few arguments to function 'int yylex(... + inherit developerBuild srcs version; + }; + + connectivity = callPackage + ( + { qtSubmodule, base, declarative }: + + qtSubmodule { + name = "qtconnectivity"; + qtInputs = [ base declarative ]; + } + ) + {}; + + declarative = callPackage + ( + { qtSubmodule, python, base, svg, xmlpatterns }: + + qtSubmodule { + name = "qtdeclarative"; + qtInputs = [ base svg xmlpatterns ]; + nativeBuildInputs = [ python ]; + } + ) + {}; + + doc = callPackage + ( + { qtSubmodule, declarative }: + + qtSubmodule { + name = "qtdoc"; + qtInputs = [ declarative ]; + } + ) + {}; + + enginio = callPackage + ( + { qtSubmodule, declarative }: + + qtSubmodule { + name = "qtenginio"; + qtInputs = [ declarative ]; + } + ) + {}; + + graphicaleffects = callPackage + ( + { qtSubmodule, declarative }: + + qtSubmodule { + name = "qtgraphicaleffects"; + qtInputs = [ declarative ]; + } + ) + {}; + + imageformats = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtimageformats"; + qtInputs = [ base ]; + } + ) + {}; + + location = callPackage + ( + { qtSubmodule, base, multimedia }: + + qtSubmodule { + name = "qtlocation"; + qtInputs = [ base multimedia ]; + } + ) + {}; + + multimedia = callPackage + ( + { qtSubmodule, base, declarative + , alsaLib, gstreamer, gst_plugins_base, pulseaudio + }: + + qtSubmodule { + name = "qtmultimedia"; + qtInputs = [ base declarative ]; + buildInputs = [ + alsaLib gstreamer gst_plugins_base pulseaudio + ]; + } + ) + {}; + + quick1 = callPackage + ( + { qtSubmodule, script, svg, webkit, xmlpatterns }: + + qtSubmodule { + name = "qtquick1"; + qtInputs = [ script svg webkit xmlpatterns ]; + } + ) + {}; + + quickcontrols = callPackage + ( + { qtSubmodule, declarative }: + + qtSubmodule { + name = "qtquickcontrols"; + qtInputs = [ declarative ]; + } + ) + {}; + + script = callPackage + ( + { qtSubmodule, base, tools }: + + qtSubmodule { + name = "qtscript"; + qtInputs = [ base tools ]; + patchFlags = "-p2"; # patches originally for monolithic build + patches = [ ./0003-glib-2.32.patch ]; + } + ) + {}; + + sensors = callPackage + ( + { qtSubmodule, base, declarative }: + + qtSubmodule { + name = "qtsensors"; + qtInputs = [ base declarative ]; + } + ) + {}; + + serialport = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtserialport"; + qtInputs = [ base ]; + patchFlags = "-p2"; # patches originally for monolithic build + patches = [ ./0009-dlopen-serialport-udev.patch ]; + } + ) + {}; + + svg = callPackage + ( + { qtSubmodule, base }: + + qtSubmodule { + name = "qtsvg"; + qtInputs = [ base ]; + } + ) + {}; + + tools = callPackage + ( + { qtSubmodule, activeqt, base, declarative, webkit }: + + qtSubmodule { + name = "qttools"; + qtInputs = [ activeqt base declarative webkit ]; + } + ) + {}; + + translations = callPackage + ( + { qtSubmodule, tools }: + + qtSubmodule { + name = "qttranslations"; + qtInputs = [ tools ]; + } + ) + {}; + + webkit = callPackage + ( + { qtSubmodule, declarative, location, multimedia, sensors + , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt + , sqlite, udev + , bison2, flex, gdb, gperf, perl, pkgconfig, python, rub |