2016-07-29 22:33:02 +01:00
|
|
|
/*
|
|
|
|
|
|
|
|
# Updates
|
|
|
|
|
|
|
|
Before a major version update, make a copy of this directory. (We like to
|
|
|
|
keep the old version around for a short time after major updates.) Add a
|
|
|
|
top-level attribute to `top-level/all-packages.nix`.
|
|
|
|
|
|
|
|
1. Update the URL in `maintainers/scripts/generate-qt.sh`.
|
|
|
|
2. From the top of the Nixpkgs tree, run
|
|
|
|
`./maintainers/scripts/generate-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
|
|
|
|
3. Check that the new packages build correctly.
|
|
|
|
4. Commit the changes and open a pull request.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2017-02-25 15:44:01 +00:00
|
|
|
{
|
|
|
|
newScope,
|
|
|
|
stdenv, fetchurl, makeSetupHook, makeWrapper,
|
|
|
|
bison, cups ? null, harfbuzz, mesa, perl,
|
|
|
|
gstreamer, gst-plugins-base,
|
|
|
|
|
|
|
|
# options
|
|
|
|
developerBuild ? false,
|
|
|
|
decryptSslTraffic ? false,
|
2016-07-29 22:33:02 +01:00
|
|
|
}:
|
|
|
|
|
|
|
|
with stdenv.lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
|
|
|
|
mirror = "http://download.qt.io";
|
2017-02-25 15:44:01 +00:00
|
|
|
srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
|
2016-07-29 22:33:02 +01:00
|
|
|
|
|
|
|
qtSubmodule = args:
|
|
|
|
let
|
|
|
|
inherit (args) name;
|
|
|
|
version = args.version or srcs."${name}".version;
|
|
|
|
src = args.src or srcs."${name}".src;
|
2017-02-25 15:44:01 +00:00
|
|
|
inherit (stdenv) mkDerivation;
|
2016-07-29 22:33:02 +01:00
|
|
|
in mkDerivation (args // {
|
|
|
|
name = "${name}-${version}";
|
|
|
|
inherit src;
|
|
|
|
|
|
|
|
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
|
|
|
|
nativeBuildInputs =
|
|
|
|
(args.nativeBuildInputs or [])
|
2017-02-25 15:44:01 +00:00
|
|
|
++ [ perl self.qmakeHook ];
|
2016-07-29 22:33:02 +01:00
|
|
|
|
|
|
|
NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
|
|
|
|
|
2016-08-26 20:52:15 +01:00
|
|
|
outputs = args.outputs or [ "out" "dev" ];
|
2016-07-29 22:33:02 +01:00
|
|
|
setOutputFlags = args.setOutputFlags or false;
|
|
|
|
|
2016-12-03 15:53:18 +00:00
|
|
|
setupHook = ../qtsubmodule-setup-hook.sh;
|
2016-07-29 22:33:02 +01:00
|
|
|
|
|
|
|
enableParallelBuilding = args.enableParallelBuilding or true;
|
|
|
|
|
|
|
|
meta = self.qtbase.meta // (args.meta or {});
|
|
|
|
});
|
|
|
|
|
|
|
|
addPackages = self: with self;
|
|
|
|
let
|
|
|
|
callPackage = self.newScope { inherit qtSubmodule srcs; };
|
|
|
|
in {
|
|
|
|
|
|
|
|
qtbase = callPackage ./qtbase {
|
|
|
|
inherit (srcs.qtbase) src version;
|
2017-02-25 15:44:01 +00:00
|
|
|
inherit bison cups harfbuzz mesa;
|
2016-07-29 22:33:02 +01:00
|
|
|
inherit developerBuild decryptSslTraffic;
|
|
|
|
};
|
|
|
|
|
|
|
|
qtconnectivity = callPackage ./qtconnectivity.nix {};
|
|
|
|
qtdeclarative = callPackage ./qtdeclarative {};
|
|
|
|
qtdoc = callPackage ./qtdoc.nix {};
|
|
|
|
qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {};
|
|
|
|
qtimageformats = callPackage ./qtimageformats.nix {};
|
|
|
|
qtlocation = callPackage ./qtlocation.nix {};
|
|
|
|
qtmultimedia = callPackage ./qtmultimedia.nix {
|
2017-02-25 15:44:01 +00:00
|
|
|
inherit gstreamer gst-plugins-base;
|
2016-07-29 22:33:02 +01:00
|
|
|
};
|
2017-02-26 20:59:00 +00:00
|
|
|
qtquick1 = null;
|
2016-07-29 22:33:02 +01:00
|
|
|
qtquickcontrols = callPackage ./qtquickcontrols.nix {};
|
2016-12-30 02:48:06 +00:00
|
|
|
qtquickcontrols2 = callPackage ./qtquickcontrols2.nix {};
|
2016-07-29 22:33:02 +01:00
|
|
|
qtscript = callPackage ./qtscript {};
|
|
|
|
qtsensors = callPackage ./qtsensors.nix {};
|
|
|
|
qtserialport = callPackage ./qtserialport {};
|
|
|
|
qtsvg = callPackage ./qtsvg.nix {};
|
2016-08-08 14:29:20 +01:00
|
|
|
qttools = callPackage ./qttools {};
|
2016-07-29 22:33:02 +01:00
|
|
|
qttranslations = callPackage ./qttranslations.nix {};
|
2016-08-28 05:57:43 +01:00
|
|
|
qtwayland = callPackage ./qtwayland.nix {};
|
2016-07-29 22:33:02 +01:00
|
|
|
qtwebchannel = callPackage ./qtwebchannel.nix {};
|
2016-12-07 19:12:47 +00:00
|
|
|
qtwebengine = callPackage ./qtwebengine {};
|
2016-08-17 14:38:27 +01:00
|
|
|
qtwebkit = callPackage ./qtwebkit {};
|
2016-07-29 22:33:02 +01:00
|
|
|
qtwebsockets = callPackage ./qtwebsockets.nix {};
|
|
|
|
qtx11extras = callPackage ./qtx11extras.nix {};
|
|
|
|
qtxmlpatterns = callPackage ./qtxmlpatterns.nix {};
|
|
|
|
|
|
|
|
env = callPackage ../qt-env.nix {};
|
|
|
|
full = env "qt-${qtbase.version}" [
|
|
|
|
qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
|
|
|
|
qtimageformats qtlocation qtmultimedia qtquickcontrols qtscript
|
2016-08-28 05:57:43 +01:00
|
|
|
qtsensors qtserialport qtsvg qttools qttranslations qtwayland
|
|
|
|
qtwebsockets qtx11extras qtxmlpatterns
|
2016-07-29 22:33:02 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
makeQtWrapper =
|
|
|
|
makeSetupHook
|
|
|
|
{ deps = [ makeWrapper ]; }
|
2016-12-03 15:57:17 +00:00
|
|
|
../make-qt-wrapper.sh;
|
2016-07-29 22:33:02 +01:00
|
|
|
|
|
|
|
qmakeHook =
|
|
|
|
makeSetupHook
|
2016-08-31 13:23:24 +01:00
|
|
|
{ deps = [ self.qtbase.dev ]; }
|
2016-12-03 15:55:39 +00:00
|
|
|
../qmake-hook.sh;
|
2016-07-29 22:33:02 +01:00
|
|
|
|
|
|
|
};
|
|
|
|
|
2017-02-25 15:44:01 +00:00
|
|
|
self = makeScope newScope addPackages;
|
2016-07-29 22:33:02 +01:00
|
|
|
|
|
|
|
in self
|