diff options
author | Peter Hoeg <peter@hoeg.com> | 2018-02-12 22:31:41 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-12 22:31:41 +0800 |
commit | 8016f9b4c90a99d366fe7d3666254c180f3dc834 (patch) | |
tree | 7466a012e0baa2ec50c919a0872850c72f069154 /pkgs/games | |
parent | 8a60770f6b31211ba3d68b812a285fdf619a544f (diff) | |
parent | e88284be2a698d9272ce90d2f5ce5b8d4d24465c (diff) | |
download | nixlib-8016f9b4c90a99d366fe7d3666254c180f3dc834.tar nixlib-8016f9b4c90a99d366fe7d3666254c180f3dc834.tar.gz nixlib-8016f9b4c90a99d366fe7d3666254c180f3dc834.tar.bz2 nixlib-8016f9b4c90a99d366fe7d3666254c180f3dc834.tar.lz nixlib-8016f9b4c90a99d366fe7d3666254c180f3dc834.tar.xz nixlib-8016f9b4c90a99d366fe7d3666254c180f3dc834.tar.zst nixlib-8016f9b4c90a99d366fe7d3666254c180f3dc834.zip |
Merge pull request #34611 from peterhoeg/p/descent
descent 1 & 2: use assets from gog.com with the dxx-rebirth project
Diffstat (limited to 'pkgs/games')
-rw-r--r-- | pkgs/games/dxx-rebirth/assets.nix | 55 | ||||
-rw-r--r-- | pkgs/games/dxx-rebirth/full.nix | 30 |
2 files changed, 85 insertions, 0 deletions
diff --git a/pkgs/games/dxx-rebirth/assets.nix b/pkgs/games/dxx-rebirth/assets.nix new file mode 100644 index 000000000000..1fd64f5b00d0 --- /dev/null +++ b/pkgs/games/dxx-rebirth/assets.nix @@ -0,0 +1,55 @@ +{ stdenv, requireFile, gogUnpackHook }: + +let + generic = ver: source: let + pname = "descent${toString ver}"; + in stdenv.mkDerivation rec { + name = "${pname}-assets-${version}"; + version = "2.0.0.7"; + + src = requireFile rec { + name = "setup_descent12_${version}.exe"; + sha256 = "1r1drbfda6czg21f9qqiiwgnkpszxgmcn5bafp5ljddh34swkn3f"; + message = '' + While the Descent ${toString ver} game engine is free, the game assets are not. + + Please purchase the game on gog.com and download the Windows installer. + + Once you have downloaded the file, please use the following command and re-run the + installation: + + nix-prefetch-url file://\$PWD/${name} + ''; + }; + + nativeBuildInputs = [ gogUnpackHook ]; + + dontBuild = true; + dontFixup = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/share/{games/${pname},doc/${pname}/examples} + pushd "app/${source}" + mv dosbox*.conf $out/share/doc/${pname}/examples + mv *.txt *.pdf $out/share/doc/${pname} + cp -r * $out/share/games/descent${toString ver} + popd + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "Descent ${toString ver} assets from GOG"; + homepage = http://www.dxx-rebirth.com/; + license = licenses.unfree; + maintainers = with maintainers; [ peterhoeg ]; + hydraPlatforms = []; + }; + }; + +in { + descent1-assets = generic 1 "descent"; + descent2-assets = generic 2 "descent 2"; +} diff --git a/pkgs/games/dxx-rebirth/full.nix b/pkgs/games/dxx-rebirth/full.nix new file mode 100644 index 000000000000..baf8b80add10 --- /dev/null +++ b/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 = http://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; +} |