Update Qt 5 to Qt 5.6.0

This commit is contained in:
Thomas Tuegel 2016-05-09 10:02:16 -05:00
commit 709ee16626
67 changed files with 591 additions and 725 deletions

View File

@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu maintainers.marcweber ]; maintainers = [ maintainers.goibhniu maintainers.marcweber ];
platforms = platforms.linux; platforms = platforms.linux;
broken = true;
}; };
} }

View File

@ -48,5 +48,6 @@ in
homepage = "https://github.com/mkeeter/antimony"; homepage = "https://github.com/mkeeter/antimony";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
broken = true;
}; };
} }

View File

@ -31,5 +31,6 @@ stdenv.mkDerivation {
license = licenses.gpl3; license = licenses.gpl3;
maintainers = [ maintainers.ehmry ]; maintainers = [ maintainers.ehmry ];
platforms = platforms.linux; platforms = platforms.linux;
broken = true;
}; };
} }

View File

@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
homepage = "http://gstreamer.freedesktop.org"; homepage = "http://gstreamer.freedesktop.org";
license = stdenv.lib.licenses.lgpl2Plus; license = stdenv.lib.licenses.lgpl2Plus;
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.ttuegel ];
}; };
src = fetchurl { src = fetchurl {

View File

@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
maintainers = with stdenv.lib.maintainers; [flosse]; maintainers = with stdenv.lib.maintainers; [flosse];
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; linux;
broken = true;
}; };
} }

View File

@ -1,42 +0,0 @@
addQtDependency() {
addToSearchPath QT_PLUGIN_PATH "$1/lib/qt5/plugins"
addToSearchPath QML_IMPORT_PATH "$1/lib/qt5/imports"
addToSearchPath QML2_IMPORT_PATH "$1/lib/qt5/qml"
addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg"
addToSearchPath XDG_DATA_DIRS "$1/share"
}
wrapQtProgram() {
local prog="$1"
shift
wrapProgram "$prog" \
--prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
--prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
--prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
--prefix XDG_CONFIG_DIRS : "$XDG_CONFIG_DIRS" \
--prefix XDG_DATA_DIRS : "$XDG_DATA_DIRS" \
"$@"
}
makeQtWrapper() {
local old="$1"
local new="$2"
shift
shift
makeWrapper "$old" "$new" \
--prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
--prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
--prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
--prefix XDG_CONFIG_DIRS : "$XDG_CONFIG_DIRS" \
--prefix XDG_DATA_DIRS : "$XDG_DATA_DIRS" \
"$@"
}
# cannot use addToSearchPath because these directories may not exist yet
export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}$out/lib/qt5/plugins"
export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}$out/lib/qt5/imports"
export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}$out/lib/qt5/qml"
export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}$out/etc/xdg"
export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}$out/share"
envHooks+=(addQtDependency)

View File

@ -1,26 +0,0 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/kernel/qcoreapplication.cpp
===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/kernel/qcoreapplication.cpp
@@ -2442,6 +2442,21 @@ QStringList QCoreApplication::libraryPat
}
}
}
+
+ // Add library paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");
+ if (!nixProfilesEnv.isEmpty()) {
+ QLatin1Char pathSep(' ');
+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/lib/qt5/plugins");
+ QString canonicalPath = QDir(*it).canonicalPath();
+ if (!canonicalPath.isEmpty()
+ && !app_libpaths->contains(canonicalPath)) {
+ app_libpaths->append(canonicalPath);
+ }
+ }
+ }
}
return *(coreappdata()->app_libpaths);
}

View File

@ -1,37 +0,0 @@
From 3f6fa74067aacd0e595e45b4ef7ce754514cb205 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 17 Oct 2015 09:28:18 -0500
Subject: [PATCH] nix profiles import paths
---
src/qml/qml/qqmlimport.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
index 5a54609..f33c2f9 100644
--- a/src/qml/qml/qqmlimport.cpp
+++ b/src/qml/qml/qqmlimport.cpp
@@ -1549,6 +1549,20 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
addImportPath(installImportsPath);
+ // Add import paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");
+ if (!nixProfilesEnv.isEmpty()) {
+ QLatin1Char pathSep(' ');
+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/lib/qt5/qml");
+ QString canonicalPath = QDir(*it).canonicalPath();
+ if (!canonicalPath.isEmpty()) {
+ addImportPath(canonicalPath);
+ }
+ }
+ }
+
// env import paths
QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
if (!envImportPath.isEmpty()) {
--
2.5.2

View File

@ -1,37 +0,0 @@
From bbc706b3fcb90ca3b2b51d5e3434145572152711 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 17 Oct 2015 09:29:51 -0500
Subject: [PATCH] nix profiles import paths
---
src/declarative/qml/qdeclarativeimport.cpp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/declarative/qml/qdeclarativeimport.cpp b/src/declarative/qml/qdeclarativeimport.cpp
index 9404834..d185ed5 100644
--- a/src/declarative/qml/qdeclarativeimport.cpp
+++ b/src/declarative/qml/qdeclarativeimport.cpp
@@ -725,6 +725,20 @@ QDeclarativeImportDatabase::QDeclarativeImportDatabase(QDeclarativeEngine *e)
addImportPath(installImportsPath);
+ // Add import paths derived from NIX_PROFILES.
+ const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES");
+ if (!nixProfilesEnv.isEmpty()) {
+ QLatin1Char pathSep(' ');
+ QStringList paths = QFile::decodeName(nixProfilesEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/lib/qt5/imports");
+ QString canonicalPath = QDir(*it).canonicalPath();
+ if (!canonicalPath.isEmpty()) {
+ addImportPath(canonicalPath);
+ }
+ }
+ }
+
// env import paths
QByteArray envImportPath = qgetenv("QML_IMPORT_PATH");
if (!envImportPath.isEmpty()) {
--
2.5.2

View File

@ -1,10 +0,0 @@
{ qtSubmodule, qtscript, qtsvg, qtwebkit, qtxmlpatterns }:
qtSubmodule {
name = "qtquick1";
patches = [ ./0001-nix-profiles-import-paths.patch ];
qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ];
postFixup = ''
fixQtModuleCMakeConfig "Declarative"
'';
}

View File

@ -1,6 +0,0 @@
{ qtSubmodule, qttools, qtwebkit }:
qtSubmodule {
name = "qtwebkit-examples";
qtInputs = [ qttools qtwebkit ];
}

View File

@ -1,53 +0,0 @@
From 862ce7d357a3ec32683ac6ec7c0ebdc9346b44ba Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sun, 23 Aug 2015 09:18:54 -0500
Subject: [PATCH 1/3] dlopen webkit nsplugin
---
Source/WebCore/plugins/qt/PluginPackageQt.cpp | 2 +-
Source/WebCore/plugins/qt/PluginViewQt.cpp | 2 +-
Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
index a923d49..2731d05 100644
--- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
@@ -136,7 +136,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/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
index de06a2f..363bde5 100644
--- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/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/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
index d734ff6..62a2197 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+++ b/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.5.0

View File

@ -1,25 +0,0 @@
From 6a407d30357c2551abceac75c82f4a1688e47437 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sun, 23 Aug 2015 09:19:16 -0500
Subject: [PATCH 2/3] dlopen webkit gtk
---
Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
index 8de6521..0b25748 100644
--- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+++ b/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.5.0

View File

@ -1,31 +0,0 @@
From 864020dd47c3b6d532d9f26b82185904cf9324f2 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sun, 23 Aug 2015 09:19:29 -0500
Subject: [PATCH 3/3] dlopen webkit udev
---
Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Source/WebCore/platform/qt/GamepadsQt.cpp b/Source/WebCore/platform/qt/GamepadsQt.cpp
index 60ff317..da8ac69 100644
--- a/Source/WebCore/platform/qt/GamepadsQt.cpp
+++ b/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("@libudev@/lib/libudev"), 1);
m_loaded = m_libUdev.load();
if (resolveMethods())
return true;
- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0);
+ m_libUdev.setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0);
m_loaded = m_libUdev.load();
return resolveMethods();
}
--
2.5.0

View File

@ -1,38 +0,0 @@
{ qtSubmodule, stdenv, qtdeclarative, qtlocation, qtmultimedia, qtsensors
, fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
, sqlite, libudev
, bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby
, substituteAll
, flashplayerFix ? false
}:
with stdenv.lib;
qtSubmodule {
name = "qtwebkit";
qtInputs = [ qtdeclarative qtlocation qtmultimedia qtsensors ];
buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite ];
nativeBuildInputs = [
bison2 flex gdb gperf perl pkgconfig python ruby
];
patches =
let dlopen-webkit-nsplugin = substituteAll {
src = ./0001-dlopen-webkit-nsplugin.patch;
gtk = gtk.out;
gdk_pixbuf = gdk_pixbuf.out;
};
dlopen-webkit-gtk = substituteAll {
src = ./0002-dlopen-webkit-gtk.patch;
gtk = gtk.out;
};
dlopen-webkit-udev = substituteAll {
src = ./0003-dlopen-webkit-udev.patch;
udev = libudev.out;
};
in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
++ [ dlopen-webkit-udev ];
postFixup = ''
fixQtModuleCMakeConfig "WebKit"
fixQtModuleCMakeConfig "WebKitWidgets"
'';
}

