about summary refs log tree commit diff
path: root/pkgs/games/spring/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/games/spring/default.nix')
-rw-r--r--pkgs/games/spring/default.nix27
1 files changed, 18 insertions, 9 deletions
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 525adbc0a123d..e6631c2165465 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -1,32 +1,41 @@
 { stdenv, fetchurl, cmake, lzma, boost, libdevil, zlib, p7zip
-, openal, libvorbis, glew, freetype, xorg, SDL, mesa, binutils
+, openal, libvorbis, glew, freetype, xorg, SDL2, mesa, binutils
 , asciidoc, libxslt, docbook_xsl, docbook_xsl_ns, curl, makeWrapper
-, jdk ? null, python ? null, systemd
+, jdk ? null, python ? null, systemd, libunwind, glibc, which, minizip
 , withAI ? true # support for AI Interfaces and Skirmish AIs
 }:
 
 stdenv.mkDerivation rec {
 
   name = "spring-${version}";
-  version = "96.0";
+  version = "101.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/springrts/spring_${version}_src.tar.lzma";
-    sha256 = "1axyqkxgv3a0zg0afzlc7j3lyi412zd551j317ci41yqz2qzf0px";
+    sha256 = "0nr65zhw92k36zgwqgi31vcp129vk7r3v7xzd6l9w7mp1ljvypgi";
   };
 
+  # The cmake included module correcly finds nix's glew, however
+  # it has to be the bundled FindGLEW for headless or dedicated builds
+  prePatch = ''
+    substituteInPlace ./rts/build/cmake/FindAsciiDoc.cmake \
+      --replace "PATHS /usr /usr/share /usr/local /usr/local/share" "PATHS ${docbook_xsl}"\
+      --replace "xsl/docbook/manpages" "share/xml/docbook-xsl/manpages"
+    patchShebangs .
+    rm rts/build/cmake/FindGLEW.cmake
+  '';
+
   cmakeFlags = ["-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON"
                 "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON"
                 "-DPREFER_STATIC_LIBS:BOOL=OFF"];
 
-  buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL
+  buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL2
     xorg.libX11 xorg.libXcursor mesa glew asciidoc libxslt docbook_xsl curl makeWrapper
-    docbook_xsl_ns systemd ]
+    docbook_xsl_ns systemd libunwind glibc.dev glibc.static which minizip ]
     ++ stdenv.lib.optional withAI jdk
     ++ stdenv.lib.optional withAI python;
 
-  # reported upstream http://springrts.com/mantis/view.php?id=4305
-  #enableParallelBuilding = true; # occasionally missing generated files on Hydra
+  enableParallelBuilding = true;
 
   NIX_CFLAGS_COMPILE = "-fpermissive"; # GL header minor incompatibility
 
@@ -39,7 +48,7 @@ stdenv.mkDerivation rec {
     homepage = http://springrts.com/;
     description = "A powerful real-time strategy (RTS) game engine";
     license = licenses.gpl2;
-    maintainers = [ maintainers.phreedom maintainers.qknight maintainers.iElectric ];
+    maintainers = [ maintainers.phreedom maintainers.qknight maintainers.domenkozar ];
     platforms = platforms.linux;
   };
 }