summary refs log tree commit diff
path: root/pkgs/games/dwarf-fortress
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/dwarf-fortress')
-rw-r--r--pkgs/games/dwarf-fortress/default.nix4
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix12
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch42
-rw-r--r--pkgs/games/dwarf-fortress/game.nix24
-rw-r--r--pkgs/games/dwarf-fortress/themes/cla.nix6
-rw-r--r--pkgs/games/dwarf-fortress/themes/phoebus.nix6
-rw-r--r--pkgs/games/dwarf-fortress/unfuck.nix12
7 files changed, 51 insertions, 55 deletions
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix
index 4eab8290933e..64109279060a 100644
--- a/pkgs/games/dwarf-fortress/default.nix
+++ b/pkgs/games/dwarf-fortress/default.nix
@@ -5,7 +5,7 @@ let
   callPackage_i686 = pkgsi686Linux.newScope self;
 
   self = rec {
-    dwarf-fortress-original = callPackage_i686 ./game.nix { };
+    dwarf-fortress-original = callPackage ./game.nix { };
 
     dfhack = callPackage_i686 ./dfhack {
       inherit (pkgsi686Linux.perlPackages) XMLLibXML XMLLibXSLT;
@@ -14,7 +14,7 @@ let
       };
     };
 
-    dwarf-fortress-unfuck = callPackage_i686 ./unfuck.nix { };
+    dwarf-fortress-unfuck = callPackage ./unfuck.nix { };
 
     dwarf-fortress = callPackage ./wrapper {
       themes = {
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index 1ee0f829571d..176971920071 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -5,8 +5,9 @@
 }:
 
 let
-  dfVersion = "0.42.06";
+  dfVersion = "0.43.03";
   version = "${dfVersion}-r1";
+
   rev = "refs/tags/${version}";
   # revision of library/xml submodule
   xmlRev = "98cc1e01886aaea161d651cf97229ad08e9782b0";
@@ -14,7 +15,7 @@ let
   fakegit = writeScriptBin "git" ''
     #! ${stdenv.shell}
     if [ "$*" = "describe --tags --long" ]; then
-      echo "${dfVersion}-unknown"
+      echo "${version}-unknown"
     elif [ "$*" = "rev-parse HEAD" ]; then
       if [ "$(dirname "$(pwd)")" = "xml" ]; then
         echo "${xmlRev}"
@@ -35,19 +36,20 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "https://github.com/DFHack/dfhack";
     inherit rev;
-    sha256 = "1p234m8r84cdr4bx622hcd13mshnjc5bw7hdxhv18waaxvdpv6jh";
+    sha256 = "0m5kqpaz0ypji4c32w0hhbsicvgvnjh56pqvq7af6pqqnyg1nzcx";
   };
 
   patches = [ ./use-system-libraries.patch ];
-  postPatch = "sed '1i#include <math.h>' -i plugins/3dveins.cpp";
 
   nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
   # we can't use native Lua; upstream uses private headers
   buildInputs = [ zlib jsoncpp protobuf tinyxml ];
 
+  cmakeFlags = [ "-DEXTERNAL_TINYXML=ON" ];
+
   enableParallelBuilding = true;
 
