diff options
Diffstat (limited to 'pkgs/games/dwarf-fortress/dfhack/default.nix')
-rw-r--r-- | pkgs/games/dwarf-fortress/dfhack/default.nix | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix index 176971920071..74dddbe8df99 100644 --- a/pkgs/games/dwarf-fortress/dfhack/default.nix +++ b/pkgs/games/dwarf-fortress/dfhack/default.nix @@ -1,16 +1,23 @@ { stdenv, fetchgit, cmake, writeScriptBin , perl, XMLLibXML, XMLLibXSLT , zlib -, jsoncpp, protobuf, tinyxml }: let - dfVersion = "0.43.03"; - version = "${dfVersion}-r1"; + dfVersion = "0.43.05"; + # version = "${dfVersion}-r1"; + # rev = "refs/tags/${version}"; + version = "${dfVersion}-alpha2"; + rev = "13eb5e702beb6d8e40c0e17be64cda9a8d9d1efb"; + sha256 = "18i8qfhhfnfrpa519akwagn73q2zns1pry2sdfag63vffxh60zr5"; - rev = "refs/tags/${version}"; # revision of library/xml submodule - xmlRev = "98cc1e01886aaea161d651cf97229ad08e9782b0"; + xmlRev = "84f6e968a9ec5515f9dbef96b445e3fc83f83e8b"; + + arch = + if stdenv.system == "x86_64-linux" then "64" + else if stdenv.system == "i686-linux" then "32" + else throw "Unsupported architecture"; fakegit = writeScriptBin "git" '' #! ${stdenv.shell} @@ -35,17 +42,20 @@ in stdenv.mkDerivation rec { # Beware of submodules src = fetchgit { url = "https://github.com/DFHack/dfhack"; - inherit rev; - sha256 = "0m5kqpaz0ypji4c32w0hhbsicvgvnjh56pqvq7af6pqqnyg1nzcx"; + inherit rev sha256; }; - patches = [ ./use-system-libraries.patch ]; + patches = [ ./skip-ruby.patch ]; nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ]; - # we can't use native Lua; upstream uses private headers - buildInputs = [ zlib jsoncpp protobuf tinyxml ]; + # We don't use system libraries because dfhack needs old C++ ABI. + buildInputs = [ zlib ]; + + preBuild = '' + export LD_LIBRARY_PATH="$PWD/depends/protobuf:$LD_LIBRARY_PATH" + ''; - cmakeFlags = [ "-DEXTERNAL_TINYXML=ON" ]; + cmakeFlags = [ "-DDFHACK_BUILD_ARCH=${arch}" ]; enableParallelBuilding = true; @@ -55,7 +65,7 @@ in stdenv.mkDerivation rec { description = "Memory hacking library for Dwarf Fortress and a set of tools that use it"; homepage = "https://github.com/DFHack/dfhack/"; license = licenses.zlib; - platforms = [ "i686-linux" ]; + platforms = [ "x86_64-linux" "i686-linux" ]; maintainers = with maintainers; [ robbinch a1russell abbradar ]; }; } |