descent 1&2 assets: init at 2.0.0.7

This commit is contained in:
Peter Hoeg 2018-02-04 21:33:16 +08:00
parent 126cc690ac
commit e88284be2a
3 changed files with 94 additions and 1 deletions

View file

@ -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";
}

View file

@ -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;
}

View file

@ -18285,10 +18285,18 @@ with pkgs;
physfs = physfs_2;
};
# these are here for compatibility
d1x_rebirth = dxx-rebirth;
d2x_rebirth = dxx-rebirth;
inherit (callPackages ../games/dxx-rebirth/assets.nix { })
descent1-assets
descent2-assets;
inherit (callPackages ../games/dxx-rebirth/full.nix { })
d1x-rebirth-full
d2x-rebirth-full;
easyrpg-player = callPackage ../games/easyrpg-player { };
eboard = callPackage ../games/eboard { };