-  passthru = { inherit dfVersion; };
+  passthru = { inherit version dfVersion; };
 
   meta = with stdenv.lib; {
     description = "Memory hacking library for Dwarf Fortress and a set of tools that use it";
diff --git a/pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch b/pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch
index b6ff92398a54..e33fec9f87ec 100644
--- a/pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch
+++ b/pkgs/games/dwarf-fortress/dfhack/use-system-libraries.patch
@@ -1,5 +1,5 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 46fd565..254c3c0 100644
+index 956edfc..fb0e6bc 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -160,8 +160,6 @@ ELSEIF(MSVC)
@@ -11,7 +11,7 @@ index 46fd565..254c3c0 100644
  ADD_DEFINITIONS(-DLUA_BUILD_AS_DLL)
  
  if(APPLE)
-@@ -182,11 +180,8 @@ else()
+@@ -182,10 +180,8 @@ else()
      set(ZLIB_ROOT /usr/lib/i386-linux-gnu)
  endif()
  find_package(ZLIB REQUIRED)
@@ -19,27 +19,31 @@ index 46fd565..254c3c0 100644
  include_directories(depends/lua/include)
  include_directories(depends/md5)
 -include_directories(depends/jsoncpp)
--include_directories(depends/tinyxml)
- include_directories(depends/tthread)
- include_directories(${ZLIB_INCLUDE_DIRS})
- include_directories(depends/clsocket/src)
+ 
+ # Support linking against external tinyxml
+ # If we find an external tinyxml, set the DFHACK_TINYXML variable to "tinyxml"
 diff --git a/depends/CMakeLists.txt b/depends/CMakeLists.txt
-index bf0345b..2a1a852 100644
+index d8442b1..b47dc2a 100644
 --- a/depends/CMakeLists.txt
 +++ b/depends/CMakeLists.txt
-@@ -1,10 +1,7 @@
+@@ -1,7 +1,6 @@
  #list depends here.
  add_subdirectory(lua)
  add_subdirectory(md5)
 -add_subdirectory(protobuf)
--add_subdirectory(tinyxml)
+ 
+ # Don't build tinyxml if it's being externally linked against.
+ if(NOT TinyXML_FOUND)
+@@ -9,7 +8,6 @@ if(NOT TinyXML_FOUND)
+ endif()
+ 
  add_subdirectory(tthread)
 -add_subdirectory(jsoncpp)
  # build clsocket static and only as a dependency. Setting those options here overrides its own default settings.
  OPTION(CLSOCKET_SHARED "Build clsocket lib as shared." OFF)
  OPTION(CLSOCKET_DEP_ONLY "Build for use inside other CMake projects as dependency." ON)
 diff --git a/library/CMakeLists.txt b/library/CMakeLists.txt
-index 54300ec..128bfd1 100644
+index d3e3480..5d4b572 100644
 --- a/library/CMakeLists.txt
 +++ b/library/CMakeLists.txt
 @@ -223,10 +223,10 @@ LIST(APPEND PROJECT_SOURCES ${PROJECT_PROTO_SRCS})
@@ -55,24 +59,8 @@ index 54300ec..128bfd1 100644
  )
  
  # Merge headers into sources
-@@ -269,12 +269,12 @@ IF(UNIX)
- ENDIF()
- 
- IF(APPLE)
--  SET(PROJECT_LIBS dl dfhack-md5 dfhack-tinyxml dfhack-tinythread)
-+  SET(PROJECT_LIBS dl dfhack-md5 tinyxml dfhack-tinythread)
- ELSEIF(UNIX)
--  SET(PROJECT_LIBS rt dl dfhack-md5 dfhack-tinyxml dfhack-tinythread)
-+  SET(PROJECT_LIBS rt dl dfhack-md5 tinyxml dfhack-tinythread)
- ELSE(WIN32)
-   #FIXME: do we really need psapi?
--  SET(PROJECT_LIBS psapi dfhack-md5 dfhack-tinyxml dfhack-tinythread)
-+  SET(PROJECT_LIBS psapi dfhack-md5 tinyxml dfhack-tinythread)
- ENDIF()
- 
- ADD_LIBRARY(dfhack-version STATIC DFHackVersion.cpp)
 diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
-index dd1c634..7bd8c17 100644
+index c24b940..afeb888 100644
 --- a/plugins/CMakeLists.txt
 +++ b/plugins/CMakeLists.txt
 @@ -47,11 +47,11 @@ STRING(REPLACE ".proto" ".pb.h" PROJECT_PROTO_HDRS "${PROJECT_PROTOS}")
diff --git a/pkgs/games/dwarf-fortress/game.nix b/pkgs/games/dwarf-fortress/game.nix
index 0665075356c4..740125bf4426 100644
--- a/pkgs/games/dwarf-fortress/game.nix
+++ b/pkgs/games/dwarf-fortress/game.nix
@@ -3,10 +3,18 @@
 }:
 
 let
-  baseVersion = "42";
-  patchVersion = "06";
+  baseVersion = "43";
+  patchVersion = "05";
   dfVersion = "0.${baseVersion}.${patchVersion}";
   libpath = lib.makeLibraryPath [ stdenv.cc.cc stdenv.glibc dwarf-fortress-unfuck SDL ];
+  platform =
+    if stdenv.system == "x86_64-linux" then "linux"
+    else if stdenv.system == "i686-linux" then "linux32"
+    else throw "Unsupported platform";
+  sha256 =
+    if stdenv.system == "x86_64-linux" then "1r0b96yrdf24m9476k5x7rmp3faxr0kfwwdf35agpvlb1qbi6v45"
+    else if stdenv.system == "i686-linux" then "16l1lydpkbnl3zhz4i2snmjk7pps8vmw3zv0bjgr8dncbsrycd03"
+    else throw "Unsupported platform";
 
 in
 
