summary refs log tree commit diff
path: root/pkgs/development/libraries/qt-5/5.3-submodules/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/qt-5/5.3-submodules/default.nix')
-rw-r--r--pkgs/development/libraries/qt-5/5.3-submodules/default.nix330
1 files changed, 330 insertions, 0 deletions
diff --git a/pkgs/development/libraries/qt-5/5.3-submodules/default.nix b/pkgs/development/libraries/qt-5/5.3-submodules/default.nix
new file mode 100644
index 00000000000..607da4f589a
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.3-submodules/default.nix
@@ -0,0 +1,330 @@
+{ autonix, fetchurl, newScope, stdenv
+
+, bison2
+, mesa_noglu
+, cups
+, gnome
+
+# options
+, developerBuild ? false
+}:
+
+with autonix;
+with stdenv.lib;
+
+let
+  manifest =
+    importManifest ./manifest.nix { mirror = "http://download.qt.io"; };
+  srcs =
+    mapAttrs (name: src: fetchurl { inherit (src) url sha256 name; }) manifest;
+
+  version = "5.3.2";
+
+  callPackage = newScope (self // { inherit qtSubmodule; });
+
+  qtSubmodule = callPackage ./qt-submodule.nix {
+    inherit srcs version;
+    inherit (stdenv) mkDerivation;
+  };
+
+  self =
+    {
+
+      activeqt = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtactiveqt";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+      base = callPackage ./qtbase.nix {
+        mesa = mesa_noglu;
+        cups = if stdenv.isLinux then cups else null;
+        # GNOME dependencies are not used unless gtkStyle == true
+        inherit (gnome) libgnomeui GConf gnome_vfs;
+        bison = bison2; # error: too few arguments to function 'int yylex(...
+        inherit developerBuild srcs version;
+      };
+
+      connectivity = callPackage
+        (
+          { qtSubmodule, base, declarative }:
+
+          qtSubmodule {
+            name = "qtconnectivity";
+            qtInputs = [ base declarative ];
+          }
+        )
+        {};
+
+      declarative = callPackage
+        (
+          { qtSubmodule, python, base, svg, xmlpatterns }:
+
+          qtSubmodule {
+            name = "qtdeclarative";
+            qtInputs = [ base svg xmlpatterns ];
+            nativeBuildInputs = [ python ];
+          }
+        )
+        {};
+
+      doc = callPackage
+        (
+          { qtSubmodule, declarative }:
+
+          qtSubmodule {
+            name = "qtdoc";
+            qtInputs = [ declarative ];
+          }
+        )
+        {};
+
+      enginio = callPackage
+        (
+          { qtSubmodule, declarative }:
+
+          qtSubmodule {
+            name = "qtenginio";
+            qtInputs = [ declarative ];
+          }
+        )
+        {};
+
+      graphicaleffects = callPackage
+        (
+          { qtSubmodule, declarative }:
+
+          qtSubmodule {
+            name = "qtgraphicaleffects";
+            qtInputs = [ declarative ];
+          }
+        )
+        {};
+
+      imageformats = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtimageformats";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+      location = callPackage
+        (
+          { qtSubmodule, base, multimedia }:
+
+          qtSubmodule {
+            name = "qtlocation";
+            qtInputs = [ base multimedia ];
+          }
+        )
+        {};
+
+      multimedia = callPackage
+        (
+          { qtSubmodule, base, declarative
+          , alsaLib, gstreamer, gst_plugins_base, pulseaudio
+          }:
+
+          qtSubmodule {
+            name = "qtmultimedia";
+            qtInputs = [ base declarative ];
+            buildInputs = [
+              alsaLib gstreamer gst_plugins_base pulseaudio
+            ];
+          }
+        )
+        {};
+
+      quick1 = callPackage
+        (
+          { qtSubmodule, script, svg, webkit, xmlpatterns }:
+
+          qtSubmodule {
+            name = "qtquick1";
+            qtInputs = [ script svg webkit xmlpatterns ];
+          }
+        )
+        {};
+
+      quickcontrols = callPackage
+        (
+          { qtSubmodule, declarative }:
+
+          qtSubmodule {
+            name = "qtquickcontrols";
+            qtInputs = [ declarative ];
+          }
+        )
+        {};
+
+      script = callPackage
+        (
+          { qtSubmodule, base, tools }:
+
+          qtSubmodule {
+            name = "qtscript";
+            qtInputs = [ base tools ];
+            patchFlags = "-p2"; # patches originally for monolithic build
+            patches = [ ./0003-glib-2.32.patch ];
+          }
+        )
+        {};
+
+      sensors = callPackage
+        (
+          { qtSubmodule, base, declarative }:
+
+          qtSubmodule {
+            name = "qtsensors";
+            qtInputs = [ base declarative ];
+          }
+        )
+        {};
+
+      serialport = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtserialport";
+            qtInputs = [ base ];
+            patchFlags = "-p2"; # patches originally for monolithic build
+            patches = [ ./0009-dlopen-serialport-udev.patch ];
+          }
+        )
+        {};
+
+      svg = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtsvg";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+      tools = callPackage
+        (
+          { qtSubmodule, activeqt, base, declarative, webkit }:
+
+          qtSubmodule {
+            name = "qttools";
+            qtInputs = [ activeqt base declarative webkit ];
+          }
+        )
+        {};
+
+      translations = callPackage
+        (
+          { qtSubmodule, tools }:
+
+          qtSubmodule {
+            name = "qttranslations";
+            qtInputs = [ tools ];
+          }
+        )
+        {};
+
+      webkit = callPackage
+        (
+          { qtSubmodule, declarative, location, multimedia, sensors
+          , fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
+          , sqlite, udev
+          , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby
+          , substituteAll
+          , flashplayerFix ? false
+          }:
+
+          qtSubmodule {
+            name = "qtwebkit";
+            qtInputs = [ declarative location multimedia sensors ];
+            buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite ];
+            nativeBuildInputs = [
+              bison2 flex gdb gperf perl pkgconfig python ruby
+            ];
+            patchFlags = "-p2"; # patches originally for monolithic build
+            patches =
+              optional flashplayerFix
+                (substituteAll
+                  {
+                    src = ./0002-dlopen-webkit-nsplugin.patch;
+                    inherit gtk gdk_pixbuf;
+                  }
+                )
+              ++ optional flashplayerFix
+                (substituteAll
+                  {
+                    src = ./0007-dlopen-webkit-gtk.patch;
+                    inherit gtk;
+                  }
+                )
+              ++ [
+                (substituteAll
+                  {
+                    src = ./0008-dlopen-webkit-udev.patch;
+                    inherit udev;
+                  }
+                )
+              ];
+          }
+        )
+        {};
+
+      webkit-examples = callPackage
+        (
+          { qtSubmodule, tools, webkit }:
+
+          qtSubmodule {
+            name = "qtwebkit-examples";
+            qtInputs = [ tools webkit ];
+          }
+        )
+        {};
+
+      websockets = callPackage
+        (
+          { qtSubmodule, base, declarative }:
+
+          qtSubmodule {
+            name = "qtwebsockets";
+            qtInputs = [ base declarative ];
+          }
+        )
+        {};
+
+      x11extras = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtx11extras";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+      xmlpatterns = callPackage
+        (
+          { qtSubmodule, base }:
+
+          qtSubmodule {
+            name = "qtxmlpatterns";
+            qtInputs = [ base ];
+          }
+        )
+        {};
+
+    };
+
+in self