diff options
Diffstat (limited to 'pkgs/games/dwarf-fortress/game.nix')
-rw-r--r-- | pkgs/games/dwarf-fortress/game.nix | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix new file mode 100644 index 00000000000..7e0c1b34af7 --- /dev/null +++ b/pkgs/games/dwarf-fortress/game.nix @@ -0,0 +1,48 @@ +{ stdenv, lib, fetchurl +, SDL, dwarf-fortress-unfuck +}: + +let + baseVersion = "42"; + patchVersion = "05"; + dfVersion = "0.${baseVersion}.${patchVersion}"; + libpath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc dwarf-fortress-unfuck SDL ]; + +in + +assert dwarf-fortress-unfuck.dfVersion == dfVersion; + +stdenv.mkDerivation { + name = "dwarf-fortress-original-${dfVersion}"; + + src = fetchurl { + url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_linux.tar.bz2"; + sha256 = "0g7r0v2lsqj9ryxh12q8yrk96bgs00rf2ncw228cwwqgmps3xcws"; + }; + + installPhase = '' + mkdir -p $out + cp -r * $out + rm $out/libs/lib* + + # Store the original hash + md5sum $out/libs/Dwarf_Fortress | awk '{ print $1 }' > $out/hash.md5.orig + + patchelf \ + --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + --set-rpath "${libpath}" \ + $out/libs/Dwarf_Fortress + + # Store the new hash + md5sum $out/libs/Dwarf_Fortress | awk '{ print $1 }' > $out/hash.md5 + ''; + + passthru = { inherit baseVersion patchVersion dfVersion; }; + + meta = { + description = "A single-player fantasy game with a randomly generated adventure world"; + homepage = http://www.bay12games.com/dwarves; + license = lib.licenses.unfreeRedistributable; + maintainers = with lib.maintainers; [ a1russell robbinch roconnor the-kenny abbradar ]; + }; +} |