From fe49213ba6ebcc8b3b5d3695d0454e6338a54598 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sun, 27 Sep 2015 09:46:48 -0500 Subject: [PATCH] qt55: init at 5.5.0 --- .../libraries/qt-5/5.5/default.nix | 104 +++++++ .../libraries/qt-5/5.5/fetchsrcs.sh | 47 ++++ .../5.5/qtbase/0001-dlopen-gtkstyle.patch | 63 +++++ .../qt-5/5.5/qtbase/0002-dlopen-resolv.patch | 39 +++ .../qt-5/5.5/qtbase/0003-dlopen-gl.patch | 25 ++ .../qt-5/5.5/qtbase/0004-tzdir.patch | 52 ++++ .../5.5/qtbase/0005-dlopen-libXcursor.patch | 29 ++ .../qt-5/5.5/qtbase/0006-dlopen-openssl.patch | 38 +++ .../qt-5/5.5/qtbase/0007-dlopen-dbus.patch | 25 ++ .../5.5/qtbase/0008-xdg-config-dirs.patch | 55 ++++ .../5.5/qtbase/0009-decrypt-ssl-traffic.patch | 25 ++ .../libraries/qt-5/5.5/qtbase/default.nix | 228 +++++++++++++++ .../libraries/qt-5/5.5/qtbase/setup-hook.sh | 109 ++++++++ .../libraries/qt-5/5.5/qtconnectivity.nix | 6 + .../libraries/qt-5/5.5/qtdeclarative.nix | 7 + pkgs/development/libraries/qt-5/5.5/qtdoc.nix | 6 + .../libraries/qt-5/5.5/qtenginio.nix | 6 + .../libraries/qt-5/5.5/qtgraphicaleffects.nix | 6 + .../libraries/qt-5/5.5/qtimageformats.nix | 6 + .../libraries/qt-5/5.5/qtlocation.nix | 6 + .../libraries/qt-5/5.5/qtmultimedia.nix | 11 + .../libraries/qt-5/5.5/qtquick1.nix | 6 + .../libraries/qt-5/5.5/qtquickcontrols.nix | 6 + .../qt-5/5.5/qtscript/0001-glib-2.32.patch | 25 ++ .../libraries/qt-5/5.5/qtscript/default.nix | 7 + .../libraries/qt-5/5.5/qtsensors.nix | 6 + .../0001-dlopen-serialport-udev.patch | 28 ++ .../qt-5/5.5/qtserialport/default.nix | 7 + pkgs/development/libraries/qt-5/5.5/qtsvg.nix | 6 + .../libraries/qt-5/5.5/qttools.nix | 6 + .../libraries/qt-5/5.5/qttranslations.nix | 6 + .../libraries/qt-5/5.5/qtwebkit-examples.nix | 6 + .../0001-dlopen-webkit-nsplugin.patch | 53 ++++ .../5.5/qtwebkit/0002-dlopen-webkit-gtk.patch | 25 ++ .../qtwebkit/0003-dlopen-webkit-udev.patch | 31 +++ .../libraries/qt-5/5.5/qtwebkit/default.nix | 33 +++ .../libraries/qt-5/5.5/qtwebsockets.nix | 6 + .../libraries/qt-5/5.5/qtx11extras.nix | 6 + .../libraries/qt-5/5.5/qtxmlpatterns.nix | 6 + pkgs/development/libraries/qt-5/5.5/srcs.nix | 261 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 41 files changed, 1425 insertions(+) create mode 100644 pkgs/development/libraries/qt-5/5.5/default.nix create mode 100755 pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0001-dlopen-gtkstyle.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0002-dlopen-resolv.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0003-dlopen-gl.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0004-tzdir.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0005-dlopen-libXcursor.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0006-dlopen-openssl.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0007-dlopen-dbus.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0008-xdg-config-dirs.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/0009-decrypt-ssl-traffic.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/default.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh create mode 100644 pkgs/development/libraries/qt-5/5.5/qtconnectivity.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtdeclarative.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtdoc.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtenginio.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtgraphicaleffects.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtimageformats.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtlocation.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtmultimedia.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtquick1.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtquickcontrols.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtscript/0001-glib-2.32.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtscript/default.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtsensors.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtsvg.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qttools.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qttranslations.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtwebkit-examples.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtwebkit/0001-dlopen-webkit-nsplugin.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtwebkit/0002-dlopen-webkit-gtk.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch create mode 100644 pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtx11extras.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix create mode 100644 pkgs/development/libraries/qt-5/5.5/srcs.nix diff --git a/pkgs/development/libraries/qt-5/5.5/default.nix b/pkgs/development/libraries/qt-5/5.5/default.nix new file mode 100644 index 000000000000..418ab88cd9f5 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/default.nix @@ -0,0 +1,104 @@ +# Maintainer's Notes: +# +# Minor updates: +# 1. Edit ./manifest.sh to point to the updated URL. +# 2. Run ./manifest.sh. +# 3. Build and enjoy. +# +# Major updates: +# We prefer not to immediately overwrite older versions with major updates, so +# 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 +# any new components have been added and package them as necessary. + +{ pkgs + +# options +, developerBuild ? false +, decryptSslTraffic ? false +}: + +let inherit (pkgs) stdenv; in + +with stdenv.lib; + +let + + mirror = "http://download.qt.io"; + srcs = import ./srcs.nix { inherit mirror; inherit (pkgs) fetchurl; }; + + qtSubmodule = args: + let + inherit (args) name; + inherit (srcs."${args.name}") version src; + inherit (pkgs.stdenv) mkDerivation; + in mkDerivation (args // { + name = "${name}-${version}"; + inherit src; + + propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []); + + NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true; + dontAddPrefix = args.dontAddPrefix or true; + dontFixLibtool = args.dontFixLibtool or true; + configureScript = args.configureScript or "qmake"; + + enableParallelBuilding = args.enableParallelBuilding or true; + + meta = { + homepage = http://qt-project.org; + description = "A cross-platform application framework for C++"; + license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ]; + maintainers = with maintainers; [ bbenoist qknight ttuegel ]; + platforms = platforms.linux; + } // (args.meta or {}); + }); + + addPackages = self: with self; + let + callPackage = self.newScope { inherit qtSubmodule srcs; }; + in { + + qtbase = callPackage ./qtbase { + mesa = pkgs.mesa_noglu; + cups = if stdenv.isLinux then pkgs.cups else null; + # GNOME dependencies are not used unless gtkStyle == true + inherit (pkgs.gnome) libgnomeui GConf gnome_vfs; + bison = pkgs.bison2; # error: too few arguments to function 'int yylex(... + inherit developerBuild decryptSslTraffic; + }; + + /* qt3d = not packaged */ + /* qtactiveqt = not packaged */ + /* qtandroidextras = not packaged */ + /* qtcanvas3d = not packaged */ + qtconnectivity = callPackage ./qtconnectivity.nix {}; + qtdeclarative = callPackage ./qtdeclarative.nix {}; + qtdoc = callPackage ./qtdoc.nix {}; + qtenginio = callPackage ./qtenginio.nix {}; + qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {}; + qtimageformats = callPackage ./qtimageformats.nix {}; + qtlocation = callPackage ./qtlocation.nix {}; + /* qtmacextras = not packaged */ + qtmultimedia = callPackage ./qtmultimedia.nix {}; + qtquick1 = callPackage ./qtquick1.nix {}; + qtquickcontrols = callPackage ./qtquickcontrols.nix {}; + qtscript = callPackage ./qtscript {}; + qtsensors = callPackage ./qtsensors.nix {}; + qtserialport = callPackage ./qtserialport {}; + qtsvg = callPackage ./qtsvg.nix {}; + qttools = callPackage ./qttools.nix {}; + qttranslations = callPackage ./qttranslations.nix {}; + /* qtwayland = not packaged */ + /* qtwebchannel = not packaged */ + /* qtwebengine = not packaged */ + qtwebkit = callPackage ./qtwebkit {}; + qtwebkit-examples = callPackage ./qtwebkit-examples.nix {}; + qtwebsockets = callPackage ./qtwebsockets.nix {}; + /* qtwinextras = not packaged */ + qtx11extras = callPackage ./qtx11extras.nix {}; + qtxmlpatterns = callPackage ./qtxmlpatterns.nix {}; + + }; + +in makeScope pkgs.newScope addPackages diff --git a/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh b/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh new file mode 100755 index 000000000000..8d48cd38ee4a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh @@ -0,0 +1,47 @@ +#! /usr/bin/env nix-shell +#! nix-shell -i bash -p coreutils findutils gnused nix wget + +set -x + +# The trailing slash at the end is necessary! +RELEASE_URL="http://download.qt.io/official_releases/qt/5.5/5.5.0/submodules/" +EXTRA_WGET_ARGS='-A *.tar.xz' + +mkdir tmp; cd tmp + +wget -nH -r -c --no-parent $RELEASE_URL $EXTRA_WGET_ARGS + +cat >../srcs.nix <>../srcs.nix <>../srcs.nix + +cd .. diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0001-dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0001-dlopen-gtkstyle.patch new file mode 100644 index 000000000000..b86dfaf628b3 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0001-dlopen-gtkstyle.patch @@ -0,0 +1,63 @@ +From d3224286c647f1d1e7dac485bbeee5bc8286e6c6 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:21:58 -0600 +Subject: [PATCH 1/9] dlopen-gtkstyle + +--- + qtbase/src/widgets/styles/qgtk2painter.cpp | 2 +- + qtbase/src/widgets/styles/qgtkstyle_p.cpp | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/qtbase/src/widgets/styles/qgtk2painter.cpp b/qtbase/src/widgets/styles/qgtk2painter.cpp +index 489d456..c38e986 100644 +--- a/qtbase/src/widgets/styles/qgtk2painter.cpp ++++ b/qtbase/src/widgets/styles/qgtk2painter.cpp +@@ -96,7 +96,7 @@ static void initGtk() + static bool initialized = false; + if (!initialized) { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new"); + QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable"); +diff --git a/qtbase/src/widgets/styles/qgtkstyle_p.cpp b/qtbase/src/widgets/styles/qgtkstyle_p.cpp +index 0e119a1..ad6caa1 100644 +--- a/qtbase/src/widgets/styles/qgtkstyle_p.cpp ++++ b/qtbase/src/widgets/styles/qgtkstyle_p.cpp +@@ -327,7 +327,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus(GtkWidget *widget, bool focus) + void QGtkStylePrivate::resolveGtk() const + { + // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0 +- QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0); ++ QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0); + + gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init"); + gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new"); +@@ -425,8 +425,8 @@ void QGtkStylePrivate::resolveGtk() const + pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family"); + pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style"); + +- gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync"); +- gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init"); ++ gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync"); ++ gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init"); + } + + /* \internal +@@ -594,9 +594,9 @@ void QGtkStylePrivate::cleanupGtkWidgets() + static bool resolveGConf() + { + if (!QGtkStylePrivate::gconf_client_get_default) { +- QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default"); +- QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string"); +- QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool"); ++ QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default"); ++ QGtkStylePrivate::gconf_client_get_string = (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string"); ++ QGtkStylePrivate::gconf_client_get_bool = (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool"); + } + return (QGtkStylePrivate::gconf_client_get_default !=0); + } +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0002-dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0002-dlopen-resolv.patch new file mode 100644 index 000000000000..90afce32dc13 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0002-dlopen-resolv.patch @@ -0,0 +1,39 @@ +From af315c076c8626292075592fab1726fcd62c3169 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:22:55 -0600 +Subject: [PATCH 2/9] dlopen-resolv + +--- + qtbase/src/network/kernel/qdnslookup_unix.cpp | 2 +- + qtbase/src/network/kernel/qhostinfo_unix.cpp | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/network/kernel/qdnslookup_unix.cpp b/qtbase/src/network/kernel/qdnslookup_unix.cpp +index fa782da..912ecc7 100644 +--- a/qtbase/src/network/kernel/qdnslookup_unix.cpp ++++ b/qtbase/src/network/kernel/qdnslookup_unix.cpp +@@ -79,7 +79,7 @@ static void resolveLibrary() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc/lib/resolv")); + if (!lib.load()) + return; + } +diff --git a/qtbase/src/network/kernel/qhostinfo_unix.cpp b/qtbase/src/network/kernel/qhostinfo_unix.cpp +index 90a6f76..758407a 100644 +--- a/qtbase/src/network/kernel/qhostinfo_unix.cpp ++++ b/qtbase/src/network/kernel/qhostinfo_unix.cpp +@@ -95,7 +95,7 @@ static void resolveLibrary() + if (!lib.load()) + #endif + { +- lib.setFileName(QLatin1String("resolv")); ++ lib.setFileName(QLatin1String("@glibc@/lib/libresolv")); + if (!lib.load()) + return; + } +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0003-dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0003-dlopen-gl.patch new file mode 100644 index 000000000000..a8a0bdf44106 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0003-dlopen-gl.patch @@ -0,0 +1,25 @@ +From fc9f34b6e8a290615868e27bfcd31c355d11487c Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:23:08 -0600 +Subject: [PATCH 3/9] dlopen-gl + +--- + .../plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +index 5166372..bdeb69a 100644 +--- a/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp ++++ b/qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +@@ -560,7 +560,7 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) () + { + extern const QString qt_gl_library_name(); + // QLibrary lib(qt_gl_library_name()); +- QLibrary lib(QLatin1String("GL")); ++ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL")); + glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB"); + } + } +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0004-tzdir.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0004-tzdir.patch new file mode 100644 index 000000000000..a4e9cd986a24 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0004-tzdir.patch @@ -0,0 +1,52 @@ +From b1a0771652ddf91058f67fa92260a89c43f5c530 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:23:22 -0600 +Subject: [PATCH 4/9] tzdir + +--- + qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp | 21 +++++++++++++++------ + 1 file changed, 15 insertions(+), 6 deletions(-) + +diff --git a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +index 29f0e17..3878974 100644 +--- a/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp ++++ b/qtbase/src/corelib/tools/qtimezoneprivate_tz.cpp +@@ -62,7 +62,10 @@ typedef QHash QTzTimeZoneHash; + // Parse zone.tab table, assume lists all installed zones, if not will need to read directories + static QTzTimeZoneHash loadTzTimeZones() + { +- QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); ++ QString path = qgetenv("TZDIR"); ++ path += "/zone.tab"; ++ if (!QFile::exists(path)) ++ path = QStringLiteral("/usr/share/zoneinfo/zone.tab"); + if (!QFile::exists(path)) + path = QStringLiteral("/usr/lib/zoneinfo/zone.tab"); + +@@ -553,12 +556,18 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId) + if (!tzif.open(QIODevice::ReadOnly)) + return; + } else { +- // Open named tz, try modern path first, if fails try legacy path +- tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ // Try TZDIR first ++ QString zoneinfoDir = qgetenv("TZDIR"); ++ zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId); ++ tzif.setFileName(zoneinfoDir); + if (!tzif.open(QIODevice::ReadOnly)) { +- tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); +- if (!tzif.open(QIODevice::ReadOnly)) +- return; ++ // Open named tz, try modern path first, if fails try legacy path ++ tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) { ++ tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId)); ++ if (!tzif.open(QIODevice::ReadOnly)) ++ return; ++ } + } + } + +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0005-dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0005-dlopen-libXcursor.patch new file mode 100644 index 000000000000..fe53e0e7c48b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0005-dlopen-libXcursor.patch @@ -0,0 +1,29 @@ +From 5fbe717120864d490fa4d60bc7f7676ac19bd69d Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Mon, 1 Dec 2014 17:33:51 -0600 +Subject: [PATCH 5/9] dlopen-libXcursor + +--- + qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +index e51ab85..7ec4b0b 100644 +--- a/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp ++++ b/qtbase/src/plugins/platforms/xcb/qxcbcursor.cpp +@@ -303,10 +303,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen) + #ifdef XCB_USE_XLIB + static bool function_ptrs_not_initialized = true; + if (function_ptrs_not_initialized) { +- QLibrary xcursorLib(QLatin1String("Xcursor"), 1); ++ QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1); + bool xcursorFound = xcursorLib.load(); + if (!xcursorFound) { // try without the version number +- xcursorLib.setFileName(QLatin1String("Xcursor")); ++ xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor")); + xcursorFound = xcursorLib.load(); + } + if (xcursorFound) { +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0006-dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0006-dlopen-openssl.patch new file mode 100644 index 000000000000..718ff08ca43f --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0006-dlopen-openssl.patch @@ -0,0 +1,38 @@ +From 4c4b1f2a35644014da79d089d3860e518fa9a27d Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 23 Aug 2015 08:52:04 -0500 +Subject: [PATCH 6/9] dlopen openssl + +--- + qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +index e2700df..a7ccf88 100644 +--- a/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp ++++ b/qtbase/src/network/ssl/qsslsocket_openssl_symbols.cpp +@@ -640,8 +640,8 @@ static QPair loadOpenSsl() + #endif + #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so + // first attempt: the canonical name is libssl.so. +- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); + if (libcrypto->load() && libssl->load()) { + // libssl.so. and libcrypto.so. found + return pair; +@@ -658,8 +658,8 @@ static QPair loadOpenSsl() + // OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third + // attempt, _after_ /Contents/Frameworks has been searched. + // iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place. +- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); +- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1); ++ libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1); ++ libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1); + if (libcrypto->load() && libssl->load()) { + // libssl.so.0 and libcrypto.so.0 found + return pair; +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0007-dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0007-dlopen-dbus.patch new file mode 100644 index 000000000000..96d268c358bd --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0007-dlopen-dbus.patch @@ -0,0 +1,25 @@ +From a23141d76cdde068ba1cefdad4a6352c921ce7c9 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 23 Aug 2015 08:52:27 -0500 +Subject: [PATCH 7/9] dlopen dbus + +--- + qtbase/src/dbus/qdbus_symbols.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/dbus/qdbus_symbols.cpp b/qtbase/src/dbus/qdbus_symbols.cpp +index b82d92b..f72c9cb 100644 +--- a/qtbase/src/dbus/qdbus_symbols.cpp ++++ b/qtbase/src/dbus/qdbus_symbols.cpp +@@ -89,7 +89,7 @@ bool qdbus_loadLibDBus() + #ifdef Q_OS_WIN + QLatin1String("dbus-1"), + #endif +- QLatin1String("libdbus-1") ++ QLatin1String("@dbus_libs@/lib/libdbus-1") + }; + + lib->unload(); +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0008-xdg-config-dirs.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0008-xdg-config-dirs.patch new file mode 100644 index 000000000000..4d23d640df00 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0008-xdg-config-dirs.patch @@ -0,0 +1,55 @@ +From a7dc6209542ef8aa54191c0e17fbb9b41cbad67f Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 23 Aug 2015 08:52:57 -0500 +Subject: [PATCH 8/9] xdg config dirs + +--- + qtbase/src/corelib/io/qsettings.cpp | 18 ++++++++++++++++++ + qtbase/src/corelib/io/qsettings_p.h | 2 +- + 2 files changed, 19 insertions(+), 1 deletion(-) + +diff --git a/qtbase/src/corelib/io/qsettings.cpp b/qtbase/src/corelib/io/qsettings.cpp +index 413f569..8ff4974 100644 +--- a/qtbase/src/corelib/io/qsettings.cpp ++++ b/qtbase/src/corelib/io/qsettings.cpp +@@ -1131,6 +1131,24 @@ QConfFileSettingsPrivate::QConfFileSettingsPrivate(QSettings::Format format, + if (!application.isEmpty()) + confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false)); + confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false)); ++ ++#if !defined(Q_OS_WIN) ++ // Add directories specified in $XDG_CONFIG_DIRS ++ const QString pathEnv = QString::fromLocal8Bit(getenv("XDG_CONFIG_DIRS")); ++ if (!pathEnv.isEmpty()) { ++ const QStringList pathEntries = pathEnv.split(QLatin1Char(':'), QString::SkipEmptyParts); ++ if (!pathEntries.isEmpty()) { ++ int j = 4; // This is the number of confFiles set above -- we need to start adding $XDG_CONFIG_DIRS after those. ++ for (int k = 0; k < pathEntries.size() && j < NumConfFiles - 1; ++k) { ++ const QString& path = pathEntries.at(k); ++ if (!application.isEmpty()) ++ confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + appFile, false)); ++ confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + orgFile, false)); ++ } ++ } ++ } ++#endif ++ + #else + QString confName = getPath(format, QSettings::UserScope) + org; + if (!application.isEmpty()) +diff --git a/qtbase/src/corelib/io/qsettings_p.h b/qtbase/src/corelib/io/qsettings_p.h +index 93d63fd..160b197 100644 +--- a/qtbase/src/corelib/io/qsettings_p.h ++++ b/qtbase/src/corelib/io/qsettings_p.h +@@ -240,7 +240,7 @@ public: + F_Organization = 0x1, + F_User = 0x0, + F_System = 0x2, +- NumConfFiles = 4 ++ NumConfFiles = 40 // HACK: increase NumConfFiles from 4 to 40 in order to accommodate more paths in $XDG_CONFIG_DIRS -- ellis + #else + SandboxConfFile = 0, + NumConfFiles = 1 +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/0009-decrypt-ssl-traffic.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/0009-decrypt-ssl-traffic.patch new file mode 100644 index 000000000000..8c8ec6974585 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/0009-decrypt-ssl-traffic.patch @@ -0,0 +1,25 @@ +From 64bc88615a4cb58d461fe600b46611415d74b7b2 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 23 Aug 2015 08:53:42 -0500 +Subject: [PATCH 9/9] decrypt ssl traffic + +--- + qtbase/src/network/ssl/qsslsocket_openssl.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qtbase/src/network/ssl/qsslsocket_openssl.cpp b/qtbase/src/network/ssl/qsslsocket_openssl.cpp +index 049666b..e8342ab 100644 +--- a/qtbase/src/network/ssl/qsslsocket_openssl.cpp ++++ b/qtbase/src/network/ssl/qsslsocket_openssl.cpp +@@ -48,7 +48,7 @@ + ****************************************************************************/ + + //#define QSSLSOCKET_DEBUG +-//#define QT_DECRYPT_SSL_TRAFFIC ++#define QT_DECRYPT_SSL_TRAFFIC + + #include "qssl_p.h" + #include "qsslsocket_openssl_p.h" +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix new file mode 100644 index 000000000000..559607e3a9d8 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix @@ -0,0 +1,228 @@ +{ stdenv, fetchurl, substituteAll, makeWrapper +, srcs + +, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi +, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon +, fontconfig, freetype, openssl, dbus, glib, udev, libxml2, libxslt, pcre +, zlib, libjpeg, libpng, libtiff, sqlite, icu + +, coreutils, bison, flex, gdb, gperf, lndir, ruby +, python, perl, pkgconfig + +# optional dependencies +, cups ? null +, mysql ? null, postgresql ? null + +# options +, mesaSupported, mesa, mesa_glu +, buildDocs ? false +, buildExamples ? false +, buildTests ? false +, developerBuild ? false +, gtkStyle ? false, libgnomeui, GConf, gnome_vfs, gtk +, decryptSslTraffic ? false +}: + +with stdenv.lib; + +let + inherit (srcs.qt5) version; + system-x86_64 = elem stdenv.system platforms.x86_64; +in + +stdenv.mkDerivation { + + name = "qtbase-${version}"; + inherit version; + + srcs = with srcs; [ qt5.src qtbase.src ]; + + sourceRoot = "qt-everywhere-opensource-src-${version}"; + + postUnpack = '' + mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase + ''; + + prePatch = '' + substituteInPlace configure --replace /bin/pwd pwd + substituteInPlace qtbase/configure --replace /bin/pwd pwd + substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls + substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \ + --replace /usr/share/X11/locale ${libX11}/share/X11/locale \ + --replace /usr/lib/X11/locale ${libX11}/share/X11/locale + sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf + ''; + + patches = + let dlopen-gtkstyle = substituteAll { + src = ./0001-dlopen-gtkstyle.patch; + # substituteAll ignores env vars starting with capital letter + gconf = GConf; + inherit gnome_vfs libgnomeui gtk; + }; + dlopen-resolv = substituteAll { + src = ./0002-dlopen-resolv.patch; + glibc = stdenv.cc.libc; + }; + dlopen-gl = substituteAll { + src = ./0003-dlopen-gl.patch; + openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path"; + }; + tzdir = ./0004-tzdir.patch; + dlopen-libXcursor = substituteAll { + src = ./0005-dlopen-libXcursor.patch; + inherit libXcursor; + }; + dlopen-openssl = substituteAll { + src = ./0006-dlopen-openssl.patch; + inherit openssl; + }; + dlopen-dbus = substituteAll { + src = ./0007-dlopen-dbus.patch; + dbus_libs = dbus; + }; + xdg-config-dirs = ./0008-xdg-config-dirs.patch; + decrypt-ssl-traffic = ./0009-decrypt-ssl-traffic.patch; + in [ + dlopen-resolv dlopen-gl tzdir dlopen-libXcursor dlopen-openssl + dlopen-dbus xdg-config-dirs + ] + ++ optional gtkStyle dlopen-gtkstyle + ++ optional decryptSslTraffic decrypt-ssl-traffic; + + preConfigure = '' + export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH" + export MAKEFLAGS=-j$NIX_BUILD_CORES + + sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/src/corelib/Qt5Config.cmake.in" + sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/src/corelib/Qt5CoreMacros.cmake" + sed -i 's/NO_DEFAULT_PATH//' "qtbase/src/gui/Qt5GuiConfigExtras.cmake.in" + sed -i 's/PATHS.*NO_DEFAULT_PATH//' "qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in" + + export configureFlags+="-plugindir $out/lib/qt5/plugins -importdir $out/lib/qt5/imports -qmldir $out/lib/qt5/qml" + export configureFlags+=" -docdir $out/share/doc/qt5" + ''; + + prefixKey = "-prefix "; + + # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa + # TODO Remove obsolete and useless flags once the build will be totally mastered + configureFlags = '' + -verbose + -confirm-license + -opensource + + -release + -shared + -c++11 + ${optionalString developerBuild "-developer-build"} + -largefile + -accessibility + -rpath + -optimized-qmake + -strip + -reduce-relocations + -system-proxies + -pkg-config + + -gui + -widgets + -opengl desktop + -qml-debug + -nis + -iconv + -icu + -pch + -glib + -xcb + -qpa xcb + -${optionalString (cups == null) "no-"}cups + -${optionalString (!gtkStyle) "no-"}gtkstyle + + -no-eglfs + -no-directfb + -no-linuxfb + -no-kms + + ${optionalString (!system-x86_64) "-no-sse2"} + -no-sse3 + -no-ssse3 + -no-sse4.1 + -no-sse4.2 + -no-avx + -no-avx2 + -no-mips_dsp + -no-mips_dspr2 + + -system-zlib + -system-libpng + -system-libjpeg + -system-xcb + -system-xkbcommon + -openssl-linked + -dbus-linked + + -system-sqlite + -${if mysql != null then "plugin" else "no"}-sql-mysql + -${if postgresql != null then "plugin" else "no"}-sql-psql + + -make libs + -make tools + -${optionalString (buildExamples == false) "no"}make examples + -${optionalString (buildTests == false) "no"}make tests + ''; + + # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag + # if dependency paths contain the string "pq", which can occur in the hash. + # To prevent these failures, we need to override PostgreSQL detection. + PSQL_LIBS = optionalString (postgresql != null) "-L${postgresql}/lib -lpq"; + + propagatedBuildInputs = [ + xlibs.libXcomposite libX11 libxcb libXext libXrender libXi + fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre + zlib libjpeg libpng libtiff sqlite icu + xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon + ] + # Qt doesn't directly need GLU (just GL), but many apps use, it's small and + # doesn't remain a runtime-dep if not used + ++ optionals mesaSupported [ mesa mesa_glu ] + ++ optional (cups != null) cups + ++ optional (mysql != null) mysql.lib + ++ optional (postgresql != null) postgresql + ++ optionals gtkStyle [gnome_vfs libgnomeui gtk GConf]; + + buildInputs = + [ bison flex gperf ruby ] + ++ optional developerBuild gdb; + + nativeBuildInputs = [ python perl pkgconfig ]; + + propagatedNativeBuildInputs = [ makeWrapper ]; + + # freetype-2.5.4 changed signedness of some struct fields + NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"; + + postInstall = + '' + ${optionalString buildDocs '' + make docs && make install_docs + ''} + + # Don't retain build-time dependencies like gdb and ruby. + sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri + ''; + + inherit lndir; + setupHook = ./setup-hook.sh; + + enableParallelBuilding = true; + + meta = { + homepage = http://qt-project.org; + description = "A cross-platform application framework for C++"; + license = "GPL/LGPL"; + maintainers = with maintainers; [ bbenoist qknight ttuegel ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh new file mode 100644 index 000000000000..d9690559b42b --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtbase/setup-hook.sh @@ -0,0 +1,109 @@ +if [[ -z "$QMAKE" ]]; then + +linkDependencyDir() { + @lndir@/bin/lndir -silent "$1/$2" "$qtOut/$2" + if [[ -n "$NIX_QT_SUBMODULE" ]]; then + find "$1/$2" -printf "$2/%P\n" >> "$out/nix-support/qt-inputs" + fi +} + +addQtModule() { + if [[ -d "$1/mkspecs" ]]; then + # $1 is a Qt module + linkDependencyDir "$1" mkspecs + + for dir in bin include lib share; do + if [[ -d "$1/$dir" ]]; then + linkDependencyDir "$1" "$dir" + fi + done + fi + + if [[ -d "$1/lib/qt5/plugins" ]]; then + addToSearchPath QT_PLUGIN_PATH "$1/lib/qt5/plugins" + fi + + if [[ -d "$1/lib/qt5/imports" ]]; then + addToSearchPath QML_IMPORT_PATH "$1/lib/qt5/imports" + fi + + if [[ -d "$1/lib/qt5/qml" ]]; then + addToSearchPath QML2_IMPORT_PATH "$1/lib/qt5/qml" + fi + + if [[ -d "$1/share" ]]; then + addToSearchPath XDG_DATA_DIRS "$1/share" + fi +} + +rmQtModules() { + cat "$out/nix-support/qt-inputs" | while read file; do + if [[ -h "$out/$file" ]]; then + rm "$out/$file" + fi + done + + cat "$out/nix-support/qt-inputs" | while read file; do + if [[ -d "$out/$file" ]]; then + rmdir --ignore-fail-on-non-empty -p "$out/$file" + fi + done + + rm "$out/nix-support/qt-inputs" +} + +rmQMake() { + rm "$qtOut/bin/qmake" "$qtOut/bin/qt.conf" +} + +setQMakePath() { + export PATH="$qtOut/bin${PATH:+:}$PATH" +} + +wrapQtProgram() { + wrapProgram "$1" \ + --set QT_PLUGIN_PATH : "$QT_PLUGIN_PATH" \ + --set QML_IMPORT_PATH : "$QML_IMPORT_PATH" \ + --set QML2_IMPORT_PATH : "$QML2_IMPORT_PATH" \ + "$@" +} + +qtOut="" +if [[ -z "$NIX_QT_SUBMODULE" ]]; then + qtOut="$PWD/qmake-$name" +else + qtOut=$out +fi + +mkdir -p "$qtOut/bin" "$qtOut/mkspecs" "$qtOut/include" "$qtOut/nix-support" "$qtOut/lib" "$qtOut/share" + +cp "@out@/bin/qmake" "$qtOut/bin" +cat >"$qtOut/bin/qt.conf" < +Date: Sun, 23 Aug 2015 09:13:34 -0500 +Subject: [PATCH] glib-2.32 + +--- + src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +index 1f6d25e..087c3fb 100644 +--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h ++++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +@@ -81,7 +81,7 @@ + #include + #elif PLATFORM(GTK) + #include +-typedef struct _GMutex GMutex; ++typedef union _GMutex GMutex; + typedef struct _GCond GCond; + #endif + +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix new file mode 100644 index 000000000000..127766e2ebd6 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtscript/default.nix @@ -0,0 +1,7 @@ +{ qtSubmodule, qtbase, qttools }: + +qtSubmodule { + name = "qtscript"; + qtInputs = [ qtbase qttools ]; + patches = [ ./0001-glib-2.32.patch ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtsensors.nix b/pkgs/development/libraries/qt-5/5.5/qtsensors.nix new file mode 100644 index 000000000000..61e64dc47e4d --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtsensors.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase, qtdeclarative }: + +qtSubmodule { + name = "qtsensors"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch new file mode 100644 index 000000000000..6636cc9265a8 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtserialport/0001-dlopen-serialport-udev.patch @@ -0,0 +1,28 @@ +From d81c2c870b9bea8fb8e6b85baefb06542f568338 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +Date: Sun, 23 Aug 2015 09:16:02 -0500 +Subject: [PATCH] dlopen serialport udev + +--- + src/serialport/qtudev_p.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h +index 6f2cabd..81b9849 100644 +--- a/src/serialport/qtudev_p.h ++++ b/src/serialport/qtudev_p.h +@@ -105,9 +105,9 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN + inline bool resolveSymbols(QLibrary *udevLibrary) + { + if (!udevLibrary->isLoaded()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 1); + if (!udevLibrary->load()) { +- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0); ++ udevLibrary->setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); + if (!udevLibrary->load()) { + qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0); + return false; +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix new file mode 100644 index 000000000000..fa7383fc1e76 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix @@ -0,0 +1,7 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qtserialport"; + qtInputs = [ qtbase ]; + patches = [ ./0001-dlopen-serialport-udev.patch ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtsvg.nix b/pkgs/development/libraries/qt-5/5.5/qtsvg.nix new file mode 100644 index 000000000000..b9ccac7cf933 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtsvg.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qtsvg"; + qtInputs = [ qtbase ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qttools.nix b/pkgs/development/libraries/qt-5/5.5/qttools.nix new file mode 100644 index 000000000000..65edc4508128 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qttools.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qttools"; + qtInputs = [ qtbase ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qttranslations.nix b/pkgs/development/libraries/qt-5/5.5/qttranslations.nix new file mode 100644 index 000000000000..50fc8cf6826a --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qttranslations.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qttools }: + +qtSubmodule { + name = "qttranslations"; + qtInputs = [ qttools ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit-examples.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit-examples.nix new file mode 100644 index 000000000000..64f85c42d198 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit-examples.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qttools, qtwebkit }: + +qtSubmodule { + name = "qtwebkit-examples"; + qtInputs = [ qttools qtwebkit ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0001-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0001-dlopen-webkit-nsplugin.patch new file mode 100644 index 000000000000..0eeacce1bc05 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0001-dlopen-webkit-nsplugin.patch @@ -0,0 +1,53 @@ +From 862ce7d357a3ec32683ac6ec7c0ebdc9346b44ba Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +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 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0002-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0002-dlopen-webkit-gtk.patch new file mode 100644 index 000000000000..bb5d1f74364c --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0002-dlopen-webkit-gtk.patch @@ -0,0 +1,25 @@ +From 6a407d30357c2551abceac75c82f4a1688e47437 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +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 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch new file mode 100644 index 000000000000..f3b9d407bd72 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/0003-dlopen-webkit-udev.patch @@ -0,0 +1,31 @@ +From 864020dd47c3b6d532d9f26b82185904cf9324f2 Mon Sep 17 00:00:00 2001 +From: Thomas Tuegel +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("@udev@/lib/libudev"), 1); + m_loaded = m_libUdev.load(); + if (resolveMethods()) + return true; + +- m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0); ++ m_libUdev.setFileNameAndVersion(QStringLiteral("@udev@/lib/libudev"), 0); + m_loaded = m_libUdev.load(); + return resolveMethods(); + } +-- +2.5.0 + diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix new file mode 100644 index 000000000000..596c02d39afb --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix @@ -0,0 +1,33 @@ +{ qtSubmodule, stdenv, qtdeclarative, qtlocation, qtmultimedia, qtsensors +, fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt +, sqlite, udev +, 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; + inherit gtk gdk_pixbuf; + }; + dlopen-webkit-gtk = substituteAll { + src = ./0002-dlopen-webkit-gtk.patch; + inherit gtk; + }; + dlopen-webkit-udev = substituteAll { + src = ./0003-dlopen-webkit-udev.patch; + inherit udev; + }; + in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ] + ++ [ dlopen-webkit-udev ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix new file mode 100644 index 000000000000..fbdfbbcf0dbe --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtwebsockets.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase, qtdeclarative }: + +qtSubmodule { + name = "qtwebsockets"; + qtInputs = [ qtbase qtdeclarative ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix b/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix new file mode 100644 index 000000000000..a765161e2d7e --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtx11extras.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qtx11extras"; + qtInputs = [ qtbase ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix new file mode 100644 index 000000000000..9a8ddbba2bd2 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/qtxmlpatterns.nix @@ -0,0 +1,6 @@ +{ qtSubmodule, qtbase }: + +qtSubmodule { + name = "qtxmlpatterns"; + qtInputs = [ qtbase ]; +} diff --git a/pkgs/development/libraries/qt-5/5.5/srcs.nix b/pkgs/development/libraries/qt-5/5.5/srcs.nix new file mode 100644 index 000000000000..f1b148629d30 --- /dev/null +++ b/pkgs/development/libraries/qt-5/5.5/srcs.nix @@ -0,0 +1,261 @@ +# DO NOT EDIT! This file is generated automatically by manifest.sh +{ fetchurl, mirror }: + +{ + qtbase = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtbase-opensource-src-5.5.0.tar.xz"; + sha256 = "0r89axg4vnli0i5s9zxwpcpsdiz12kyx7y2vz0zx204wff8hcgw9"; + name = "qtbase-opensource-src-5.5.0.tar.xz"; + }; + }; + qtsensors = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtsensors-opensource-src-5.5.0.tar.xz"; + sha256 = "0jyiby8q3gyly5sxli4bncs69k1fk0vq9cpkfb4dla2bz6frhnld"; + name = "qtsensors-opensource-src-5.5.0.tar.xz"; + }; + }; + qtwinextras = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtwinextras-opensource-src-5.5.0.tar.xz"; + sha256 = "17kf8hcgr98agr4c5dy3xaifbwzk06ys0qcc6r8s4a40lxpf5vxm"; + name = "qtwinextras-opensource-src-5.5.0.tar.xz"; + }; + }; + qtxmlpatterns = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtxmlpatterns-opensource-src-5.5.0.tar.xz"; + sha256 = "0lzg1j7766bfvhdjd7cp0r6lff7xpzd3q5wrq6p5qg61f3384a37"; + name = "qtxmlpatterns-opensource-src-5.5.0.tar.xz"; + }; + }; + qtwayland = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtwayland-opensource-src-5.5.0.tar.xz"; + sha256 = "0sf8s6vficn7njmrlqcwad1hd3gfhzz84r75h9c53lyys7zkyypa"; + name = "qtwayland-opensource-src-5.5.0.tar.xz"; + }; + }; + qtwebchannel = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtwebchannel-opensource-src-5.5.0.tar.xz"; + sha256 = "139dxdm5kqdf0nbqchvcm70gb6nf9cfn04qv387s6a8bzw28dy4l"; + name = "qtwebchannel-opensource-src-5.5.0.tar.xz"; + }; + }; + qtwebsockets = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtwebsockets-opensource-src-5.5.0.tar.xz"; + sha256 = "1s4axvvqs1ajmb62hg4hyq4c9cckkpvgjfj0vkdxvrninaqnbm0s"; + name = "qtwebsockets-opensource-src-5.5.0.tar.xz"; + }; + }; + qtdeclarative = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtdeclarative-opensource-src-5.5.0.tar.xz"; + sha256 = "0wv7dzlll1k8070kkdriz668hxxg8ka4xv7dh67xlr3pck2i52l5"; + name = "qtdeclarative-opensource-src-5.5.0.tar.xz"; + }; + }; + qtcanvas3d = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtcanvas3d-opensource-src-5.5.0.tar.xz"; + sha256 = "1is5yikkmps0l03i75r3djgr93nmlbhs6nhawvd4mxrvkwscggj6"; + name = "qtcanvas3d-opensource-src-5.5.0.tar.xz"; + }; + }; + qttools = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qttools-opensource-src-5.5.0.tar.xz"; + sha256 = "0zf0z8r83255m5qximipywldf29p17qn7whfq9b48zzvhxqi8rav"; + name = "qttools-opensource-src-5.5.0.tar.xz"; + }; + }; + qtsvg = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtsvg-opensource-src-5.5.0.tar.xz"; + sha256 = "17z149inv8b83530s0vaas8rj5q7sv011i8pvznsnkfkcvndxvq0"; + name = "qtsvg-opensource-src-5.5.0.tar.xz"; + }; + }; + qt5 = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qt5-opensource-src-5.5.0.tar.xz"; + sha256 = "1rbjrg73lr3782nic5rjpmkx9wacnbw7ql7wxwmsz9fpmpafs267"; + name = "qt5-opensource-src-5.5.0.tar.xz"; + }; + }; + qtscript = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtscript-opensource-src-5.5.0.tar.xz"; + sha256 = "12vyhs6y7c869gg0hmh56hjz5wkmg5dbb7dlv71idjrfigm34f9l"; + name = "qtscript-opensource-src-5.5.0.tar.xz"; + }; + }; + qt3d = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qt3d-opensource-src-5.5.0.tar.xz"; + sha256 = "13jnqg4asik3jkw5csm0p9rl5b31ism7yzyndyyyjygjnvxm8v5z"; + name = "qt3d-opensource-src-5.5.0.tar.xz"; + }; + }; + qtgraphicaleffects = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtgraphicaleffects-opensource-src-5.5.0.tar.xz"; + sha256 = "1vj7l7qfqprmdd5ay9p32dfy3cqxbrilhqza9wk7yy8lfi752hzi"; + name = "qtgraphicaleffects-opensource-src-5.5.0.tar.xz"; + }; + }; + qtmacextras = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtmacextras-opensource-src-5.5.0.tar.xz"; + sha256 = "1r4pjcw07j4n110vf3amwbj1x31ncl3h9c5kfampn4fb3b0vjx6j"; + name = "qtmacextras-opensource-src-5.5.0.tar.xz"; + }; + }; + qtx11extras = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtx11extras-opensource-src-5.5.0.tar.xz"; + sha256 = "0ydrs0vdcapbdf2d8sj6pvxj11p0id684c6ywbq53dghr72wxcxw"; + name = "qtx11extras-opensource-src-5.5.0.tar.xz"; + }; + }; + qttranslations = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qttranslations-opensource-src-5.5.0.tar.xz"; + sha256 = "11mzc3403r81krldlmnr9ap07lgqnz67bmvblp6gxjq1w4q1gkjs"; + name = "qttranslations-opensource-src-5.5.0.tar.xz"; + }; + }; + qtquickcontrols = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtquickcontrols-opensource-src-5.5.0.tar.xz"; + sha256 = "1sn2g3sazd3l3zi8m8a9qdakm9fic44m259iyf97yychnfk6lqfz"; + name = "qtquickcontrols-opensource-src-5.5.0.tar.xz"; + }; + }; + qtwebkit = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtwebkit-opensource-src-5.5.0.tar.xz"; + sha256 = "1v7fv4188rppd1l1nmhdkhlg2x1q9d5shy63n1l0l13x6jb4k5hp"; + name = "qtwebkit-opensource-src-5.5.0.tar.xz"; + }; + }; + qtserialport = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtserialport-opensource-src-5.5.0.tar.xz"; + sha256 = "0rm8xwq7fr6q9gwhqqp3b4y9n7mqhcgr40f9f5dqkhy12chjs3m6"; + name = "qtserialport-opensource-src-5.5.0.tar.xz"; + }; + }; + qtmultimedia = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtmultimedia-opensource-src-5.5.0.tar.xz"; + sha256 = "0nrmhmgwxc1flzg9qnjzpa6qq06gl7x8cskfj2ibnx5dkgaipgx8"; + name = "qtmultimedia-opensource-src-5.5.0.tar.xz"; + }; + }; + qtwebkit-examples = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtwebkit-examples-opensource-src-5.5.0.tar.xz"; + sha256 = "04mxshf730jkmp3cma65vb0m43y8y9y7l31rhbbnmq78avxn8mfj"; + name = "qtwebkit-examples-opensource-src-5.5.0.tar.xz"; + }; + }; + qtquick1 = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtquick1-opensource-src-5.5.0.tar.xz"; + sha256 = "0b7s1pdlbf1a7mz3pkdg7y81nl5s5670lg6majich2v7w4rknmnv"; + name = "qtquick1-opensource-src-5.5.0.tar.xz"; + }; + }; + qtwebengine = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtwebengine-opensource-src-5.5.0.tar.xz"; + sha256 = "0nnnrcrj0d0ksynsl60zv0z1vq7j123xv6s1lgwq6hkl704fc0yp"; + name = "qtwebengine-opensource-src-5.5.0.tar.xz"; + }; + }; + qtactiveqt = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtactiveqt-opensource-src-5.5.0.tar.xz"; + sha256 = "17nh4gi562cs8rpypvnzld87g407qhxi9gpdcvkjzm4mbhqwa9ql"; + name = "qtactiveqt-opensource-src-5.5.0.tar.xz"; + }; + }; + qtimageformats = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtimageformats-opensource-src-5.5.0.tar.xz"; + sha256 = "0mc9mxrggnhvvgkl7gf8sp6cn9g5ffhi77krcraxhzavmk9d2yb4"; + name = "qtimageformats-opensource-src-5.5.0.tar.xz"; + }; + }; + qtlocation = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtlocation-opensource-src-5.5.0.tar.xz"; + sha256 = "036bxsjscvwnpy72cvlzv8dday9r76mvpbj9r8fhwhgxakspyb8a"; + name = "qtlocation-opensource-src-5.5.0.tar.xz"; + }; + }; + qtandroidextras = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtandroidextras-opensource-src-5.5.0.tar.xz"; + sha256 = "1dnmacpvxrz11nc4hm702p88f1hy5prabvdjx1zwrf55724lc8q2"; + name = "qtandroidextras-opensource-src-5.5.0.tar.xz"; + }; + }; + qtenginio = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtenginio-opensource-src-5.5.0.tar.xz"; + sha256 = "080m3zr5av5bc2gxqyb648hy07jj3rdybkfgh5gcn2sm4qm4n77n"; + name = "qtenginio-opensource-src-5.5.0.tar.xz"; + }; + }; + qtconnectivity = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtconnectivity-opensource-src-5.5.0.tar.xz"; + sha256 = "00j3abhvq9bg4v5z25b7jsr5c2w7hdmnljn875013p0i9s9xvkzi"; + name = "qtconnectivity-opensource-src-5.5.0.tar.xz"; + }; + }; + qtdoc = { + version = "5.5.0"; + src = fetchurl { + url = "${mirror}/official_releases/qt/5.5/5.5.0/submodules/qtdoc-opensource-src-5.5.0.tar.xz"; + sha256 = "19vgx1h45g7plj23sckd52npsl8i14fknl5gg103p9xpbq8lw5vz"; + name = "qtdoc-opensource-src-5.5.0.tar.xz"; + }; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dbf7baf21275..0b071c9e4f46 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7899,6 +7899,8 @@ let }); qt54 = recurseIntoAttrs (callPackage ../development/libraries/qt-5/5.4 {}); + qt55 = recurseIntoAttrs (import ../development/libraries/qt-5/5.5 { inherit pkgs; }); + qt5 = qt54;