diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix index e6927ffb9ca..ffa0a95be2c 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix @@ -3,8 +3,8 @@ , xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi , xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon -, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre -, zlib, libjpeg, libpng, libtiff, sqlite, icu +, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre16 +, zlib, libjpeg, libpng, libtiff, sqlite, icu, harfbuzz , coreutils, bison, flex, gdb, gperf, lndir, ruby , python, perl, pkgconfig @@ -164,8 +164,10 @@ stdenv.mkDerivation { -system-zlib -system-libpng -system-libjpeg + -system-harfbuzz -system-xcb -system-xkbcommon + -system-pcre -openssl-linked -dbus-linked @@ -186,8 +188,8 @@ stdenv.mkDerivation { propagatedBuildInputs = [ xlibs.libXcomposite libX11 libxcb libXext libXrender libXi - fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre - zlib libjpeg libpng libtiff sqlite icu + fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre16 + zlib libjpeg libpng libtiff sqlite icu harfbuzz xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon ] # Qt doesn't directly need GLU (just GL), but many apps use, it's small and diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch index 470526b1dcd..d20767a38e5 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/nix-profiles-library-paths.patch @@ -2,10 +2,11 @@ Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplica =================================================================== --- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/corelib/kernel/qcoreapplication.cpp +++ qt-everywhere-opensource-src-5.5.1/qtbase/src/corelib/kernel/qcoreapplication.cpp -@@ -2498,6 +2498,21 @@ QStringList QCoreApplication::libraryPat +@@ -2498,6 +2498,22 @@ QStringList QCoreApplication::libraryPat } } } ++ qunsetenv("QT_PLUGIN_PATH"); // do not propagate to child processes + + // Add library paths derived from NIX_PROFILES. + const QByteArray nixProfilesEnv = qgetenv("NIX_PROFILES"); diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/0001-nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/0001-nix-profiles-import-paths.patch deleted file mode 100644 index 8e86f97a947..00000000000 --- a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/0001-nix-profiles-import-paths.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 3f6fa74067aacd0e595e45b4ef7ce754514cb205 Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel -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 - diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix index 9181c37b225..328d8aee72b 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/default.nix @@ -1,8 +1,8 @@ -{ qtSubmodule, python, qtbase, qtsvg, qtxmlpatterns }: +{ qtSubmodule, lib, copyPathsToStore, python, qtbase, qtsvg, qtxmlpatterns }: qtSubmodule { name = "qtdeclarative"; - patches = [ ./0001-nix-profiles-import-paths.patch ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); qtInputs = [ qtbase qtsvg qtxmlpatterns ]; nativeBuildInputs = [ python ]; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/nix-profiles-import-paths.patch new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkgs/development/libraries/qt-5/5.5/qtdeclarative/series b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/series new file mode 100644 index 00000000000..7dbe197c56e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtdeclarative/series @@ -0,0 +1 @@ +nix-profiles-import-paths.patch diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/0001-nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtquick1/0001-nix-profiles-import-paths.patch deleted file mode 100644 index 63b141f6ce5..00000000000 --- a/pkgs/development/libraries/qt-5/5.5/qtquick1/0001-nix-profiles-import-paths.patch +++ /dev/null @@ -1,37 +0,0 @@ -From bbc706b3fcb90ca3b2b51d5e3434145572152711 Mon Sep 17 00:00:00 2001 -From: Thomas Tuegel -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 - diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix b/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix index d1c7bb389a4..64937b3dcd3 100644 --- a/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix +++ b/pkgs/development/libraries/qt-5/5.5/qtquick1/default.nix @@ -1,7 +1,7 @@ -{ qtSubmodule, qtscript, qtsvg, qtwebkit, qtxmlpatterns }: +{ qtSubmodule, lib, copyPathsToStore, qtscript, qtsvg, qtwebkit, qtxmlpatterns }: qtSubmodule { name = "qtquick1"; - patches = [ ./0001-nix-profiles-import-paths.patch ]; + patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); qtInputs = [ qtscript qtsvg qtwebkit qtxmlpatterns ]; } diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtquick1/nix-profiles-import-paths.patch new file mode 100644 index 00000000000..e69de29bb2d diff --git a/pkgs/development/libraries/qt-5/5.5/qtquick1/series b/pkgs/development/libraries/qt-5/5.5/qtquick1/series new file mode 100644 index 00000000000..7dbe197c56e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtquick1/series @@ -0,0 +1 @@ +nix-profiles-import-paths.patch