@@ -16,8 +24,8 @@ stdenv.mkDerivation {
   name = "dwarf-fortress-original-${dfVersion}";
 
   src = fetchurl {
-    url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_linux.tar.bz2";
-    sha256 = "17y9zq9xn1g0a501w4vkinb0n2yjiczsi2g7r6zggr41pxrqxpq3";
+    url = "http://www.bay12games.com/dwarves/df_${baseVersion}_${patchVersion}_${platform}.tar.bz2";
+    inherit sha256;
   };
 
   installPhase = ''
@@ -39,11 +47,11 @@ stdenv.mkDerivation {
 
   passthru = { inherit baseVersion patchVersion dfVersion; };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A single-player fantasy game with a randomly generated adventure world";
     homepage = http://www.bay12games.com/dwarves;
-    license = lib.licenses.unfreeRedistributable;
-    platforms = [ "i686-linux" ];
-    maintainers = with lib.maintainers; [ a1russell robbinch roconnor the-kenny abbradar ];
+    license = licenses.unfreeRedistributable;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar ];
   };
 }
diff --git a/pkgs/games/dwarf-fortress/themes/cla.nix b/pkgs/games/dwarf-fortress/themes/cla.nix
index b1a27c7e47ba..3933d62b1d38 100644
--- a/pkgs/games/dwarf-fortress/themes/cla.nix
+++ b/pkgs/games/dwarf-fortress/themes/cla.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "cla-theme-${version}";
-  version = "42.06-v22";
+  version = "43.04-v23";
 
   src = fetchFromGitHub {
     owner = "DFgraphics";
     repo = "CLA";
     rev = version;
-    sha256 = "1rr52j1wns17axc27fab0wn0338axzwkqp7cpa690kb3bl1y0pf5";
+    sha256 = "0a88jkcli9iq0prg5w0xh1cyms0b7dnc9rdahn7wy7fyakyp7s27";
   };
 
   installPhase = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp -r data raw $out
   '';
 
-  passthru.dfVersion = "0.42.06";
+  passthru.dfVersion = "0.43.05";
 
   preferLocalBuild = true;
 
diff --git a/pkgs/games/dwarf-fortress/themes/phoebus.nix b/pkgs/games/dwarf-fortress/themes/phoebus.nix
index 0022f9dc1c73..01ae192e75e6 100644
--- a/pkgs/games/dwarf-fortress/themes/phoebus.nix
+++ b/pkgs/games/dwarf-fortress/themes/phoebus.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "phoebus-theme-${version}";
-  version = "42.06a";
+  version = "43.03";
 
   src = fetchFromGitHub {
     owner = "DFgraphics";
     repo = "Phoebus";
     rev = version;
-    sha256 = "1mkj882mf1lvjs2b7jxfazym9fl1y20slbfi1lgqzbp1872aaxi0";
+    sha256 = "1mga5w3mks3bm6qch7azffr51g3q26za7hnas4qmxfs3m56bjav7";
   };
 
   installPhase = ''
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     cp -r data raw $out
   '';
 
-  passthru.dfVersion = "0.42.06";
+  passthru.dfVersion = "0.43.05";
 
   preferLocalBuild = true;
 
diff --git a/pkgs/games/dwarf-fortress/unfuck.nix b/pkgs/games/dwarf-fortress/unfuck.nix
index 5b2327c2ff54..5e299c5316ba 100644
--- a/pkgs/games/dwarf-fortress/unfuck.nix
+++ b/pkgs/games/dwarf-fortress/unfuck.nix
@@ -4,17 +4,15 @@
 }:
 
 stdenv.mkDerivation {
-  name = "dwarf_fortress_unfuck-2016-04-22";
+  name = "dwarf_fortress_unfuck-2016-07-13";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = "dwarf_fortress_unfuck";
-    rev = "dde40a2c619eac119b6db1bcd0c8d8612472f866";
-    sha256 = "12bqh3k4wsk1c0bz2zly8h0ilbsdmsbwr9cdjc6i7liwg9906g7i";
+    rev = "d6a4ee67e7b41bec1caa87548640643db35a6080";
+    sha256 = "17p7jzmwd5z54wn6bxmic0i8y8mma3q359zcy3r9x2mp2wv1yd7p";
   };
 
-  postPatch = "sed '1i#include <math.h>' -i g_src/ttf_manager.cpp";
-
   cmakeFlags = [
     "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
     "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
@@ -32,13 +30,13 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  passthru.dfVersion = "0.42.06";
+  passthru.dfVersion = "0.43.05";
 
   meta = with stdenv.lib; {
     description = "Unfucked multimedia layer for Dwarf Fortress";
     homepage = https://github.com/svenstaro/dwarf_fortress_unfuck;
     license = licenses.free;
-    platforms = [ "i686-linux" ];
+    platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
   };
 }