qt4: Update to 4.8.3
This commit is contained in:
parent
46b05945e0
commit
bf1b2e9c2e
@ -7,13 +7,13 @@
|
||||
, perl, coreutils, libXi
|
||||
, buildMultimedia ? true, alsaLib, gstreamer, gst_plugins_base
|
||||
, buildWebkit ? true
|
||||
, flashplayerFix ? true, gdk_pixbuf
|
||||
, flashplayerFix ? false, gdk_pixbuf
|
||||
, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
|
||||
}:
|
||||
|
||||
let
|
||||
v = "4.8.2";
|
||||
in
|
||||
with stdenv.lib;
|
||||
|
||||
let v = "4.8.3"; in
|
||||
|
||||
# TODO:
|
||||
# * move some plugins (e.g., SQL plugins) to dedicated derivations to avoid
|
||||
@ -24,27 +24,26 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-${v}.tar.gz";
|
||||
sha256 = "0y93vkkn44md37gyg4y8sc9ylk27xkniaimfcpdcwd090qnjl6wj";
|
||||
sha256 = "0a67riy4i0xj6j7vmckd0nakras3rl3rzx0r83h1p1i4z5s2kxzi";
|
||||
};
|
||||
|
||||
patches = [ ./glib-2.32.patch ( substituteAll {
|
||||
patches =
|
||||
[ ./glib-2.32.patch
|
||||
(substituteAll {
|
||||
src = ./dlopen-absolute-paths.diff;
|
||||
inherit cups icu libXfixes;
|
||||
glibc = stdenv.gcc.libc;
|
||||
})
|
||||
] ++ stdenv.lib.optional gtkStyle (
|
||||
substituteAll {
|
||||
] ++ stdenv.lib.optional gtkStyle (substituteAll {
|
||||
src = ./dlopen-gtkstyle.diff;
|
||||
# substituteAll ignores env vars starting with capital letter
|
||||
gconf = GConf;
|
||||
gconf = GConf;
|
||||
inherit gnome_vfs libgnomeui gtk;
|
||||
}
|
||||
) ++ stdenv.lib.optional flashplayerFix (
|
||||
substituteAll {
|
||||
})
|
||||
++ stdenv.lib.optional flashplayerFix (substituteAll {
|
||||
src = ./dlopen-webkit-nsplugin.diff;
|
||||
inherit gtk gdk_pixbuf;
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
@ -81,18 +80,16 @@ stdenv.mkDerivation rec {
|
||||
[ libXrender libXrandr libXinerama libXcursor libXext libXfixes
|
||||
libXv libXi libSM
|
||||
]
|
||||
++ (stdenv.lib.optional (stdenv.lib.lists.elem stdenv.system
|
||||
stdenv.lib.platforms.mesaPlatforms)
|
||||
mesa)
|
||||
++ (stdenv.lib.optional (buildWebkit || buildMultimedia) alsaLib)
|
||||
++ optional (stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms) mesa
|
||||
++ optional (buildWebkit || buildMultimedia) alsaLib
|
||||
++ [ zlib libpng openssl dbus.libs freetype fontconfig glib ]
|
||||
++ (stdenv.lib.optionals (buildWebkit || buildMultimedia)
|
||||
[ gstreamer gst_plugins_base ]);
|
||||
++ optionals (buildWebkit || buildMultimedia) [ gstreamer gst_plugins_base ];
|
||||
|
||||
# The following libraries are only used in plugins
|
||||
buildInputs = [ cups # Qt dlopen's libcups instead of linking to it
|
||||
mysql postgresql sqlite libjpeg libmng libtiff icu ]
|
||||
++ stdenv.lib.optionals gtkStyle [ gtk gdk_pixbuf ];
|
||||
buildInputs =
|
||||
[ cups # Qt dlopen's libcups instead of linking to it
|
||||
mysql postgresql sqlite libjpeg libmng libtiff icu ]
|
||||
++ optionals gtkStyle [ gtk gdk_pixbuf ];
|
||||
|
||||
buildNativeInputs = [ perl pkgconfig which ];
|
||||
|
||||
@ -119,7 +116,7 @@ stdenv.mkDerivation rec {
|
||||
-no-svg
|
||||
-make qmake -make libs -nomake tools
|
||||
-nomake demos -nomake examples -nomake docs
|
||||
'' + stdenv.lib.optionalString isMingw " -xplatform win32-g++-4.6";
|
||||
'' + optionalString isMingw " -xplatform win32-g++-4.6";
|
||||
patches = [];
|
||||
preConfigure = ''
|
||||
sed -i -e 's/ g++/ ${stdenv.cross.config}-g++/' \
|
||||
@ -136,12 +133,11 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
dontSetConfigureCross = true;
|
||||
dontStrip = true;
|
||||
} // (if isMingw then
|
||||
{
|
||||
} // optionalAttrs isMingw {
|
||||
propagatedBuildInputs = [ ];
|
||||
} else {});
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = {
|
||||
homepage = http://qt.nokia.com/products;
|
||||
description = "A cross-platform application framework for C++";
|
||||
license = "GPL/LGPL";
|
||||
|
@ -1,5 +1,27 @@
|
||||
--- a/src/gui/painting/qcups.cpp 2011-12-08 09:06:02.000000000 +0400
|
||||
+++ b/src/gui/painting/qcups.cpp 2011-12-18 12:17:07.000000000 +0400
|
||||
diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/corelib/tools/qlocale_icu.cpp qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.3-orig/src/corelib/tools/qlocale_icu.cpp 2012-09-10 21:36:50.000000000 -0400
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/corelib/tools/qlocale_icu.cpp 2012-09-28 22:57:40.764153828 -0400
|
||||
@@ -81,7 +81,7 @@
|
||||
if (status == NotLoaded) {
|
||||
|
||||
// resolve libicui18n
|
||||
- QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
+ QLibrary lib(QLatin1String("@icu@/lib/libicui18n"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
|
||||
if (!lib.load()) {
|
||||
qWarning() << "Unable to load library icui18n" << lib.errorString();
|
||||
@@ -111,7 +111,7 @@
|
||||
}
|
||||
|
||||
// resolve libicuuc
|
||||
- QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
+ QLibrary ucLib(QLatin1String("@icu@/lib/libicuuc"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
ucLib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
|
||||
if (!ucLib.load()) {
|
||||
qWarning() << "Unable to load library icuuc" << ucLib.errorString();
|
||||
diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qcups.cpp qt-everywhere-opensource-src-4.8.3/src/gui/painting/qcups.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qcups.cpp 2012-09-10 21:36:51.000000000 -0400
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/gui/painting/qcups.cpp 2012-09-28 18:08:26.600720491 -0400
|
||||
@@ -87,7 +87,7 @@
|
||||
|
||||
static void resolveCups()
|
||||
@ -9,8 +31,9 @@
|
||||
if(cupsLib.load()) {
|
||||
_cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
|
||||
_cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");
|
||||
--- a/src/gui/painting/qprinterinfo_unix.cpp 2011-12-08 09:06:02.000000000 +0400
|
||||
+++ b/src/gui/painting/qprinterinfo_unix.cpp 2011-12-23 16:22:15.000000000 +0400
|
||||
diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qprinterinfo_unix.cpp qt-everywhere-opensource-src-4.8.3/src/gui/painting/qprinterinfo_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.3-orig/src/gui/painting/qprinterinfo_unix.cpp 2012-09-10 21:36:51.000000000 -0400
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/gui/painting/qprinterinfo_unix.cpp 2012-09-28 18:08:26.601720488 -0400
|
||||
@@ -454,7 +454,7 @@
|
||||
char *domain;
|
||||
int err;
|
||||
@ -20,39 +43,21 @@
|
||||
typedef int (*ypGetDefaultDomain)(char **);
|
||||
ypGetDefaultDomain _ypGetDefaultDomain = (ypGetDefaultDomain)lib.resolve("yp_get_default_domain");
|
||||
typedef int (*ypAll)(const char *, const char *, const struct ypall_callback *);
|
||||
--- a/src/network/kernel/qhostinfo_unix.cpp 2011-12-23 16:26:07.000000000 +0400
|
||||
+++ b/src/network/kernel/qhostinfo_unix.cpp 2011-12-23 16:25:55.000000000 +0400
|
||||
diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-4.8.3/src/network/kernel/qhostinfo_unix.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.3-orig/src/network/kernel/qhostinfo_unix.cpp 2012-09-10 21:36:51.000000000 -0400
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/network/kernel/qhostinfo_unix.cpp 2012-09-28 18:08:53.186643755 -0400
|
||||
@@ -95,7 +95,7 @@
|
||||
static void resolveLibrary()
|
||||
{
|
||||
#ifndef QT_NO_LIBRARY
|
||||
- QLibrary lib(QLatin1String("resolv"));
|
||||
+ QLibrary lib(QLatin1String("@glibc@/lib/libresolv"));
|
||||
lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
|
||||
if (!lib.load())
|
||||
return;
|
||||
|
||||
--- a/src/corelib/tools/qlocale_icu.cpp 2011-12-08 09:06:03.000000000 +0400
|
||||
+++ b/src/corelib/tools/qlocale_icu.cpp 2011-12-23 16:29:15.000000000 +0400
|
||||
@@ -81,7 +81,7 @@
|
||||
if (status == NotLoaded) {
|
||||
|
||||
// resolve libicui18n
|
||||
- QLibrary lib(QLatin1String("icui18n"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
+ QLibrary lib(QLatin1String("@icu@/lib/libicui18n"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
if (!lib.load()) {
|
||||
qWarning() << "Unable to load library icui18n" << lib.errorString();
|
||||
status = ErrorLoading;
|
||||
@@ -110,7 +110,7 @@
|
||||
}
|
||||
|
||||
// resolve libicuuc
|
||||
- QLibrary ucLib(QLatin1String("icuuc"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
+ QLibrary ucLib(QLatin1String("@icu@/lib/libicuuc"), QLatin1String(U_ICU_VERSION_SHORT));
|
||||
if (!ucLib.load()) {
|
||||
qWarning() << "Unable to load library icuuc" << ucLib.errorString();
|
||||
status = ErrorLoading;
|
||||
--- a/src/plugins/platforms/xlib/qxlibstatic.cpp 2011-12-08 09:06:02.000000000 +0400
|
||||
+++ b/src/plugins/platforms/xlib/qxlibstatic.cpp 2011-12-23 20:38:49.000000000 +0400
|
||||
diff -ru qt-everywhere-opensource-src-4.8.3-orig/src/plugins/platforms/xlib/qxlibstatic.cpp qt-everywhere-opensource-src-4.8.3/src/plugins/platforms/xlib/qxlibstatic.cpp
|
||||
--- qt-everywhere-opensource-src-4.8.3-orig/src/plugins/platforms/xlib/qxlibstatic.cpp 2012-09-10 21:36:51.000000000 -0400
|
||||
+++ qt-everywhere-opensource-src-4.8.3/src/plugins/platforms/xlib/qxlibstatic.cpp 2012-09-28 18:08:26.601720488 -0400
|
||||
@@ -242,7 +242,7 @@
|
||||
}
|
||||
|
||||
|
@ -10,15 +10,3 @@ diff -Naur qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/javascriptcore/J
|
||||
typedef struct _GCond GCond;
|
||||
#endif
|
||||
|
||||
diff -Naur qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h
|
||||
--- qt-everywhere-opensource-src-4.8.2-orig/src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h 2012-04-26 15:46:14.000000000 -0400
|
||||
+++ qt-everywhere-opensource-src-4.8.2/src/3rdparty/webkit/Source/JavaScriptCore/wtf/gobject/GTypedefs.h 2012-07-14 22:46:24.671138454 -0400
|
||||
@@ -52,7 +52,7 @@
|
||||
typedef struct _GHashTable GHashTable;
|
||||
typedef struct _GInputStream GInputStream;
|
||||
typedef struct _GList GList;
|
||||
-typedef struct _GMutex GMutex;
|
||||
+typedef union _GMutex GMutex;
|
||||
typedef struct _GPatternSpec GPatternSpec;
|
||||
typedef struct _GPollableOutputStream GPollableOutputStream;
|
||||
typedef struct _GSocketClient GSocketClient;
|
||||
|
Loading…
x
Reference in New Issue
Block a user