qt5: absolute paths for dlopen
This commit is contained in:
parent
02157ab123
commit
e36d7c8d11
|
@ -1,7 +1,31 @@
|
||||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
|
From 35d5995a58c86a6addbf0aaf0d1be64d39182872 Mon Sep 17 00:00:00 2001
|
||||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp 2013-08-25 20:03:30.000000000 +0200
|
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp 2013-09-25 17:58:04.229373681 +0200
|
Date: Mon, 1 Dec 2014 17:21:58 -0600
|
||||||
@@ -348,7 +348,7 @@
|
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
|
void QGtkStylePrivate::resolveGtk() const
|
||||||
{
|
{
|
||||||
// enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
|
// enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
|
||||||
|
@ -10,7 +34,7 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk
|
||||||
|
|
||||||
gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
|
gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
|
||||||
gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
|
gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
|
||||||
@@ -461,8 +461,8 @@
|
@@ -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_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");
|
pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
|
||||||
|
|
||||||
|
@ -21,7 +45,7 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk
|
||||||
}
|
}
|
||||||
|
|
||||||
/* \internal
|
/* \internal
|
||||||
@@ -630,9 +630,9 @@
|
@@ -601,9 +601,9 @@ void QGtkStylePrivate::cleanupGtkWidgets()
|
||||||
static bool resolveGConf()
|
static bool resolveGConf()
|
||||||
{
|
{
|
||||||
if (!QGtkStylePrivate::gconf_client_get_default) {
|
if (!QGtkStylePrivate::gconf_client_get_default) {
|
||||||
|
@ -34,3 +58,6 @@ diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/widgets/styles/qgtk
|
||||||
}
|
}
|
||||||
return (QGtkStylePrivate::gconf_client_get_default !=0);
|
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
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
|
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
|
diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
|
||||||
index b4ea91e..a56a245 100644
|
index b4ea91e..a56a245 100644
|
||||||
--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
|
--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
|
||||||
|
@ -38,3 +47,6 @@ index b4ea91e..a56a245 100644
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
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
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
|
, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
|
||||||
, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
|
, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
|
||||||
, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
|
, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
|
||||||
, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
|
, xcbutilkeysyms, xcbutilwm, udev, libxml2, libxslt, pcre, libxkbcommon
|
||||||
, alsaLib, gstreamer, gst_plugins_base
|
, alsaLib, gstreamer, gst_plugins_base
|
||||||
, pulseaudio, bison, flex, gperf, ruby, libwebp
|
, pulseaudio, bison, flex, gperf, ruby, libwebp, libXcursor
|
||||||
, flashplayerFix ? false
|
, flashplayerFix ? false
|
||||||
, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
|
, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
|
||||||
, buildDocs ? false
|
, buildDocs ? false
|
||||||
|
@ -45,24 +45,40 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches =
|
patches =
|
||||||
[ ./glib-2.32.patch
|
optional gtkStyle
|
||||||
./qt-5.3-tzdir.patch
|
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
src = ./qt-5.3-dlopen-absolute-paths.patch;
|
src = ./0001-dlopen-gtkstyle.patch;
|
||||||
inherit cups icu libXfixes;
|
|
||||||
glibc = stdenv.gcc.libc;
|
|
||||||
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
|
||||||
})
|
|
||||||
] ++ optional gtkStyle (substituteAll {
|
|
||||||
src = ./dlopen-gtkstyle.patch;
|
|
||||||
# substituteAll ignores env vars starting with capital letter
|
# substituteAll ignores env vars starting with capital letter
|
||||||
gconf = GConf;
|
gconf = GConf;
|
||||||
inherit gnome_vfs libgnomeui gtk;
|
inherit gnome_vfs libgnomeui gtk;
|
||||||
})
|
})
|
||||||
++ optional flashplayerFix (substituteAll {
|
++ optional flashplayerFix
|
||||||
src = ./dlopen-webkit-nsplugin.patch;
|
(substituteAll {
|
||||||
|
src = ./0002-dlopen-webkit-nsplugin.patch;
|
||||||
inherit gtk gdk_pixbuf;
|
inherit gtk gdk_pixbuf;
|
||||||
});
|
})
|
||||||
|
++ optional flashplayerFix
|
||||||
|
(substituteAll {
|
||||||
|
src = ./0007-dlopen-webkit-gtk.patch;
|
||||||
|
inherit gtk;
|
||||||
|
})
|
||||||
|
++ [
|
||||||
|
./0003-glib-2.32.patch
|
||||||
|
(substituteAll {
|
||||||
|
src = ./0004-dlopen-resolv.patch;
|
||||||
|
glibc = stdenv.gcc.libc;
|
||||||
|
})
|
||||||
|
(substituteAll {
|
||||||
|
src = ./0005-dlopen-gl.patch;
|
||||||
|
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
||||||
|
})
|
||||||
|
./0006-tzdir.patch
|
||||||
|
(substituteAll { src = ./0008-dlopen-webkit-udev.patch; inherit udev; })
|
||||||
|
(substituteAll { src = ./0009-dlopen-serialport-udev.patch; inherit udev; })
|
||||||
|
(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 = ''
|
preConfigure = ''
|
||||||
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
|
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp
|
|
||||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2013-08-25 20:04:47.000000000 +0200
|
|
||||||
+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginPackageQt.cpp 2013-09-25 17:59:45.925363807 +0200
|
|
||||||
@@ -132,7 +132,7 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- 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 -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp
|
|
||||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp 2013-08-25 20:04:47.000000000 +0200
|
|
||||||
+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebCore/plugins/qt/PluginViewQt.cpp 2013-09-25 18:00:29.551215155 +0200
|
|
||||||
@@ -702,7 +702,7 @@
|
|
||||||
// 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 -ruN qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
|
|
||||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 2013-08-25 20:04:42.000000000 +0200
|
|
||||||
+++ qt-everywhere-opensource-src-5.1.1/qtwebkit/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp 2013-09-25 18:04:54.955408293 +0200
|
|
||||||
@@ -64,7 +64,7 @@
|
|
||||||
// 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;
|
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
|
|
||||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2013-08-25 20:04:35.000000000 +0200
|
|
||||||
+++ qt-everywhere-opensource-src-5.1.1/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h 2013-09-25 18:09:22.154639482 +0200
|
|
||||||
@@ -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
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
|
|
||||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-08-25 20:03:35.000000000 +0200
|
|
||||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-09-25 17:43:14.047015411 +0200
|
|
||||||
@@ -103,7 +103,7 @@
|
|
||||||
if (!lib.load())
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
- lib.setFileName(QLatin1String("resolv"));
|
|
||||||
+ lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
|
|
||||||
if (!lib.load())
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
|
|
||||||
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-08-25 20:03:35.000000000 +0200
|
|
||||||
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-09-25 17:51:29.834674976 +0200
|
|
||||||
@@ -379,7 +379,7 @@
|
|
||||||
{
|
|
||||||
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");
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue