about summary refs log tree commit diff
path: root/pkgs/games/dwarf-fortress/dfhack/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/dwarf-fortress/dfhack/default.nix')
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix34
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 ];
   };
 }