dwarf-fortress: refactors

This will make it easier for people to access old versions.

You can now access attributes like:

- dwarf-fortress_0_44_11
- dwarf-fortress_0_43_05
- etc.
This commit is contained in:
Matthew Bauer
2018-07-09 16:13:52 -04:00
parent cdd0ac7e54
commit 530427c7ab
5 changed files with 47 additions and 41 deletions
@@ -1,4 +1,4 @@
{ stdenv, lib, buildEnv, dwarf-fortress-original, substituteAll
{ stdenv, lib, buildEnv, dwarf-fortress, substituteAll
, enableDFHack ? false, dfhack
, enableSoundSense ? false, soundSense, jdk
, enableStoneSense ? false
@@ -20,10 +20,10 @@ let
themePkg = lib.optional (theme != null) ptheme;
pkgs = lib.optional enableDFHack dfhack_
++ lib.optional enableSoundSense soundSense
++ [ dwarf-fortress-original ];
++ [ dwarf-fortress ];
env = buildEnv {
name = "dwarf-fortress-env-${dwarf-fortress-original.dfVersion}";
name = "dwarf-fortress-env-${dwarf-fortress.dfVersion}";
paths = themePkg ++ pkgs;
pathsToLink = [ "/" "/hack" "/hack/scripts" ];
@@ -32,16 +32,16 @@ let
postBuild = lib.optionalString enableDFHack ''
rm $out/hack/symbols.xml
substitute ${dfhack_}/hack/symbols.xml $out/hack/symbols.xml \
--replace $(cat ${dwarf-fortress-original}/hash.md5.orig) \
$(cat ${dwarf-fortress-original}/hash.md5)
--replace $(cat ${dwarf-fortress}/hash.md5.orig) \
$(cat ${dwarf-fortress}/hash.md5)
'';
};
in
stdenv.mkDerivation rec {
name = "dwarf-fortress-${dwarf-fortress-original.dfVersion}";
name = "dwarf-fortress-${dwarf-fortress.dfVersion}";
compatible = lib.all (x: assert (x.dfVersion == dwarf-fortress-original.dfVersion); true) pkgs;
compatible = lib.all (x: assert (x.dfVersion == dwarf-fortress.dfVersion); true) pkgs;
dfInit = substituteAll {
name = "dwarf-fortress-init";
@@ -55,6 +55,8 @@ stdenv.mkDerivation rec {
runDFHack = ./dfhack.in;
runSoundSense = ./soundSense.in;
passthru = { inherit dwarf-fortress; };
buildCommand = ''
mkdir -p $out/bin