mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 06:53:01 +00:00
qt5split: add split submodule build of Qt 5.3
This commit is contained in:
parent
73f8aebd8d
commit
042e4ad633
1
.gitignore
vendored
1
.gitignore
vendored
@ -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/
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
330
pkgs/development/libraries/qt-5/5.3-submodules/default.nix
Normal file
330
pkgs/development/libraries/qt-5/5.3-submodules/default.nix
Normal file
@ -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, ruby
|
||||
, substituteAll
|
||||
, flashplayerFix ? false
|
||||
}:
|
||||
|
||||
qtSubmodule {
|
||||
name = "qtwebkit";
|
||||
qtInputs = [ declarative location multimedia sensors ];
|
||||
buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite ];
|
||||
nativeBuildInputs = [
|
||||
bison2 flex gdb gperf perl pkgconfig python ruby
|
||||
];
|
||||
patchFlags = "-p2"; # patches originally for monolithic build
|
||||
patches =
|
||||
optional flashplayerFix
|
||||
(substituteAll
|
||||
{
|
||||
src = ./0002-dlopen-webkit-nsplugin.patch;
|
||||
inherit gtk gdk_pixbuf;
|
||||
}
|
||||
)
|
||||
++ optional flashplayerFix
|
||||
(substituteAll
|
||||
{
|
||||
src = ./0007-dlopen-webkit-gtk.patch;
|
||||
inherit gtk;
|
||||
}
|
||||
)
|
||||
++ [
|
||||
(substituteAll
|
||||
{
|
||||
src = ./0008-dlopen-webkit-udev.patch;
|
||||
inherit udev;
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
)
|
||||
{};
|
||||
|
||||
webkit-examples = callPackage
|
||||
(
|
||||
{ qtSubmodule, tools, webkit }:
|
||||
|
||||
qtSubmodule {
|
||||
name = "qtwebkit-examples";
|
||||
qtInputs = [ tools webkit ];
|
||||
}
|
||||
)
|
||||
{};
|
||||
|
||||
websockets = callPackage
|
||||
(
|
||||
{ qtSubmodule, base, declarative }:
|
||||
|
||||
qtSubmodule {
|
||||
name = "qtwebsockets";
|
||||
qtInputs = [ base declarative ];
|
||||
}
|
||||
)
|
||||
{};
|
||||
|
||||
x11extras = callPackage
|
||||
(
|
||||
{ qtSubmodule, base }:
|
||||
|
||||
qtSubmodule {
|
||||
name = "qtx11extras";
|
||||
qtInputs = [ base ];
|
||||
}
|
||||
)
|
||||
{};
|
||||
|
||||
xmlpatterns = callPackage
|
||||
(
|
||||
{ qtSubmodule, base }:
|
||||
|
||||
qtSubmodule {
|
||||
name = "qtxmlpatterns";
|
||||
qtInputs = [ base ];
|
||||
}
|
||||
)
|
||||
{};
|
||||
|
||||
};
|
||||
|
||||
in self
|
166
pkgs/development/libraries/qt-5/5.3-submodules/manifest.nix
Normal file
166
pkgs/development/libraries/qt-5/5.3-submodules/manifest.nix
Normal file
@ -0,0 +1,166 @@
|
||||
# This file is generated automatically. DO NOT EDIT!
|
||||
{ mirror }:
|
||||
[
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qttranslations-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1kf52crdg4a0p2pvm15slr2akiv5vcaj2g4f9iqqirg90pq4idi9";
|
||||
name = "qttranslations-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/b49c2shv2x09l8887x9xd78j30azaihg-qttranslations-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtconnectivity-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "0vq9v7dw8d3p2x45zzm96wvp8l1n76af3xzjs8p7bscpasw75f9f";
|
||||
name = "qtconnectivity-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/7282a9bbvk9yvbp47yp3rh708cc6a2ic-qtconnectivity-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtwinextras-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "06g5ny3vfwfvh8aa6dhgypy446bj486ks6a3hwah2mzz911ywfgn";
|
||||
name = "qtwinextras-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/iy9p8g3x5jl4ysxsm0zac8ac32x8xh45-qtwinextras-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtmultimedia-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "02qf98kv48bvpff85sz49y965if7jlfx98vxf0y78crzr5kaqpr5";
|
||||
name = "qtmultimedia-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/q7nvs99p642dwv1lzxay1hws4x5apsf8-qtmultimedia-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtquick1-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1yvkcbgcccy4bzf6xglnbjh23l5p9785lysfxphy7r40a64jwywv";
|
||||
name = "qtquick1-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/baqff20xa58d4njisddi6s97g4pjhfki-qtquick1-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtgraphicaleffects-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1z3zpa3lj2kx9999ycg0ixffwr3k0g5wlnizgm41ja9xl5c2d3v8";
|
||||
name = "qtgraphicaleffects-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/vkm87abgwl8hpvfamjnnn6cj5gpxzqrf-qtgraphicaleffects-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qttools-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "0glq97mivf5mwqxanbg2j4n2nky2lpcigr8p8naizbj37p3csfax";
|
||||
name = "qttools-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/l9gccd50sxj01bsz30z6ncby9s24bf3y-qttools-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtimageformats-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1m7283m1py4h11qj0rgz8bi7f474n2bnppnvrz0fsx1pnz7cn0yk";
|
||||
name = "qtimageformats-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/ikpxw4qp50w7cs54f90njz5llv0xza2l-qtimageformats-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtsvg-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "03z33bkkaxcnpnmk4klb775c1nrp835c4bf8r0678mgf0zrw5i8y";
|
||||
name = "qtsvg-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/wkp9660hiqavzimc88birm0ww7x5yycx-qtsvg-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtwebkit-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "0nrfv57xpzgjk5420jhk2mr46mn0mjdxhg0vw4rcrqg82pnj4wg4";
|
||||
name = "qtwebkit-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/9zvifykqvxic9f10672n7lxwxkl90886-qtwebkit-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtsensors-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1r1sjl41v8yij5b5lph7jkb2yxxaj1p8dyx1qzp0awdx5z29sdgr";
|
||||
name = "qtsensors-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/x551nn8q8cflm99v2q3gk78vhayqb0bb-qtsensors-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtmacextras-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "023q4v6drichy6s6mn3jd2lxzj2cma7y35wyzx3wa7rhvznplzlb";
|
||||
name = "qtmacextras-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/kfb05hiq7dc1djiy92nxvskshfjzyydx-qtmacextras-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtlocation-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1mqlk09kccjxzrxxd5kv2w343kmnk8jxgfyb7adkhd8wacmhgd1p";
|
||||
name = "qtlocation-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/pcfivvnnw5j5p3gk5r3gdf4iv974l323-qtlocation-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtscript-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1gnpsvlkqfws3rsgzlxnd63w2h9f142hfg4bsb3h4d4rihn0063f";
|
||||
name = "qtscript-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/fjsvvkw7a39v85r8mwbpvki9zps1qcms-qtscript-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtquickcontrols-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "0knryszjfhk2x7h5d9b07cil0mzqn4hlp5d8maq42w889l0hz2az";
|
||||
name = "qtquickcontrols-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/2mlnavd1zjsp1vwnvi2gwgvw6wl3fpgc-qtquickcontrols-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtactiveqt-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "07sbgibmj4m9jywdz3ilmz1s6zh57himqhc2a62k78r0xx48chz1";
|
||||
name = "qtactiveqt-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/x1zpipa51v97w16dphdbbxn1mg096g2g-qtactiveqt-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qt5-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "0xj18bbamg921y8y8pzjxs2sciyrwvvr7wzh43pjpkiacs13r08a";
|
||||
name = "qt5-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/y1gks060bhnzan3af703i00l50kbmn4z-qt5-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtxmlpatterns-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1fqsxkbzf2iwzc2m5qccw1gan2ddbr15xjgjr9sp84cy0c3h7axc";
|
||||
name = "qtxmlpatterns-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/z4g2py09bn400hfxh9n6ssqn9xnr5g7g-qtxmlpatterns-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtdoc-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "17ahdsj8hssi1dfwxbxq11mi0lpy75c3z5mwswd13l9lnvpm6d0b";
|
||||
name = "qtdoc-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/78sa59m008x9vcpiky2i2maql6d20wa8-qtdoc-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtwebkit-examples-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "10k45492afbqffx5jab8784spp9ihclgxqn0kviy5n5pcc41l268";
|
||||
name = "qtwebkit-examples-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/39809byxmwz1wzchr6fd0b4qqd2p18mj-qtwebkit-examples-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtenginio-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "027pdbgiaf1ypcb054x1mgdn5r9ph6hr09p4h2rrsd3avib4df6m";
|
||||
name = "qtenginio-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/dmng42dg4s3sllzv27pz03gj8ys6i3a8-qtenginio-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtwebsockets-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1hiq7bkpffjpmx4kvp4xldgq8sm7r9xyfak410g7p8hg7d0kslv0";
|
||||
name = "qtwebsockets-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/74gkwn4mqmq8if54492fk3mv0bgjjs12-qtwebsockets-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtandroidextras-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "0a66f8s4wgb9s0k5bqc98kd5qf6qypxn1qhzcwqc3qqrfv69pwmy";
|
||||
name = "qtandroidextras-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/0121pysghq6bxjx0l0isjfhjc283ncci-qtandroidextras-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtserialport-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "0jsszlv4v45wx8m9rj0398c6i534dwfcjvb7b1wyaq5y135y11m8";
|
||||
name = "qtserialport-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/7xkgwk3l565bvcmzadywjcpbydgbv688-qtserialport-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtx11extras-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "0lbjq6014nz68xhg0mzmm92pm9r45jgaw82a1c41igz0bg4jhsna";
|
||||
name = "qtx11extras-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/93rdyp4p1qz8cd7cn7gixjch23m71xqf-qtx11extras-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtdeclarative-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "10i3id206vzvxc3rwa4mykwmbxc13mf8psapq6a06b34p69q2404";
|
||||
name = "qtdeclarative-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/kf843n3710cancfcdicb17s8hxg628yr-qtdeclarative-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
{
|
||||
url = "${mirror}/official_releases/qt/5.3/5.3.2/submodules/qtbase-opensource-src-5.3.2.tar.xz";
|
||||
sha256 = "1f3chbblfwyhj4qll6gd05jw7qgvcmqc12xbvpb9kbkdqid0j5ls";
|
||||
name = "qtbase-opensource-src-5.3.2.tar.xz";
|
||||
store = "/nix/store/l38yd5yrm35r812pdigxczqzv2h3k7r9-qtbase-opensource-src-5.3.2.tar.xz";
|
||||
}
|
||||
]
|
15
pkgs/development/libraries/qt-5/5.3-submodules/manifest.sh
Executable file
15
pkgs/development/libraries/qt-5/5.3-submodules/manifest.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
|
||||
# The extra slash at the end of the URL is necessary to stop wget
|
||||
# from recursing over the whole server! (No, it's not a bug.)
|
||||
$(nix-build ../../../../.. -A autonix.manifest) \
|
||||
http://download.qt.io/official_releases/qt/5.3/5.3.2/submodules/ \
|
||||
-A '*.tar.xz'
|
||||
|
||||
else
|
||||
|
||||
$(nix-build ../../../.. -A autonix.manifest) -A '*.tar.xz' "$@"
|
||||
|
||||
fi
|
@ -0,0 +1,62 @@
|
||||
{ stdenv, mkDerivation
|
||||
, srcs, version
|
||||
, lndir
|
||||
, base
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
args:
|
||||
|
||||
mkDerivation (args // {
|
||||
|
||||
name = "${args.name}-${version}";
|
||||
inherit version;
|
||||
|
||||
srcs = args.srcs or [srcs."${args.name}-opensource-src"];
|
||||
|
||||
preConfigure = ''
|
||||
mkdir -p "$out"
|
||||
|
||||
for qtInput in ${concatStringsSep " " args.qtInputs}; do
|
||||
lndir "$qtInput" "$out"
|
||||
done
|
||||
|
||||
# Only this package's nix-support files go in $out
|
||||
rm -fr $out/nix-support
|
||||
|
||||
# Override hardcoded paths in qmake
|
||||
rm -f $out/bin/qmake
|
||||
cp "${base}/bin/qmake" "$out/bin/qmake"
|
||||
rm -f $out/bin/qt.conf
|
||||
cat <<EOF >$out/bin/qt.conf
|
||||
[Paths]
|
||||
Prefix = $out
|
||||
EOF
|
||||
export PATH=$out/bin:$PATH
|
||||
'' + (args.preConfigure or "");
|
||||
|
||||
dontAddPrefix = args.dontAddPrefix or true;
|
||||
dontFixLibtool = args.dontFixLibtool or true;
|
||||
configureScript = args.configureScript or "qmake";
|
||||
|
||||
postInstall = ''
|
||||
rm "$out/bin/qmake" "$out/bin/qt.conf"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
|
||||
|
||||
nativeBuildInputs = [ lndir ] ++ (args.nativeBuildInputs or []);
|
||||
|
||||
enableParallelBuilding =
|
||||
args.enableParallelBuilding or true; # often fails on Hydra, as well as qt4
|
||||
|
||||
meta = args.meta or {
|
||||
homepage = http://qt-project.org;
|
||||
description = "A cross-platform application framework for C++";
|
||||
license = "GPL/LGPL";
|
||||
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
})
|
174
pkgs/development/libraries/qt-5/5.3-submodules/qtbase.nix
Normal file
174
pkgs/development/libraries/qt-5/5.3-submodules/qtbase.nix
Normal file
@ -0,0 +1,174 @@
|
||||
{ stdenv, substituteAll
|
||||
, srcs, version
|
||||
|
||||
, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
|
||||
, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
|
||||
, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre
|
||||
, zlib, libjpeg, libpng, libtiff, sqlite, icu
|
||||
|
||||
, coreutils, bison, flex, gdb, gperf, ruby
|
||||
, python, perl, pkgconfig
|
||||
|
||||
# optional dependencies
|
||||
, cups ? null
|
||||
, mysql ? null, postgresql ? null
|
||||
|
||||
# options
|
||||
, mesaSupported, mesa, mesa_glu
|
||||
, buildDocs ? false
|
||||
, buildExamples ? false
|
||||
, buildTests ? false
|
||||
, developerBuild ? false
|
||||
, gtkStyle ? false, libgnomeui, GConf, gnome_vfs, gtk
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
|
||||
name = "qtbase-${version}";
|
||||
inherit version;
|
||||
|
||||
srcs = with srcs; [ qt5-opensource-src qtbase-opensource-src ];
|
||||
sourceRoot = "qt-everywhere-opensource-src-${version}";
|
||||
|
||||
postUnpack = ''
|
||||
mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase
|
||||
'';
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace configure --replace /bin/pwd pwd
|
||||
substituteInPlace qtbase/configure --replace /bin/pwd pwd
|
||||
substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
|
||||
substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
|
||||
--replace /usr/share/X11/locale ${libX11}/share/X11/locale \
|
||||
--replace /usr/lib/X11/locale ${libX11}/share/X11/locale
|
||||
sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
|
||||
'';
|
||||
|
||||
patches =
|
||||
optional gtkStyle
|
||||
(substituteAll {
|
||||
src = ./0001-dlopen-gtkstyle.patch;
|
||||
# substituteAll ignores env vars starting with capital letter
|
||||
gconf = GConf;
|
||||
inherit gnome_vfs libgnomeui gtk;
|
||||
})
|
||||
++ [
|
||||
(substituteAll {
|
||||
src = ./0004-dlopen-resolv.patch;
|
||||
glibc = stdenv.cc.libc;
|
||||
})
|
||||
(substituteAll {
|
||||
src = ./0005-dlopen-gl.patch;
|
||||
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
||||
})
|
||||
./0006-tzdir.patch
|
||||
(substituteAll { src = ./0010-dlopen-libXcursor.patch; inherit libXcursor; })
|
||||
(substituteAll { src = ./0011-dlopen-openssl.patch; inherit openssl; })
|
||||
(substituteAll { src = ./0012-dlopen-dbus.patch; dbus_libs = dbus; })
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
|
||||
export MAKEFLAGS=-j$NIX_BUILD_CORES
|
||||
'';
|
||||
|
||||
prefixKey = "-prefix ";
|
||||
|
||||
# -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
|
||||
# TODO Remove obsolete and useless flags once the build will be totally mastered
|
||||
configureFlags = ''
|
||||
-verbose
|
||||
-confirm-license
|
||||
-opensource
|
||||
|
||||
-release
|
||||
-shared
|
||||
-c++11
|
||||
${optionalString developerBuild "-developer-build"}
|
||||
-largefile
|
||||
-accessibility
|
||||
-rpath
|
||||
-optimized-qmake
|
||||
-strip
|
||||
-reduce-relocations
|
||||
-system-proxies
|
||||
|
||||
-gui
|
||||
-widgets
|
||||
-opengl desktop
|
||||
-qml-debug
|
||||
-nis
|
||||
-iconv
|
||||
-icu
|
||||
-pch
|
||||
-glib
|
||||
-xcb
|
||||
-qpa xcb
|
||||
-${optionalString (cups == null) "no-"}cups
|
||||
|
||||
-no-eglfs
|
||||
-no-directfb
|
||||
-no-linuxfb
|
||||
-no-kms
|
||||
|
||||
-system-zlib
|
||||
-system-libpng
|
||||
-system-libjpeg
|
||||
-system-xcb
|
||||
-system-xkbcommon
|
||||
-openssl-linked
|
||||
-dbus-linked
|
||||
|
||||
-system-sqlite
|
||||
-${if mysql != null then "plugin" else "no"}-sql-mysql
|
||||
-${if postgresql != null then "plugin" else "no"}-sql-psql
|
||||
|
||||
-make libs
|
||||
-make tools
|
||||
-${optionalString (buildExamples == false) "no"}make examples
|
||||
-${optionalString (buildTests == false) "no"}make tests
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
|
||||
fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
|
||||
zlib libjpeg libpng libtiff sqlite icu
|
||||
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
|
||||
]
|
||||
# Qt doesn't directly need GLU (just GL), but many apps use, it's small and
|
||||
# doesn't remain a runtime-dep if not used
|
||||
++ optionals mesaSupported [ mesa mesa_glu ]
|
||||
++ optional (cups != null) cups
|
||||
++ optional (mysql != null) mysql
|
||||
++ optional (postgresql != null) postgresql;
|
||||
|
||||
buildInputs = [ gdb bison flex gperf ruby ];
|
||||
|
||||
nativeBuildInputs = [ python perl pkgconfig ];
|
||||
|
||||
# freetype-2.5.4 changed signedness of some struct fields
|
||||
NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
|
||||
|
||||
postInstall =
|
||||
''
|
||||
${optionalString buildDocs ''
|
||||
make docs && make install_docs
|
||||
''}
|
||||
|
||||
# Don't retain build-time dependencies like gdb and ruby.
|
||||
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true; # often fails on Hydra, as well as qt4
|
||||
|
||||
meta = {
|
||||
homepage = http://qt-project.org;
|
||||
description = "A cross-platform application framework for C++";
|
||||
license = "GPL/LGPL";
|
||||
maintainers = with maintainers; [ bbenoist qknight ttuegel ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
}
|
@ -7030,6 +7030,8 @@ let
|
||||
bison = bison2; # error: too few arguments to function 'int yylex(...
|
||||
};
|
||||
|
||||
qt5split = callPackage ../development/libraries/qt-5/5.3-submodules {};
|
||||
|
||||
qt5Full = appendToName "full" (qt5.override {
|
||||
buildDocs = true;
|
||||
buildExamples = true;
|
||||
|
Loading…
Reference in New Issue
Block a user