View File

@ -1,245 +0,0 @@
# DO NOT EDIT! This file is generated automatically by manifest.sh
{ fetchurl, mirror }:
{
qtbase = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtbase-opensource-src-5.4.2.tar.xz";
sha256 = "0x2szpjjvsrpcqw0dd3gsim7b1jv9p716pnllzjbia5mp0hggi4z";
name = "qtbase-opensource-src-5.4.2.tar.xz";
};
};
qtenginio = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtenginio-opensource-src-5.4.2.tar.xz";
sha256 = "082i3fapjw6xs0jkz7x529dn3pb6w1pfli3cjrgvggff86gwlgwn";
name = "qtenginio-opensource-src-5.4.2.tar.xz";
};
};
qtserialport = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtserialport-opensource-src-5.4.2.tar.xz";
sha256 = "1h6p5rb0ldxgzd4md3n79gy0j9blhj736670xqjd9vlvh1743kck";
name = "qtserialport-opensource-src-5.4.2.tar.xz";
};
};
qtscript = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtscript-opensource-src-5.4.2.tar.xz";
sha256 = "0izsmy0cr8iii78r10ndkidyljxqd2k9g03f5xb9nxacvr2f8hp0";
name = "qtscript-opensource-src-5.4.2.tar.xz";
};
};
qtwebchannel = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtwebchannel-opensource-src-5.4.2.tar.xz";
sha256 = "0vy1zjbghfa1wirxd8fd2n2n8yryykzr09913qm2nlfbcxdsgqsn";
name = "qtwebchannel-opensource-src-5.4.2.tar.xz";
};
};
qtwinextras = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtwinextras-opensource-src-5.4.2.tar.xz";
sha256 = "0sgybvr1y2xsddlqc95ninxj3rfmd4gv7a8f7rqcxdynjan5gij0";
name = "qtwinextras-opensource-src-5.4.2.tar.xz";
};
};
qtwebsockets = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtwebsockets-opensource-src-5.4.2.tar.xz";
sha256 = "0lv1la8333qnirxmscs42xnnra0xry1gjbhi3bxrf1hrfs2im9j4";
name = "qtwebsockets-opensource-src-5.4.2.tar.xz";
};
};
qtmultimedia = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtmultimedia-opensource-src-5.4.2.tar.xz";
sha256 = "0h29cs8ajnjarhjx1aczdnxqwvg6pqs9s8w28hw488s149wqqrnj";
name = "qtmultimedia-opensource-src-5.4.2.tar.xz";
};
};
qtgraphicaleffects = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtgraphicaleffects-opensource-src-5.4.2.tar.xz";
sha256 = "02p8xm5ajicjam30ry3g1lm2p4nja2q0sls8dzimqrxhw5xlg3xs";
name = "qtgraphicaleffects-opensource-src-5.4.2.tar.xz";
};
};
qtxmlpatterns = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtxmlpatterns-opensource-src-5.4.2.tar.xz";
sha256 = "0ar7znqp1i02ha5ngy2kzk3hlgkafjbn2xa8j2k78gzmwsmdhzxa";
name = "qtxmlpatterns-opensource-src-5.4.2.tar.xz";
};
};
qttranslations = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qttranslations-opensource-src-5.4.2.tar.xz";
sha256 = "0b4l69c16z8gjd4mq75zz3lj2gxarr9wyk0vk60jg1mi62vxvdls";
name = "qttranslations-opensource-src-5.4.2.tar.xz";
};
};
qtdeclarative = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtdeclarative-opensource-src-5.4.2.tar.xz";
sha256 = "1bj1wwms6lpj8s70y8by3j0hjsw6g9v8m6fybx68krzzizbj2c5p";
name = "qtdeclarative-opensource-src-5.4.2.tar.xz";
};
};
qtwebkit = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtwebkit-opensource-src-5.4.2.tar.xz";
sha256 = "0vffbpiczag2n2hp5gc0nii8n7vkidr8f8pp8a47px0183hl6hiy";
name = "qtwebkit-opensource-src-5.4.2.tar.xz";
};
};
qtquick1 = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtquick1-opensource-src-5.4.2.tar.xz";
sha256 = "0178z15a31fw3l6933fwxs7sk0csifpwckydp3rqnn3fg5f2fwvp";
name = "qtquick1-opensource-src-5.4.2.tar.xz";
};
};
qtquickcontrols = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtquickcontrols-opensource-src-5.4.2.tar.xz";
sha256 = "137z3c3drxlvkdfc7zgcl0xqmavw0ladzqy0i3bq51h756qdc877";
name = "qtquickcontrols-opensource-src-5.4.2.tar.xz";
};
};
qtimageformats = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtimageformats-opensource-src-5.4.2.tar.xz";
sha256 = "1nny6j9pm5ri3n1vwl5lrfrdz0fl81rx127wa49rkg2rjai2aawb";
name = "qtimageformats-opensource-src-5.4.2.tar.xz";
};
};
qtdoc = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtdoc-opensource-src-5.4.2.tar.xz";
sha256 = "15lamv6jvd7v33ldpcrazcdksv6qibdcgh4ncbyh774k8avgrlh8";
name = "qtdoc-opensource-src-5.4.2.tar.xz";
};
};
qtwayland = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtwayland-opensource-src-5.4.2.tar.xz";
sha256 = "14pmpkfq70plw07igxjaiji4vnjg5kg7izlb0wwym1lisg7bwkg0";
name = "qtwayland-opensource-src-5.4.2.tar.xz";
};
};
qtmacextras = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtmacextras-opensource-src-5.4.2.tar.xz";
sha256 = "0h0p3s0rvd3g9rgr4hwcggdbsav2g30vijqwmdxgxd8c00yply80";
name = "qtmacextras-opensource-src-5.4.2.tar.xz";
};
};
qtactiveqt = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtactiveqt-opensource-src-5.4.2.tar.xz";
sha256 = "014kwficqydciwdm1yw88yms81qm8pmi6xfhhfpbc9k85pc6jlla";
name = "qtactiveqt-opensource-src-5.4.2.tar.xz";
};
};
qtlocation = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtlocation-opensource-src-5.4.2.tar.xz";
sha256 = "1v43hl2zzi90vaw11y8dvsksrjn0r2v0br7pw6njl8lqadpg4jnw";
name = "qtlocation-opensource-src-5.4.2.tar.xz";
};
};
qtconnectivity = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtconnectivity-opensource-src-5.4.2.tar.xz";
sha256 = "1nj68bzgm3r1gg171kj0acnifzb3jx0m5pf4f81xb7zl4hfxasrs";
name = "qtconnectivity-opensource-src-5.4.2.tar.xz";
};
};
qtx11extras = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtx11extras-opensource-src-5.4.2.tar.xz";
sha256 = "0jgyywjxavfpiz8202g3s0g9izfl185mmak4fs9h80w1i3gn5zzn";
name = "qtx11extras-opensource-src-5.4.2.tar.xz";
};
};
qttools = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qttools-opensource-src-5.4.2.tar.xz";
sha256 = "1d5nx01r7wxhdg9f1i9xhsvsbwgaz3yv516s068riy970bhdgwzd";
name = "qttools-opensource-src-5.4.2.tar.xz";
};
};
qtsensors = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtsensors-opensource-src-5.4.2.tar.xz";
sha256 = "1yawvjbdymgw8af7ir9zcin89xxck9dm2l6hnc43lwrky0frcvcf";
name = "qtsensors-opensource-src-5.4.2.tar.xz";
};
};
qtwebengine = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtwebengine-opensource-src-5.4.2.tar.xz";
sha256 = "06cyl733prakniqrn8sd807lclk5im2vmysjdcijry2mcyah2ih8";
name = "qtwebengine-opensource-src-5.4.2.tar.xz";
};
};
qtsvg = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtsvg-opensource-src-5.4.2.tar.xz";
sha256 = "1dsyncp154xvb7d82nmnfjm0ngymnhqmliq58ljwxsjmpjlncakz";
name = "qtsvg-opensource-src-5.4.2.tar.xz";
};
};
qt5 = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qt5-opensource-src-5.4.2.tar.xz";
sha256 = "17a0pybr4bpyv9pj7cr5hl4g31biv89bjr8zql723h0b12ql1w44";
name = "qt5-opensource-src-5.4.2.tar.xz";
};
};
qtwebkit-examples = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtwebkit-examples-opensource-src-5.4.2.tar.xz";
sha256 = "0pm9ik1j09jfb5xflc16449nff2xsfyfms7vxlcdjg4dhcqfmll8";
name = "qtwebkit-examples-opensource-src-5.4.2.tar.xz";
};
};
qtandroidextras = {
version = "5.4.2";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.4/5.4.2/submodules/qtandroidextras-opensource-src-5.4.2.tar.xz";
sha256 = "0krfm0wg26x7575p8isswdhrkb0jxyp169grwklil7mfw8yg3xhx";
name = "qtandroidextras-opensource-src-5.4.2.tar.xz";
};
};
}

