1{ lib
2, stdenv
3, cmake
4, ninja
5, perl
6, moveBuildTree
7, srcs
8, patches ? [ ]
9}:
10
11args:
12
13let
14 inherit (args) pname;
15 version = args.version or srcs.${pname}.version;
16 src = args.src or srcs.${pname}.src;
17in
18stdenv.mkDerivation (args // {
19 inherit pname version src;
20 patches = args.patches or patches.${pname} or [ ];
21
22 buildInputs = args.buildInputs or [ ];
23 nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ cmake ninja perl ]
24 ++ lib.optionals stdenv.isDarwin [ moveBuildTree ];
25 propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or [ ]);
26
27 moveToDev = false;
28
29 outputs = args.outputs or [ "out" "dev" ];
30
31 dontWrapQtApps = args.dontWrapQtApps or true;
32
33 meta = with lib; {
34 homepage = "https://www.qt.io/";
35 description = "A cross-platform application framework for C++";
36 license = with licenses; [ fdl13Plus gpl2Plus lgpl21Plus lgpl3Plus ];
37 maintainers = with maintainers; [ milahu nickcao ];
38 platforms = platforms.unix;
39 } // (args.meta or { });
40})