nixpkgs-suyu/pkgs/development/libraries/qt-5/5.6/default.nix

160 lines
5 KiB
Nix
Raw Normal View History

2016-05-03 01:50:19 +02:00
/*
2017-02-26 01:24:13 +01:00
# New packages
READ THIS FIRST
This module is for official packages in Qt 5. All available packages are listed
in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see below).
2016-05-03 01:50:19 +02:00
2017-02-26 01:24:13 +01:00
IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
Many of the packages released upstream are not yet built in Nixpkgs due to lack
of demand. To add a Nixpkgs build for an upstream package, copy one of the
existing packages here and modify it as necessary.
# Updates
2016-05-03 01:50:19 +02:00
2017-02-26 01:24:13 +01:00
1. Update the URL in `./fetch.sh`.
2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-5/$VERSION/`
from the top of the Nixpkgs tree.
3. Update `qtCompatVersion` below if the minor version number changes.
4. Check that the new packages build correctly.
5. Commit the changes and open a pull request.
2016-05-03 01:50:19 +02:00
*/
{
newScope,
stdenv, fetchurl, makeSetupHook, makeWrapper,
bison, cups ? null, harfbuzz, mesa, perl,
gstreamer, gst-plugins-base,
# options
developerBuild ? false,
decryptSslTraffic ? false,
debug ? null,
2016-05-03 01:50:19 +02:00
}:
with stdenv.lib;
let
qtCompatVersion = "5.6";
2016-05-03 01:50:19 +02:00
mirror = "http://download.qt.io";
srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
2016-05-03 01:50:19 +02:00
mkDerivation = args:
stdenv.mkDerivation (args // {
outputs = args.outputs or [ "out" "dev" ];
qmakeFlags =
(args.qmakeFlags or [])
++ optional (debug != null)
(if debug then "CONFIG+=debug" else "CONFIG+=release");
cmakeFlags =
(args.cmakeFlags or [])
++ [ "-DBUILD_TESTING=OFF" ]
++ optional (debug != null)
(if debug then "-DCMAKE_BUILD_TYPE=Debug"
else "-DCMAKE_BUILD_TYPE=Release");
enableParallelBuilding = args.enableParallelBuilding or true;
});
2016-05-03 01:50:19 +02:00
qtSubmodule = args:
let
inherit (args) name;
version = args.version or srcs."${name}".version;
src = args.src or srcs."${name}".src;
in mkDerivation (args // {
name = "${name}-${version}";
inherit src;
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
nativeBuildInputs =
(args.nativeBuildInputs or [])
2017-06-02 17:40:19 +02:00
++ [ perl self.qmake ];
2016-05-03 01:50:19 +02:00
NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
setOutputFlags = args.setOutputFlags or false;
setupHook = ../qtsubmodule-setup-hook.sh;
2017-05-19 01:19:42 +02:00
meta = {
homepage = http://www.qt.io;
description = "A cross-platform application framework for C++";
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
maintainers = with maintainers; [ qknight ttuegel periklis ];
platforms = platforms.unix;
} // (args.meta or {});
2016-05-03 01:50:19 +02:00
});
addPackages = self: with self;
let
callPackage = self.newScope { inherit qtCompatVersion qtSubmodule srcs; };
2016-05-03 01:50:19 +02:00
in {
inherit mkDerivation;
2016-05-03 01:50:19 +02:00
qtbase = callPackage ./qtbase {
inherit bison cups harfbuzz mesa;
2016-05-03 01:50:19 +02:00
inherit developerBuild decryptSslTraffic;
};
/* qt3d = not packaged */
/* qtactiveqt = not packaged */
/* qtandroidextras = not packaged */
/* qtcanvas3d = not packaged */
qtconnectivity = callPackage ./qtconnectivity.nix {};
qtdeclarative = callPackage ./qtdeclarative {};
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 {
inherit gstreamer gst-plugins-base;
2016-05-03 01:50:19 +02:00
};
qtquick1 = null;
2016-05-03 01:50:19 +02:00
qtquickcontrols = callPackage ./qtquickcontrols.nix {};
2017-02-26 01:27:49 +01:00
qtquickcontrols2 = callPackage ./qtquickcontrols2.nix {};
2016-05-03 01:50:19 +02:00
qtscript = callPackage ./qtscript {};
qtsensors = callPackage ./qtsensors.nix {};
qtserialport = callPackage ./qtserialport {};
qtsvg = callPackage ./qtsvg.nix {};
2016-08-08 15:29:20 +02:00
qttools = callPackage ./qttools {};
2016-05-03 01:50:19 +02:00
qttranslations = callPackage ./qttranslations.nix {};
2016-08-28 06:57:43 +02:00
qtwayland = callPackage ./qtwayland.nix {};
2016-06-26 22:48:03 +02:00
qtwebchannel = callPackage ./qtwebchannel.nix {};
qtwebengine = callPackage ./qtwebengine {};
2016-08-17 15:37:27 +02:00
qtwebkit = callPackage ./qtwebkit {};
2016-05-03 01:50:19 +02:00
qtwebsockets = callPackage ./qtwebsockets.nix {};
/* qtwinextras = not packaged */
qtx11extras = callPackage ./qtx11extras.nix {};
qtxmlpatterns = callPackage ./qtxmlpatterns.nix {};
env = callPackage ../qt-env.nix {};
full = env "qt-${qtbase.version}" [
qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects
qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
qtscript qtsensors qtserialport qtsvg qttools qttranslations qtwayland
qtwebchannel qtwebengine qtwebkit qtwebsockets qtx11extras qtxmlpatterns
2016-05-03 01:50:19 +02:00
];
qmake = makeSetupHook {
deps = [ self.qtbase.dev ];
substitutions = { inherit (stdenv) isDarwin; };
} ../qmake-hook.sh;
2016-05-03 01:50:19 +02:00
};
self = makeScope newScope addPackages;
2016-05-03 01:50:19 +02:00
in self