View File

@ -57,11 +57,13 @@ _qtMultioutModuleDevs() {
# Move libtool archives and qmake project files to $dev/lib # Move libtool archives and qmake project files to $dev/lib
if [ "z${!outputLib}" != "z${!outputDev}" ]; then if [ "z${!outputLib}" != "z${!outputDev}" ]; then
pushd "${!outputLib}" pushd "${!outputLib}"
find lib -name '*.a' -o -name '*.la' -o -name '*.prl' -print0 | \ if [ -d "lib" ]; then
while read -r -d $'\0' file; do find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' -print0 \) | \
mkdir -p "${!outputDev}/$(dirname "$file")" while read -r -d $'\0' file; do
mv "${!outputLib}/$file" "${!outputDev}/$file" mkdir -p "${!outputDev}/$(dirname "$file")"
done mv "${!outputLib}/$file" "${!outputDev}/$file"
done
fi
popd popd
fi fi
} }

View File

@ -1,15 +1,20 @@
# Maintainer's Notes: /*
#
# Minor updates: # Minor Updates
# 1. Edit ./fetchsrcs.sh to point to the updated URL.
# 2. Run ./fetchsrcs.sh. 1. Edit ./fetchsrcs.sh to point to the updated URL.
# 3. Build and enjoy. 2. Run ./fetchsrcs.sh.
# 3. Build and enjoy.
# Major updates:
# We prefer not to immediately overwrite older versions with major updates, so # Major Updates
# make a copy of this directory first. After copying, be sure to delete ./tmp
# if it exists. Then follow the minor update instructions. Be sure to check if 1. Make a copy of this directory. (We like to keep the old version around
# any new components have been added and package them as necessary. for a short time after major updates.)
2. Delete the tmp/ subdirectory of the copy.
3. Follow the minor update instructions above.
4. Package any new Qt modules, if necessary.
*/
{ pkgs { pkgs
@ -30,20 +35,22 @@ let
qtSubmodule = args: qtSubmodule = args:
let let
inherit (args) name; inherit (args) name;
inherit (srcs."${args.name}") version src; version = args.version or srcs."${name}".version;
src = args.src or srcs."${name}".src;
inherit (pkgs.stdenv) mkDerivation; inherit (pkgs.stdenv) mkDerivation;
in mkDerivation (args // { in mkDerivation (args // {
name = "${name}-${version}"; name = "${name}-${version}";
inherit src; inherit src;
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ self.fixQtModuleCMakeConfig self.qmakeHook ]; nativeBuildInputs =
(args.nativeBuildInputs or [])
++ [ pkgs.perl self.fixQtModuleCMakeConfig self.qmakeHook ];
NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
dontFixLibtool = args.dontFixLibtool or true;
outputs = args.outputs or [ "dev" "out" ]; outputs = args.outputs or [ "dev" "out" ];
setOutputFlags = false; setOutputFlags = args.setOutputFlags or false;
enableParallelBuilding = args.enableParallelBuilding or true; enableParallelBuilding = args.enableParallelBuilding or true;
@ -57,6 +64,7 @@ let
qtbase = callPackage ./qtbase { qtbase = callPackage ./qtbase {
mesa = pkgs.mesa_noglu; mesa = pkgs.mesa_noglu;
harfbuzz = pkgs.harfbuzz-icu;
cups = if stdenv.isLinux then pkgs.cups else null; cups = if stdenv.isLinux then pkgs.cups else null;
# GNOME dependencies are not used unless gtkStyle == true # GNOME dependencies are not used unless gtkStyle == true
inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
@ -79,7 +87,6 @@ let
qtmultimedia = callPackage ./qtmultimedia.nix { qtmultimedia = callPackage ./qtmultimedia.nix {
inherit (pkgs.gst_all_1) gstreamer gst-plugins-base; inherit (pkgs.gst_all_1) gstreamer gst-plugins-base;
}; };
qtquick1 = callPackage ./qtquick1 {};
qtquickcontrols = callPackage ./qtquickcontrols.nix {}; qtquickcontrols = callPackage ./qtquickcontrols.nix {};
qtscript = callPackage ./qtscript {}; qtscript = callPackage ./qtscript {};
qtsensors = callPackage ./qtsensors.nix {}; qtsensors = callPackage ./qtsensors.nix {};
@ -90,8 +97,6 @@ let
/* qtwayland = not packaged */ /* qtwayland = not packaged */
/* qtwebchannel = not packaged */ /* qtwebchannel = not packaged */
/* qtwebengine = not packaged */ /* qtwebengine = not packaged */
qtwebkit = callPackage ./qtwebkit {};
qtwebkit-examples = callPackage ./qtwebkit-examples.nix {};
qtwebsockets = callPackage ./qtwebsockets.nix {}; qtwebsockets = callPackage ./qtwebsockets.nix {};
/* qtwinextras = not packaged */ /* qtwinextras = not packaged */
qtx11extras = callPackage ./qtx11extras.nix {}; qtx11extras = callPackage ./qtx11extras.nix {};
@ -99,10 +104,10 @@ let
env = callPackage ../qt-env.nix {}; env = callPackage ../qt-env.nix {};
full = env "qt-${qtbase.version}" [ full = env "qt-${qtbase.version}" [
qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects qtimageformats qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects
qtlocation qtmultimedia qtquick1 qtquickcontrols qtscript qtsensors qtserialport qtimageformats qtlocation qtmultimedia qtquickcontrols qtscript
qtsvg qttools qttranslations qtwebkit qtwebkit-examples qtwebsockets qtx11extras qtsensors qtserialport qtsvg qttools qttranslations qtwebsockets
qtxmlpatterns qtx11extras qtxmlpatterns
]; ];
makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh; makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh;
@ -111,6 +116,6 @@ let
}; };
self = makeScope pkgs.newScope addPackages; self = makeScope pkgs.newScope addPackages;
in self in self

View File

@ -4,7 +4,7 @@
set -x set -x
# The trailing slash at the end is necessary! # The trailing slash at the end is necessary!
RELEASE_URL="http://download.qt.io/official_releases/qt/5.4/5.4.2/submodules/" RELEASE_URL="http://download.qt.io/official_releases/qt/5.6/5.6.0/submodules/"
EXTRA_WGET_ARGS='-A *.tar.xz' EXTRA_WGET_ARGS='-A *.tar.xz'
mkdir tmp; cd tmp mkdir tmp; cd tmp

View File

@ -0,0 +1,38 @@
wrapQtProgram() {
local prog="$1"
shift
wrapProgram "$prog" \
--prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
--prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
--prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
--prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \
--prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \
"$@"
}
makeQtWrapper() {
local old="$1"
local new="$2"
shift
shift
makeWrapper "$old" "$new" \
--prefix QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \
--prefix QML_IMPORT_PATH : "$QML_IMPORT_PATH" \
--prefix QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \
--prefix XDG_CONFIG_DIRS : "$NIX_WRAP_XDG_CONFIG_DIRS" \
--prefix XDG_DATA_DIRS : "$NIX_WRAP_XDG_DATA_DIRS" \
"$@"
}
_makeQtWrapperSetup() {
# cannot use addToSearchPath because these directories may not exist yet
export QT_PLUGIN_PATH="$QT_PLUGIN_PATH${QT_PLUGIN_PATH:+:}${!outputLib}/lib/qt5/plugins"
export QML_IMPORT_PATH="$QML_IMPORT_PATH${QML_IMPORT_PATH:+:}${!outputLib}/lib/qt5/imports"
export QML2_IMPORT_PATH="$QML2_IMPORT_PATH${QML2_IMPORT_PATH:+:}${!outputLib}/lib/qt5/qml"
export XDG_CONFIG_DIRS="$XDG_CONFIG_DIRS${XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg"
export XDG_DATA_DIRS="$XDG_DATA_DIRS${XDG_DATA_DIRS:+:}${!outputLib}/share"
export NIX_WRAP_XDG_CONFIG_DIRS="$NIX_WRAP_XDG_CONFIG_DIRS${NIX_WRAP_XDG_CONFIG_DIRS:+:}${!outputLib}/etc/xdg"
export NIX_WRAP_XDG_DATA_DIRS="$NIX_WRAP_XDG_DATA_DIRS${NIX_WRAP_XDG_DATA_DIRS:+:}${!outputLib}/share"
}
prePhases+=(_makeQtWrapperSetup)

View File

@ -53,6 +53,19 @@ _qtMultioutModuleDevs() {
# The destination directory must exist or moveToOutput will do nothing # The destination directory must exist or moveToOutput will do nothing
mkdir -p "${!outputDev}/share" mkdir -p "${!outputDev}/share"
moveToOutput "share/doc" "${!outputDev}" moveToOutput "share/doc" "${!outputDev}"
# Move libtool archives and qmake project files to $dev/lib
if [ "z${!outputLib}" != "z${!outputDev}" ]; then
pushd "${!outputLib}"
if [ -d "lib" ]; then
find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | \
while read -r -d $'\0' file; do
mkdir -p "${!outputDev}/$(dirname "$file")"
mv "${!outputLib}/$file" "${!outputDev}/$file"
done
fi
popd
fi
} }
qmakeConfigurePhase() { qmakeConfigurePhase() {
@ -89,7 +102,7 @@ envHooks+=(_qtLinkModule)
# It must run after all the envHooks! # It must run after all the envHooks!
postHooks+=(_qtSetQmakePath) postHooks+=(_qtSetQmakePath)
if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then
configurePhase=qmakeConfigurePhase configurePhase=qmakeConfigurePhase
fi fi

View File

@ -1,8 +1,8 @@
Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp --- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp +++ qt-everywhere-opensource-src-5.6.0/qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
@@ -68,10 +68,7 @@ void TableGenerator::initPossibleLocatio @@ -251,10 +251,7 @@ void TableGenerator::initPossibleLocatio
// the QTCOMPOSE environment variable // the QTCOMPOSE environment variable
if (qEnvironmentVariableIsSet("QTCOMPOSE")) if (qEnvironmentVariableIsSet("QTCOMPOSE"))
m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE"))); m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));

View File

@ -1,8 +1,8 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/network/ssl/qsslsocket_openssl.cpp Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/network/ssl/qsslsocket_openssl.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/network/ssl/qsslsocket_openssl.cpp --- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/network/ssl/qsslsocket_openssl.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/network/ssl/qsslsocket_openssl.cpp +++ qt-everywhere-opensource-src-5.5.1/qtbase/src/network/ssl/qsslsocket_openssl.cpp
@@ -47,7 +47,7 @@ @@ -48,7 +48,7 @@
****************************************************************************/ ****************************************************************************/
//#define QSSLSOCKET_DEBUG //#define QSSLSOCKET_DEBUG

View File

@ -1,13 +1,14 @@
{ stdenv, lib, fetchurl, copyPathsToStore, fixQtModuleCMakeConfig { stdenv, lib, fetchgit, copyPathsToStore, fixQtModuleCMakeConfig
, srcs , srcs
, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi , xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon , xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre , fontconfig, freetype, harfbuzz
, openssl, dbus, glib, udev, libxml2, libxslt, pcre16
, zlib, libjpeg, libpng, libtiff, sqlite, icu , zlib, libjpeg, libpng, libtiff, sqlite, icu
, coreutils, bison, flex, gdb, gperf, lndir, ruby , coreutils, bison, flex, gdb, gperf, lndir, ruby
, python, perl, pkgconfig , patchelf, perl, pkgconfig, python
# optional dependencies # optional dependencies
, cups ? null , cups ? null
@ -18,13 +19,16 @@
, buildExamples ? false , buildExamples ? false
, buildTests ? false , buildTests ? false
, developerBuild ? false , developerBuild ? false
, gtkStyle ? false, libgnomeui, GConf, gnome_vfs, gtk , gtkStyle ? true, libgnomeui, GConf, gnome_vfs, gtk
, decryptSslTraffic ? false , decryptSslTraffic ? false
}: }:
let let
inherit (srcs.qt5) version; inherit (srcs.qt5) version;
system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64; system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
# Search path for Gtk plugin
gtkLibPath = lib.makeLibraryPath [ gtk.out gnome_vfs.out libgnomeui.out GConf.out ];
in in
stdenv.mkDerivation { stdenv.mkDerivation {
@ -36,15 +40,14 @@ stdenv.mkDerivation {
sourceRoot = "qt-everywhere-opensource-src-${version}"; sourceRoot = "qt-everywhere-opensource-src-${version}";
outputs = [ "dev" "out" ]; outputs = [ "dev" "out" "gtk" ];
postUnpack = '' postUnpack = ''
mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase mv qtbase-opensource-src-${version} $sourceRoot/qtbase
''; '';
patches = patches =
copyPathsToStore (lib.readPathsFromFile ./. ./series) copyPathsToStore (lib.readPathsFromFile ./. ./series)
++ lib.optional gtkStyle ./dlopen-gtkstyle.patch
++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
++ lib.optional mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ]; ++ lib.optional mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
@ -78,51 +81,30 @@ stdenv.mkDerivation {
qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \ qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
--replace "@libX11@" "${libX11.out}" --replace "@libX11@" "${libX11.out}"
'' ''
+ lib.optionalString gtkStyle ''
substituteInPlace qtbase/src/widgets/styles/qgtk2painter.cpp --replace "@gtk@" "${gtk.out}"
substituteInPlace qtbase/src/widgets/styles/qgtkstyle_p.cpp \
--replace "@gtk@" "${gtk.out}" \
--replace "@gnome_vfs@" "${gnome_vfs}" \
--replace "@libgnomeui@" "${libgnomeui}" \
--replace "@gconf@" "${GConf}"
''
+ lib.optionalString mesaSupported '' + lib.optionalString mesaSupported ''
substituteInPlace \ substituteInPlace \
qtbase/src/plugins/platforms/xcb/qglxintegration.cpp \ qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp \
--replace "@mesa_lib@" "${mesa.out}" --replace "@mesa_lib@" "${mesa.out}"
substituteInPlace qtbase/mkspecs/common/linux.conf \ substituteInPlace qtbase/mkspecs/common/linux.conf \
--replace "@mesa_lib@" "${mesa.out}" \ --replace "@mesa_lib@" "${mesa.out}" \
--replace "@mesa_inc@" "${mesa.dev}" --replace "@mesa_inc@" "${mesa.dev}"
''; '';
setOutputFlags = false; setOutputFlags = false;
preConfigure = '' preConfigure = ''
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$LD_LIBRARY_PATH"
export MAKEFLAGS=-j$NIX_BUILD_CORES export MAKEFLAGS=-j$NIX_BUILD_CORES
_multioutQtDevs() {
# We cannot simply set these paths in configureFlags because libQtCore retains
# references to the paths it was built with.
moveToOutput "bin" "$dev"
moveToOutput "include" "$dev"
moveToOutput "mkspecs" "$dev"
# The destination directory must exist or moveToOutput will do nothing
mkdir -p "$dev/share"
moveToOutput "share/doc" "$dev"
mkdir -p "$dev/lib"
lndir -silent "$out/lib" "$dev/lib"
if [[ -h "$dev/lib/cmake" ]]; then rm "$dev/lib/cmake"; fi
if [[ -h "$dev/lib/pkgconfig" ]]; then rm "$dev/lib/pkgconfig"; fi
}
preFixupHooks+=(_multioutQtDevs)
configureFlags+="\ configureFlags+="\
-plugindir $out/lib/qt5/plugins \ -plugindir $out/lib/qt5/plugins \
-importdir $out/lib/qt5/imports \ -importdir $out/lib/qt5/imports \
-qmldir $out/lib/qt5/qml \ -qmldir $out/lib/qt5/qml \
-docdir $out/share/doc/qt5" -docdir $out/share/doc/qt5"
''
# QMake expects to extract the list of available modules from .gitmodules
+ ''
echo '[submodule "qtbase"]' >.gitmodules
''; '';
prefixKey = "-prefix "; prefixKey = "-prefix ";
@ -179,8 +161,10 @@ stdenv.mkDerivation {
-system-zlib -system-zlib
-system-libpng -system-libpng
-system-libjpeg -system-libjpeg
-system-harfbuzz
-system-xcb -system-xcb
-system-xkbcommon -system-xkbcommon
-system-pcre
-openssl-linked -openssl-linked
-dbus-linked -dbus-linked
@ -200,9 +184,16 @@ stdenv.mkDerivation {
PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq"; PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
propagatedBuildInputs = [ propagatedBuildInputs = [
dbus glib libxml2 libxslt openssl pcre16 sqlite udev zlib
# Image formats
libjpeg libpng libtiff
# Text rendering
fontconfig freetype harfbuzz icu
# X11 libs
xlibs.libXcomposite libX11 libxcb libXext libXrender libXi xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
fontconfig freetype openssl dbus glib udev libxml2 libxslt pcre
zlib libjpeg libpng libtiff sqlite icu
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
] ]
++ lib.optional mesaSupported mesa; ++ lib.optional mesaSupported mesa;
@ -213,17 +204,56 @@ stdenv.mkDerivation {
++ lib.optional (cups != null) cups ++ lib.optional (cups != null) cups
++ lib.optional (mysql != null) mysql.lib ++ lib.optional (mysql != null) mysql.lib
++ lib.optional (postgresql != null) postgresql ++ lib.optional (postgresql != null) postgresql
++ lib.optionals gtkStyle [gnome_vfs libgnomeui gtk GConf]; ++ lib.optionals gtkStyle [gnome_vfs.out libgnomeui.out gtk GConf];
nativeBuildInputs = [ fixQtModuleCMakeConfig lndir python perl pkgconfig ]; nativeBuildInputs = [ fixQtModuleCMakeConfig lndir patchelf perl pkgconfig python ];
# freetype-2.5.4 changed signedness of some struct fields # freetype-2.5.4 changed signedness of some struct fields
NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
preFixup = ''
# We cannot simply set these paths in configureFlags because libQtCore retains
# references to the paths it was built with.
moveToOutput "bin" "$dev"
moveToOutput "include" "$dev"
moveToOutput "mkspecs" "$dev"
# The destination directory must exist or moveToOutput will do nothing
mkdir -p "$dev/share"
moveToOutput "share/doc" "$dev"
# Move libtool archives and qmake projects
if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
pushd "''${!outputLib}"
find lib -name '*.a' -o -name '*.la' -o -name '*.prl' | \
while read -r file; do
mkdir -p "''${!outputDev}/$(dirname "$file")"
mv "''${!outputLib}/$file" "''${!outputDev}/$file"
done
popd
fi
# Move the QGtkStyle plugin to the gtk output
mkdir -p "$gtk/lib/qt5/plugins/platformthemes"
mv "$out/lib/qt5/plugins/platformthemes/libqgtk2.so" "$gtk/lib/qt5/plugins/platformthemes"
rm "$out/lib/cmake/Qt5Gui/Qt5Gui_QGtk2ThemePlugin.cmake"
# Set RPATH for QGtkStyle plugin
qgtk2="$gtk/lib/qt5/plugins/platformthemes/libqgtk2.so"
qgtk2_RPATH="$(patchelf --print-rpath "$qgtk2")"
qgtk2_RPATH="$qgtk2_RPATH''${qgtk2_RPATH:+:}${gtkLibPath}"
patchelf "$qgtk2" \
--add-needed libgtk-x11-2.0.so \
--add-needed libgnomeui-2.so \
--add-needed libgnomevfs-2.so \
--add-needed libgconf-2.so \
--set-rpath "$qgtk2_RPATH"
'';
postFixup = postFixup =
'' ''
# Don't retain build-time dependencies like gdb and ruby. # Don't retain build-time dependencies like gdb and ruby.
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i "$dev/mkspecs/qconfig.pri" sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
fixQtModuleCMakeConfig "Concurrent" fixQtModuleCMakeConfig "Concurrent"
fixQtModuleCMakeConfig "Core" fixQtModuleCMakeConfig "Core"

View File

@ -1,8 +1,8 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/dbus/qdbus_symbols.cpp Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/dbus/qdbus_symbols.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/dbus/qdbus_symbols.cpp --- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/dbus/qdbus_symbols.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/dbus/qdbus_symbols.cpp +++ qt-everywhere-opensource-src-5.5.1/qtbase/src/dbus/qdbus_symbols.cpp
@@ -88,7 +88,7 @@ bool qdbus_loadLibDBus() @@ -89,7 +89,7 @@ bool qdbus_loadLibDBus()
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
QLatin1String("dbus-1"), QLatin1String("dbus-1"),
#endif #endif

View File

@ -1,8 +1,8 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp --- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp +++ qt-everywhere-opensource-src-5.5.1/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
@@ -560,7 +560,12 @@ void (*QGLXContext::getProcAddress(const @@ -563,7 +563,12 @@ void (*QGLXContext::getProcAddress(const
{ {
extern const QString qt_gl_library_name(); extern const QString qt_gl_library_name();
// QLibrary lib(qt_gl_library_name()); // QLibrary lib(qt_gl_library_name());

View File

@ -1,7 +1,7 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/widgets/styles/qgtk2painter.cpp Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtk2painter.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/widgets/styles/qgtk2painter.cpp --- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/widgets/styles/qgtk2painter.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/widgets/styles/qgtk2painter.cpp +++ qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtk2painter.cpp
@@ -96,7 +96,7 @@ static void initGtk() @@ -96,7 +96,7 @@ static void initGtk()
static bool initialized = false; static bool initialized = false;
if (!initialized) { if (!initialized) {
@ -11,11 +11,11 @@ Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/widgets/styles/qgtk2painter
QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new"); 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"); QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/widgets/styles/qgtkstyle_p.cpp Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp --- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/widgets/styles/qgtkstyle_p.cpp +++ qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
@@ -326,7 +326,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus @@ -327,7 +327,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus
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
@ -24,7 +24,7 @@ Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/widgets/styles/qgtkstyle_p.
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");
@@ -424,8 +424,8 @@ void QGtkStylePrivate::resolveGtk() cons @@ -425,8 +425,8 @@ void QGtkStylePrivate::resolveGtk() cons
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");
@ -35,7 +35,7 @@ Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/widgets/styles/qgtkstyle_p.
} }
/* \internal /* \internal
@@ -593,9 +593,9 @@ void QGtkStylePrivate::cleanupGtkWidgets @@ -594,9 +594,9 @@ void QGtkStylePrivate::cleanupGtkWidgets
static bool resolveGConf() static bool resolveGConf()
{ {
if (!QGtkStylePrivate::gconf_client_get_default) { if (!QGtkStylePrivate::gconf_client_get_default) {

View File

@ -1,9 +1,9 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp --- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +++ qt-everywhere-opensource-src-5.6.0/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp
@@ -297,10 +297,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c @@ -303,10 +303,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c
#ifdef XCB_USE_XLIB #if defined(XCB_USE_XLIB) && !defined(QT_NO_LIBRARY)
static bool function_ptrs_not_initialized = true; static bool function_ptrs_not_initialized = true;
if (function_ptrs_not_initialized) { if (function_ptrs_not_initialized) {
- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); - QLibrary xcursorLib(QLatin1String("Xcursor"), 1);

View File

@ -1,8 +1,8 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp --- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +++ qt-everywhere-opensource-src-5.6.0/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -611,8 +611,8 @@ static QPair<QLibrary*, QLibrary*> loadO @@ -652,8 +652,8 @@ static QPair<QLibrary*, QLibrary*> loadO
#endif #endif
#if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so #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> // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
@ -13,7 +13,7 @@ Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/network/ssl/qsslsocket_open
if (libcrypto->load() && libssl->load()) { if (libcrypto->load() && libssl->load()) {
// libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
return pair; return pair;
@@ -629,8 +629,8 @@ static QPair<QLibrary*, QLibrary*> loadO @@ -670,8 +670,8 @@ static QPair<QLibrary*, QLibrary*> loadO
// OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third // OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
// attempt, _after_ <bundle>/Contents/Frameworks has been searched. // attempt, _after_ <bundle>/Contents/Frameworks has been searched.
// iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place. // iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.

View File

@ -1,7 +1,7 @@
Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qdnslookup_unix.cpp Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/network/kernel/qdnslookup_unix.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/network/kernel/qdnslookup_unix.cpp --- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/network/kernel/qdnslookup_unix.cpp
+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qdnslookup_unix.cpp +++ qt-everywhere-opensource-src-5.6.0/qtbase/src/network/kernel/qdnslookup_unix.cpp
@@ -79,7 +79,7 @@ static void resolveLibrary() @@ -79,7 +79,7 @@ static void resolveLibrary()
if (!lib.load()) if (!lib.load())
#endif #endif
@ -11,10 +11,10 @@ Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qdnslookup_u
if (!lib.load()) if (!lib.load())
return; return;
} }
Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qhostinfo_unix.cpp Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/network/kernel/qhostinfo_unix.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/network/kernel/qhostinfo_unix.cpp --- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/network/kernel/qhostinfo_unix.cpp
+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/network/kernel/qhostinfo_unix.cpp +++ qt-everywhere-opensource-src-5.6.0/qtbase/src/network/kernel/qhostinfo_unix.cpp
@@ -95,7 +95,7 @@ static void resolveLibrary() @@ -95,7 +95,7 @@ static void resolveLibrary()
if (!lib.load()) if (!lib.load())
#endif #endif

View File

@ -0,0 +1,33 @@
From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001
From: hasufell <hasufell@gentoo.org>
Date: Sat, 10 Oct 2015 01:15:01 +0200
Subject: [PATCH] Fix compilation with libressl
By additionally checking for defined(SSL_CTRL_SET_CURVES), which
is defined in openssl, but not in libressl.
---
src/network/ssl/qsslcontext_openssl.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/network/ssl/qsslcontext_openssl.cpp
===================================================================
--- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/network/ssl/qsslcontext_openssl.cpp
+++ qt-everywhere-opensource-src-5.6.0/qtbase/src/network/ssl/qsslcontext_openssl.cpp
@@ -340,7 +340,7 @@ init_context:
const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
if (!qcurves.isEmpty()) {
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
// Set the curves to be used
if (q_SSLeay() >= 0x10002000L) {
// SSL_CTX_ctrl wants a non-const pointer as last argument,
@@ -354,7 +354,7 @@ init_context:
return sslContext;
}
} else
-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
{
// specific curves requested, but not possible to set -> error
sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));

View File

@ -0,0 +1,22 @@
Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/kernel/qcoreapplication.cpp
===================================================================
--- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp
+++ qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/kernel/qcoreapplication.cpp
@@ -2533,7 +2533,17 @@ QStringList QCoreApplication::libraryPat
QStringList *app_libpaths = new QStringList;
coreappdata()->app_libpaths.reset(app_libpaths);
+ // Add library paths derived from NIX_PROFILES.
+ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
+ const QString plugindir = QString::fromLatin1("/lib/qt5/plugins");
+ Q_FOREACH (const QByteArray &profile, profiles) {
+ if (!profile.isEmpty()) {
+ app_libpaths->append(QFile::decodeName(profile) + plugindir);
+ }
+ }
+
const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
+ qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes
if (!libPathEnv.isEmpty()) {
QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
for (QStringList::const_iterator it = paths.constBegin(); it != paths.constEnd(); ++it) {

View File

@ -6,3 +6,4 @@ dlopen-dbus.patch
xdg-config-dirs.patch xdg-config-dirs.patch
nix-profiles-library-paths.patch nix-profiles-library-paths.patch
compose-search-path.patch compose-search-path.patch
libressl.patch

View File

@ -1,8 +1,8 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp --- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +++ qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp
@@ -61,7 +61,10 @@ typedef QHash<QByteArray, QTzTimeZone> Q @@ -62,7 +62,10 @@ typedef QHash<QByteArray, QTzTimeZone> Q
// Parse zone.tab table, assume lists all installed zones, if not will need to read directories // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
static QTzTimeZoneHash loadTzTimeZones() static QTzTimeZoneHash loadTzTimeZones()
{ {
@ -14,7 +14,7 @@ Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/tools/qtimezonepriv
if (!QFile::exists(path)) if (!QFile::exists(path))
path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
@@ -552,12 +555,18 @@ void QTzTimeZonePrivate::init(const QByt @@ -560,12 +563,18 @@ void QTzTimeZonePrivate::init(const QByt
if (!tzif.open(QIODevice::ReadOnly)) if (!tzif.open(QIODevice::ReadOnly))
return; return;
} else { } else {

View File

@ -1,8 +1,8 @@
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/io/qsettings.cpp Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/io/qsettings.cpp
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/corelib/io/qsettings.cpp --- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/corelib/io/qsettings.cpp
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/io/qsettings.cpp +++ qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/io/qsettings.cpp
@@ -1128,6 +1128,24 @@ QConfFileSettingsPrivate::QConfFileSetti @@ -1155,6 +1155,24 @@ QConfFileSettingsPrivate::QConfFileSetti
if (!application.isEmpty()) if (!application.isEmpty())
confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false)); confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false));
confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false)); confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false));
@ -27,11 +27,11 @@ Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/io/qsettings.cpp
#else #else
QString confName = getPath(format, QSettings::UserScope) + org; QString confName = getPath(format, QSettings::UserScope) + org;
if (!application.isEmpty()) if (!application.isEmpty())
Index: qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/io/qsettings_p.h Index: qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/io/qsettings_p.h
=================================================================== ===================================================================
--- qt-everywhere-opensource-src-5.4.2.orig/qtbase/src/corelib/io/qsettings_p.h --- qt-everywhere-opensource-src-5.6.0.orig/qtbase/src/corelib/io/qsettings_p.h
+++ qt-everywhere-opensource-src-5.4.2/qtbase/src/corelib/io/qsettings_p.h +++ qt-everywhere-opensource-src-5.6.0/qtbase/src/corelib/io/qsettings_p.h
@@ -240,7 +240,7 @@ public: @@ -241,7 +241,7 @@ public:
F_Organization = 0x1, F_Organization = 0x1,
F_User = 0x0, F_User = 0x0,
F_System = 0x2, F_System = 0x2,

View File

@ -1,8 +1,8 @@
{ qtSubmodule, python, qtbase, qtsvg, qtxmlpatterns }: { qtSubmodule, lib, copyPathsToStore, python, qtbase, qtsvg, qtxmlpatterns }:
qtSubmodule { qtSubmodule {
name = "qtdeclarative"; name = "qtdeclarative";
patches = [ ./0001-nix-profiles-import-paths.patch ]; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
qtInputs = [ qtbase qtsvg qtxmlpatterns ]; qtInputs = [ qtbase qtsvg qtxmlpatterns ];
nativeBuildInputs = [ python ]; nativeBuildInputs = [ python ];
postFixup = '' postFixup = ''

View File

@ -0,0 +1,20 @@
Index: qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp
===================================================================
--- qtdeclarative-opensource-src-5.5.1.orig/src/qml/qml/qqmlimport.cpp
+++ qtdeclarative-opensource-src-5.5.1/src/qml/qml/qqmlimport.cpp
@@ -1549,6 +1549,15 @@ QQmlImportDatabase::QQmlImportDatabase(Q
QString installImportsPath = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
addImportPath(installImportsPath);
+ // Add library paths derived from NIX_PROFILES.
+ const QByteArrayList profiles = qgetenv("NIX_PROFILES").split(' ');
+ const QString qmldir = QString::fromLatin1("/lib/qt5/qml");
+ Q_FOREACH (const QByteArray &profile, profiles) {
+ if (!profile.isEmpty()) {
+ addImportPath(QFile::decodeName(profile) + qmldir);
+ }
+ }
+
// env import paths
QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
if (!envImportPath.isEmpty()) {

View File

@ -0,0 +1 @@
nix-profiles-import-paths.patch

View File

@ -3,7 +3,6 @@
qtSubmodule { qtSubmodule {
name = "qtserialport"; name = "qtserialport";
qtInputs = [ qtbase ]; qtInputs = [ qtbase ];
patches = [ patches = [
(substituteAll { (substituteAll {
src = ./0001-dlopen-serialport-udev.patch; src = ./0001-dlopen-serialport-udev.patch;

View File

@ -1,8 +1,8 @@
{ qtSubmodule, qtbase }: { qtSubmodule, qtbase, qtdeclarative }:
qtSubmodule { qtSubmodule {
name = "qttools"; name = "qttools";
qtInputs = [ qtbase ]; qtInputs = [ qtbase qtdeclarative ];
postFixup = '' postFixup = ''
moveToOutput "bin/qdbus" "$out" moveToOutput "bin/qdbus" "$out"
moveToOutput "bin/qtpaths" "$out" moveToOutput "bin/qtpaths" "$out"
@ -10,6 +10,7 @@ qtSubmodule {
fixQtModuleCMakeConfig "Designer" fixQtModuleCMakeConfig "Designer"
fixQtModuleCMakeConfig "Help" fixQtModuleCMakeConfig "Help"
fixQtModuleCMakeConfig "LinguistTools" fixQtModuleCMakeConfig "LinguistTools"
fixQtModuleCMakeConfig "UiPlugin"
fixQtModuleCMakeConfig "UiTools" fixQtModuleCMakeConfig "UiTools"
''; '';
} }

View File

@ -0,0 +1,261 @@
# DO NOT EDIT! This file is generated automatically by manifest.sh
{ fetchurl, mirror }:
{
qttools = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qttools-opensource-src-5.6.0.tar.xz";
sha256 = "1791c9a1vxv0q2ywr00ya5rxaggidsq81s8h8fwmql75pdhlq90d";
name = "qttools-opensource-src-5.6.0.tar.xz";
};
};
qtwebengine = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtwebengine-opensource-src-5.6.0.tar.xz";
sha256 = "00vaqx3mypqlnjkfwhx54r6ygfs07amkwc4rma0sg64zdjnvb8la";
name = "qtwebengine-opensource-src-5.6.0.tar.xz";
};
};
qtserialbus = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtserialbus-opensource-src-5.6.0.tar.xz";
sha256 = "13hbmj9pilh5gkbbngfbp225qvc650pnzvpzawpnf69zwl757jlc";
name = "qtserialbus-opensource-src-5.6.0.tar.xz";
};
};
qtwayland = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtwayland-opensource-src-5.6.0.tar.xz";
sha256 = "1k5zsgz54wlkxm3ici55lbbz286bk2791vri02bjgja5y9102pdm";
name = "qtwayland-opensource-src-5.6.0.tar.xz";
};
};
qt5 = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qt5-opensource-src-5.6.0.tar.xz";
sha256 = "195dl9pk9slbiy6mgwwpc70vaw62sdhxc3lxmlnyddk99widqa3k";
name = "qt5-opensource-src-5.6.0.tar.xz";
};
};
qtimageformats = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtimageformats-opensource-src-5.6.0.tar.xz";
sha256 = "1nmsh682idxl0642q7376r9qfxkx0736q9pl4jx179c9lrsl519c";
name = "qtimageformats-opensource-src-5.6.0.tar.xz";
};
};
qtactiveqt = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtactiveqt-opensource-src-5.6.0.tar.xz";
sha256 = "0xrjr9jwkxxcv46a8vj77px3v1p36nm6rpvyxma0wb4xhpippp3a";
name = "qtactiveqt-opensource-src-5.6.0.tar.xz";
};
};
qtdoc = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtdoc-opensource-src-5.6.0.tar.xz";
sha256 = "1z69yl8nkvp21arjhzl34gr8gvxm5b03d58lwnddl4mkaxbi4vap";
name = "qtdoc-opensource-src-5.6.0.tar.xz";
};
};
qtsensors = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtsensors-opensource-src-5.6.0.tar.xz";
sha256 = "0blwqmkh0hn1716d5fvy0vnh56y9iikl34ayz6ksl0ayxhpkk3si";
name = "qtsensors-opensource-src-5.6.0.tar.xz";
};
};
qtwebchannel = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtwebchannel-opensource-src-5.6.0.tar.xz";
sha256 = "0ky1njksczyfb7y7p5kfgzbx9vgajzy51g2y3vrpfvl6bs9j8m62";
name = "qtwebchannel-opensource-src-5.6.0.tar.xz";
};
};
qtmacextras = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtmacextras-opensource-src-5.6.0.tar.xz";
sha256 = "1jkmwppapvymdr1kwdrbjlxhcafcn4jb23ssnhrvvgcq3lnl5lhj";
name = "qtmacextras-opensource-src-5.6.0.tar.xz";
};
};
qtwebsockets = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtwebsockets-opensource-src-5.6.0.tar.xz";
sha256 = "17vi3n27gx3f3c2lii3b70pzz6mpblam3236v6mj439xzrlvi2i6";
name = "qtwebsockets-opensource-src-5.6.0.tar.xz";
};
};
qtconnectivity = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtconnectivity-opensource-src-5.6.0.tar.xz";
sha256 = "1ss0ibabiv7n5hakkxmkc4msrwgqcvfffdjajnv5jrq0030v0p0c";
name = "qtconnectivity-opensource-src-5.6.0.tar.xz";
};
};
qtscript = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtscript-opensource-src-5.6.0.tar.xz";
sha256 = "0hjhkh4lia1i0iir1i8dr57gizi74h73j0phhir3q3wsglcpax5c";
name = "qtscript-opensource-src-5.6.0.tar.xz";
};
};
qttranslations = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qttranslations-opensource-src-5.6.0.tar.xz";
sha256 = "0jfdfj2z0nvf1xblmdxaphn0psjycrb5g3jxxcddkci214gka2cq";
name = "qttranslations-opensource-src-5.6.0.tar.xz";
};
};
qtlocation = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtlocation-opensource-src-5.6.0.tar.xz";
sha256 = "1jakjrwic01b5vyij6hfzdfpipandpkj9li3d7wf9bzws0cia3in";
name = "qtlocation-opensource-src-5.6.0.tar.xz";
};
};
qtserialport = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtserialport-opensource-src-5.6.0.tar.xz";
sha256 = "07rwhmh9y7b3ycvx4d4d1j32nahf8nhsb9qj99kxz5xrdfv7zvhn";
name = "qtserialport-opensource-src-5.6.0.tar.xz";
};
};
qtsvg = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtsvg-opensource-src-5.6.0.tar.xz";
sha256 = "07v4bzxd31dhkhp52y4g2ii0sslmk48cqkkz32v41frqj4qrk1vr";
name = "qtsvg-opensource-src-5.6.0.tar.xz";
};
};
qtwebview = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtwebview-opensource-src-5.6.0.tar.xz";
sha256 = "0mqbh125bq37xybwslhri4pl861r26cnraiz9ivh4881kqzab3x4";
name = "qtwebview-opensource-src-5.6.0.tar.xz";
};
};
qtcanvas3d = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtcanvas3d-opensource-src-5.6.0.tar.xz";
sha256 = "1kwykm1ffgpjgb3ggd4h2d2x3yhp9jsc0gnwlks620bahagdbbb6";
name = "qtcanvas3d-opensource-src-5.6.0.tar.xz";
};
};
qtwinextras = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtwinextras-opensource-src-5.6.0.tar.xz";
sha256 = "14xvm081wjyild2wi7pcilqxdkhc8b0lf9yn7yf7zp576i9ir5aq";
name = "qtwinextras-opensource-src-5.6.0.tar.xz";
};
};
qtgraphicaleffects = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtgraphicaleffects-opensource-src-5.6.0.tar.xz";
sha256 = "1s0n8hrmrfs53cmm7i45p8zavvmsl0aisd5sgj93p8c5rzyi3s81";
name = "qtgraphicaleffects-opensource-src-5.6.0.tar.xz";
};
};
qtxmlpatterns = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtxmlpatterns-opensource-src-5.6.0.tar.xz";
sha256 = "1m0rr0m9zg2d6rdban2p5qyx8rdnjnjsfk3bm72bh47hscxipvds";
name = "qtxmlpatterns-opensource-src-5.6.0.tar.xz";
};
};
qtquickcontrols2 = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtquickcontrols2-opensource-src-5.6.0.tar.xz";
sha256 = "1q7yp7l32jd3p28587ldxzkj58z1aad9gcs80w6vqc9952i6xv2r";
name = "qtquickcontrols2-opensource-src-5.6.0.tar.xz";
};
};
qtbase = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtbase-opensource-src-5.6.0.tar.xz";
sha256 = "0ynnvcs5idivzldsq5ciqg9myg82b3l3906l4vjv54lyamf8mykf";
name = "qtbase-opensource-src-5.6.0.tar.xz";
};
};
qt3d = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qt3d-opensource-src-5.6.0.tar.xz";
sha256 = "17a37xhav5mxspx2c9wsgvcilv7ys40q6minmlqd1gnfmsfphqdr";
name = "qt3d-opensource-src-5.6.0.tar.xz";
};
};
qtenginio = {
version = "1.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtenginio-opensource-src-1.6.0.tar.xz";
sha256 = "033z2jncci64s7s9ml5rsfsnrkdmhx1g5dfvr61imv63pzxxqzb2";
name = "qtenginio-opensource-src-1.6.0.tar.xz";
};
};
qtx11extras = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtx11extras-opensource-src-5.6.0.tar.xz";
sha256 = "099lc7kxcxgp5s01ddnd6n955fc8866caark43xfs2dw0a6pdva7";
name = "qtx11extras-opensource-src-5.6.0.tar.xz";
};
};
qtdeclarative = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtdeclarative-opensource-src-5.6.0.tar.xz";
sha256 = "0k70zlyx1nh35caiav4s3jvg5l029pvilm6sarxmfj73y19z0mcc";
name = "qtdeclarative-opensource-src-5.6.0.tar.xz";
};
};
qtmultimedia = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtmultimedia-opensource-src-5.6.0.tar.xz";
sha256 = "11h66xcr3y3w8hhvx801r66yirvf1kppasjlhm25qvr6rpb9jgqh";
name = "qtmultimedia-opensource-src-5.6.0.tar.xz";
};
};
qtquickcontrols = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtquickcontrols-opensource-src-5.6.0.tar.xz";
sha256 = "12vqkxpz5y2bbh083lpsxcianykl8x7am49pmc4x221a5xwrc27c";
name = "qtquickcontrols-opensource-src-5.6.0.tar.xz";
};
};
qtandroidextras = {
version = "5.6.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/5.6/5.6.0/submodules/qtandroidextras-opensource-src-5.6.0.tar.xz";
sha256 = "1qhrn8vhfn0z73bc2ls1b4zfvr7r5gn7b5xdmjp26hi338j55vp0";
name = "qtandroidextras-opensource-src-5.6.0.tar.xz";
};
};
}

View File

@ -1,18 +0,0 @@
{ stdenv, fetchurl, doxygen, qtbase, qmakeHook }:
stdenv.mkDerivation rec {
name = "signon-${version}";
version = "8.57";
src = fetchurl {
url = "https://gitlab.com/accounts-sso/signond/repository/archive.tar.gz?ref=${version}";
sha256 = "1vqkxhmdjk3217k38l2s3wld8x7f4jrbbh6xbr036cn1r23ncni5";
};
buildInputs = [ qtbase ];
nativeBuildInputs = [ doxygen qmakeHook ];
preConfigure = ''
qmakeFlags="$qmakeFlags LIBDIR=$out/lib CMAKE_CONFIG_PATH=$out/lib/cmake/SignOnQt5"
'';
}

View File

@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
description = "ChessX allows you to browse and analyse chess games"; description = "ChessX allows you to browse and analyse chess games";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = [maintainers.luispedro]; maintainers = [maintainers.luispedro];
broken = true;
}; };
} }

View File

@ -40,5 +40,6 @@ stdenv.mkDerivation rec {
maintainers = [ stdenv.lib.maintainers.wyvie ]; maintainers = [ stdenv.lib.maintainers.wyvie ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
broken = true;
}; };
} }

View File

@ -27,5 +27,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.all; platforms = platforms.all;
maintainers = [ maintainers.vbgl ]; maintainers = [ maintainers.vbgl ];
broken = true;
}; };
} }

View File

@ -74,7 +74,6 @@ doNotDisplayTwice rec {
pidginlatexSF = pidginlatex; # added 2014-11-02 pidginlatexSF = pidginlatex; # added 2014-11-02
poppler_qt5 = qt5.poppler; # added 2015-12-19 poppler_qt5 = qt5.poppler; # added 2015-12-19
qca-qt5 = qt5.qca-qt5; # added 2015-12-19 qca-qt5 = qt5.qca-qt5; # added 2015-12-19
qtcreator = qt5.qtcreator; # added 2015-12-19
quake3game = ioquake3; # added 2016-01-14 quake3game = ioquake3; # added 2016-01-14
quassel_kf5 = kde5.quassel; # added 2015-09-30 quassel_kf5 = kde5.quassel; # added 2015-09-30
quassel_qt5 = kde5.quassel_qt5; # added 2015-09-30 quassel_qt5 = kde5.quassel_qt5; # added 2015-09-30

View File

@ -434,7 +434,7 @@ in
withGui = false; withGui = false;
}; };
apitrace = qt5.callPackage ../applications/graphics/apitrace {}; apitrace = qt55.callPackage ../applications/graphics/apitrace {};
argyllcms = callPackage ../tools/graphics/argyllcms {}; argyllcms = callPackage ../tools/graphics/argyllcms {};
@ -1160,7 +1160,7 @@ in
convmv = callPackage ../tools/misc/convmv { }; convmv = callPackage ../tools/misc/convmv { };
cool-retro-term = qt5.callPackage ../applications/misc/cool-retro-term { }; cool-retro-term = qt55.callPackage ../applications/misc/cool-retro-term { };
coreutils = callPackage ../tools/misc/coreutils { coreutils = callPackage ../tools/misc/coreutils {
aclSupport = stdenv.isLinux; aclSupport = stdenv.isLinux;
@ -3248,7 +3248,7 @@ in
siege = callPackage ../tools/networking/siege {}; siege = callPackage ../tools/networking/siege {};
sigil = qt5.callPackage ../applications/editors/sigil { }; sigil = qt55.callPackage ../applications/editors/sigil { };
# aka., gpg-tools # aka., gpg-tools
signing-party = callPackage ../tools/security/signing-party { }; signing-party = callPackage ../tools/security/signing-party { };
@ -6284,6 +6284,10 @@ in
premake = premake4; premake = premake4;
qtcreator = qt5.callPackage ../development/qtcreator {
withDocumentation = true;
};
racerRust = callPackage ../development/tools/rust/racer { }; racerRust = callPackage ../development/tools/rust/racer { };
radare = callPackage ../development/tools/analysis/radare { radare = callPackage ../development/tools/analysis/radare {
@ -7508,8 +7512,6 @@ in
libcm = callPackage ../development/libraries/libcm { }; libcm = callPackage ../development/libraries/libcm { };
libcommuni = qt5.callPackage ../development/libraries/libcommuni { };
libconfuse = callPackage ../development/libraries/libconfuse { }; libconfuse = callPackage ../development/libraries/libconfuse { };
inherit (gnome3) libcroco; inherit (gnome3) libcroco;
@ -8694,15 +8696,20 @@ in
developerBuild = true; developerBuild = true;
}); });
qt54 =
let imported = import ../development/libraries/qt-5/5.4 { inherit pkgs; };
in recurseIntoAttrs (imported.override (super: qt5LibsFun));
qt55 = qt55 =
let imported = import ../development/libraries/qt-5/5.5 { inherit pkgs; }; let imported = import ../development/libraries/qt-5/5.5 { inherit pkgs; };
# Libraries that cannot be built with newer versions of Qt 5
qt55Only = self: with self; {
# Requires Qt Quick (deprecated in Qt 5.5, removed from Qt 5.6)
qmltermwidget = callPackage ../development/libraries/qmltermwidget { };
};
in recurseIntoAttrs (imported.override (super: self: qt5LibsFun self // qt55Only self));
qt56 =
let imported = import ../development/libraries/qt-5/5.6 { inherit pkgs; };
in recurseIntoAttrs (imported.override (super: qt5LibsFun)); in recurseIntoAttrs (imported.override (super: qt5LibsFun));
qt5 = self.qt54; qt5 = self.qt56;
qt5LibsFun = self: with self; { qt5LibsFun = self: with self; {
@ -8710,6 +8717,8 @@ in
grantlee = callPackage ../development/libraries/grantlee/5.x.nix { }; grantlee = callPackage ../development/libraries/grantlee/5.x.nix { };
libcommuni = callPackage ../development/libraries/libcommuni { };
libdbusmenu = callPackage ../development/libraries/libdbusmenu-qt/qt-5.5.nix { }; libdbusmenu = callPackage ../development/libraries/libdbusmenu-qt/qt-5.5.nix { };
libkeyfinder = callPackage ../development/libraries/libkeyfinder { }; libkeyfinder = callPackage ../development/libraries/libkeyfinder { };
@ -8728,20 +8737,12 @@ in
qca-qt5 = callPackage ../development/libraries/qca-qt5 { }; qca-qt5 = callPackage ../development/libraries/qca-qt5 { };
qmltermwidget = callPackage ../development/libraries/qmltermwidget { };
qtcreator = callPackage ../development/qtcreator {
withDocumentation = true;
};
quazip = callPackage ../development/libraries/quazip { quazip = callPackage ../development/libraries/quazip {
qt = qtbase; qt = qtbase;
}; };
qwt = callPackage ../development/libraries/qwt/6.nix { }; qwt = callPackage ../development/libraries/qwt/6.nix { };
signon = callPackage ../development/libraries/signon { };
telepathy = callPackage ../development/libraries/telepathy/qt { }; telepathy = callPackage ../development/libraries/telepathy/qt { };
vlc = lowPrio (callPackage ../applications/video/vlc { vlc = lowPrio (callPackage ../applications/video/vlc {
@ -11663,7 +11664,7 @@ in
xlsx2csv = pythonPackages.xlsx2csv; xlsx2csv = pythonPackages.xlsx2csv;
zeal = qt5.callPackage ../data/documentation/zeal { }; zeal = qt55.callPackage ../data/documentation/zeal { };
### APPLICATIONS ### APPLICATIONS
@ -13028,7 +13029,7 @@ in
kermit = callPackage ../tools/misc/kermit { }; kermit = callPackage ../tools/misc/kermit { };
keyfinder = qt55.callPackage ../applications/audio/keyfinder { }; keyfinder = qt5.callPackage ../applications/audio/keyfinder { };
keyfinder-cli = qt5.callPackage ../applications/audio/keyfinder-cli { }; keyfinder-cli = qt5.callPackage ../applications/audio/keyfinder-cli { };
@ -13186,7 +13187,7 @@ in
webkit = webkitgtk2; webkit = webkitgtk2;
}; };
luminanceHDR = qt5.callPackage ../applications/graphics/luminance-hdr { }; luminanceHDR = qt55.callPackage ../applications/graphics/luminance-hdr { };
lxdvdrip = callPackage ../applications/video/lxdvdrip { }; lxdvdrip = callPackage ../applications/video/lxdvdrip { };
@ -13401,7 +13402,7 @@ in
else null; else null;
}; };
musescore = qt5.callPackage ../applications/audio/musescore { }; musescore = qt55.callPackage ../applications/audio/musescore { };
mutt = callPackage ../applications/networking/mailreaders/mutt { }; mutt = callPackage ../applications/networking/mailreaders/mutt { };
mutt-with-sidebar = callPackage ../applications/networking/mailreaders/mutt { mutt-with-sidebar = callPackage ../applications/networking/mailreaders/mutt {
@ -13443,7 +13444,7 @@ in
smplayer = qt5.callPackage ../applications/video/smplayer { }; smplayer = qt5.callPackage ../applications/video/smplayer { };
smtube = qt5.callPackage ../applications/video/smtube {}; smtube = qt55.callPackage ../applications/video/smtube {};
sup = callPackage ../applications/networking/mailreaders/sup { sup = callPackage ../applications/networking/mailreaders/sup {
ruby = ruby_2_3.override { cursesSupport = true; }; ruby = ruby_2_3.override { cursesSupport = true; };
@ -13792,7 +13793,7 @@ in
demo = false; demo = false;
}; };
rapcad = qt5.callPackage ../applications/graphics/rapcad { boost = boost159; }; rapcad = qt55.callPackage ../applications/graphics/rapcad { boost = boost159; };
rapidsvn = callPackage ../applications/version-management/rapidsvn { }; rapidsvn = callPackage ../applications/version-management/rapidsvn { };
@ -13820,7 +13821,7 @@ in
RhythmDelay = callPackage ../applications/audio/RhythmDelay { }; RhythmDelay = callPackage ../applications/audio/RhythmDelay { };
ricochet = qt5.callPackage ../applications/networking/instant-messengers/ricochet { }; ricochet = qt55.callPackage ../applications/networking/instant-messengers/ricochet { };
rkt = callPackage ../applications/virtualization/rkt { }; rkt = callPackage ../applications/virtualization/rkt { };
@ -16454,7 +16455,7 @@ in
inherit (pythonPackages) pexpect paramiko; inherit (pythonPackages) pexpect paramiko;
}; };
redis-desktop-manager = qt5.callPackage ../applications/misc/redis-desktop-manager { }; redis-desktop-manager = qt55.callPackage ../applications/misc/redis-desktop-manager { };
robomongo = qt5.callPackage ../applications/misc/robomongo { }; robomongo = qt5.callPackage ../applications/misc/robomongo { };
@ -16793,7 +16794,7 @@ in
discord = callPackage ../applications/networking/instant-messengers/discord { }; discord = callPackage ../applications/networking/instant-messengers/discord { };
golden-cheetah = qt5.callPackage ../applications/misc/golden-cheetah {}; golden-cheetah = qt55.callPackage ../applications/misc/golden-cheetah {};
tomb = callPackage ../os-specific/linux/tomb {}; tomb = callPackage ../os-specific/linux/tomb {};