about summary refs log tree commit diff
path: root/nixpkgs/pkgs/games/dxx-rebirth/full.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/games/dxx-rebirth/full.nix')
-rw-r--r--nixpkgs/pkgs/games/dxx-rebirth/full.nix30
1 files changed, 30 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/dxx-rebirth/full.nix b/nixpkgs/pkgs/games/dxx-rebirth/full.nix
new file mode 100644
index 000000000000..020a4593de24
--- /dev/null
+++ b/nixpkgs/pkgs/games/dxx-rebirth/full.nix
@@ -0,0 +1,30 @@
+{ stdenv, makeWrapper
+, dxx-rebirth, descent1-assets, descent2-assets }:
+
+let
+  generic = ver: assets: stdenv.mkDerivation rec {
+    name = "d${toString ver}x-rebirth-full-${assets.version}";
+
+    nativeBuildInputs = [ makeWrapper ];
+
+    buildCommand = ''
+      mkdir -p $out/bin
+
+      makeWrapper ${dxx-rebirth}/bin/d${toString ver}x-rebirth $out/bin/descent${toString ver} \
+        --add-flags "-hogdir ${assets}/share/games/descent${toString ver}"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Descent ${toString ver} using the DXX-Rebirth project engine and game assets from GOG";
+      homepage    = https://www.dxx-rebirth.com/;
+      license     = with licenses; [ free unfree ];
+      maintainers = with maintainers; [ peterhoeg ];
+      platforms   = with platforms; linux;
+      hydraPlatforms = [];
+    };
+  };
+
+in {
+  d1x-rebirth-full = generic 1 descent1-assets;
+  d2x-rebirth-full = generic 2 descent2-assets;
+}