lol
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 =
26 (lib.warnIf (args ? qtInputs) "qt6.qtModule's qtInputs argument is deprecated" args.qtInputs or []) ++
27 (args.propagatedBuildInputs or []);
28
29 moveToDev = false;
30
31 outputs = args.outputs or [ "out" "dev" ];
32
33 dontWrapQtApps = args.dontWrapQtApps or true;
34
35 meta = with lib; {
36 homepage = "https://www.qt.io/";
37 description = "A cross-platform application framework for C++";
38 license = with licenses; [ fdl13Plus gpl2Plus lgpl21Plus lgpl3Plus ];
39 maintainers = with maintainers; [ milahu nickcao ];
40 platforms = platforms.unix;
41 } // (args.meta or { });
42})