summary refs log tree commit diff
path: root/pkgs/development/libraries/qt-6/qtModule.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/qt-6/qtModule.nix')
-rw-r--r--pkgs/development/libraries/qt-6/qtModule.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/development/libraries/qt-6/qtModule.nix b/pkgs/development/libraries/qt-6/qtModule.nix
new file mode 100644
index 00000000000..04349ed68ad
--- /dev/null
+++ b/pkgs/development/libraries/qt-6/qtModule.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, perl, cmake, ninja, writeText }:
+
+{ self, srcs, patches ? [ ] }:
+
+args:
+
+let
+  inherit (args) pname;
+  version = args.version or srcs.${pname}.version;
+  src = args.src or srcs.${pname}.src;
+in
+stdenv.mkDerivation (args // {
+  inherit pname version src;
+  patches = args.patches or patches.${pname} or [ ];
+
+  buildInputs = args.buildInputs or [ ];
+  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [
+    perl
+    cmake
+    ninja
+  ];
+  propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or [ ]);
+
+  outputs = args.outputs or [ "out" "dev" ];
+
+  dontWrapQtApps = args.dontWrapQtApps or true;
+  postInstall = ''
+    if [ ! -z "$dev" ]; then
+      mkdir "$dev"
+      for dir in bin libexec mkspecs
+      do
+        moveToOutput "$dir" "$dev"
+      done
+    fi
+    ${args.postInstall or ""}
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.qt.io/";
+    description = "A cross-platform application framework for C++";
+    license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
+    maintainers = with maintainers; [ milahu nickcao ];
+    platforms = platforms.linux;
+  } // (args.meta or { });
+})