summary refs log tree commit diff
diff options
context:
space:
mode:
authorrardiol <ricardo.ardissone@gmail.com>2017-02-15 04:11:59 -0200
committerFranz Pletz <fpletz@fnordicwalking.de>2017-02-15 07:11:59 +0100
commit195ca7393c42a9d93d34ca8911082101cb8db642 (patch)
tree35f0dfdfb78b104c9074d924fb9c03e054f85f52
parent01e5b8527dacfb61319dcdc2178ec6aed7f7f3c5 (diff)
downloadnixpkgs-195ca7393c42a9d93d34ca8911082101cb8db642.tar
nixpkgs-195ca7393c42a9d93d34ca8911082101cb8db642.tar.gz
nixpkgs-195ca7393c42a9d93d34ca8911082101cb8db642.tar.bz2
nixpkgs-195ca7393c42a9d93d34ca8911082101cb8db642.tar.lz
nixpkgs-195ca7393c42a9d93d34ca8911082101cb8db642.tar.xz
nixpkgs-195ca7393c42a9d93d34ca8911082101cb8db642.tar.zst
nixpkgs-195ca7393c42a9d93d34ca8911082101cb8db642.zip
widelands: 18 -> 19 (#22796)
-rw-r--r--pkgs/games/widelands/bincmake.patch21
-rw-r--r--pkgs/games/widelands/default.nix37
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 47 insertions, 13 deletions
diff --git a/pkgs/games/widelands/bincmake.patch b/pkgs/games/widelands/bincmake.patch
new file mode 100644
index 00000000000..ed6a9912522
--- /dev/null
+++ b/pkgs/games/widelands/bincmake.patch
@@ -0,0 +1,21 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,6 +25,8 @@
+ # Packagers (or people using make install) have to set this variable to an absolute path.
+ wl_set_if_unset(WL_INSTALL_DATADIR "./data")
+ 
++wl_set_if_unset(WL_INSTALL_BINARY "./bin")
++
+ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+   if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
+     message(FATAL_ERROR "Widelands needs GCC >= 4.7 to compile.")
+
+--- a/cmake/WlFunctions.cmake
++++ b/cmake/WlFunctions.cmake
+@@ -276,5 +276,5 @@
+ 
+   #Quoting the CMake documentation on DESTINATION:
+   #"If a relative path is given it is interpreted relative to the value of CMAKE_INSTALL_PREFIX"
+-  install(TARGETS ${NAME} DESTINATION "." COMPONENT ExecutableFiles)
++  install(TARGETS ${NAME} DESTINATION ${WL_INSTALL_BINARY} COMPONENT ExecutableFiles)
+ endfunction()
diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix
index b6008bd7e76..94fd23cd8cb 100644
--- a/pkgs/games/widelands/default.nix
+++ b/pkgs/games/widelands/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, cmake, python, gettext
-, boost, libpng, zlib, glew, lua
-, SDL, SDL_image, SDL_mixer, SDL_net, SDL_ttf, SDL_gfx
+, boost, libpng, zlib, glew, lua, doxygen, icu
+, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf, SDL2_gfx
 }:
 
-stdenv.mkDerivation {
-  name = "widelands-18";
+stdenv.mkDerivation rec {
+  name = "widelands-${version}";
+  version = "19";
 
   meta = with stdenv.lib; {
     description = "RTS with multiple-goods economy";
@@ -20,27 +21,39 @@ stdenv.mkDerivation {
     hydraPlatforms = [];
   };
 
+  patches = [
+    ./bincmake.patch
+  ];
 
   src = fetchurl {
-    url = "https://launchpad.net/widelands/build18/build-18/+download/"
-        + "widelands-build18-src.tar.bz2";
-    sha256 = "1qvx1cwkf61iwq0qkngvg460dsxqsfvk36qc7jf7mzwkiwbxkzvd";
+    url = "https://launchpad.net/widelands/build${version}/build${version}/+download/"
+        + "widelands-build${version}-src.tar.bz2";
+    sha256 = "19h1gina7k1ai2mn2fd75lxm8iz8wrs6dz6dchdvg8i8d39gj4g5";
   };
 
   preConfigure = ''
     cmakeFlags="
-      -DWL_INSTALL_PREFIX=$out
-      -DWL_INSTALL_BINDIR=bin
-      -DWL_INSTALL_DATADIR=share/widelands
+      -DWL_INSTALL_BASEDIR=$out
+      -DWL_INSTALL_DATADIR=$out/share/widelands
+      -DWL_INSTALL_BINARY=$out/bin
     "
   '';
 
   nativeBuildInputs = [ cmake python gettext ];
 
   buildInputs = [
-    boost libpng zlib glew lua
-    SDL SDL_image SDL_mixer SDL_net SDL_ttf SDL_gfx
+    boost libpng zlib glew lua doxygen icu
+    SDL2 SDL2_image SDL2_mixer SDL2_net SDL2_ttf
   ];
 
+  prePatch = ''
+    substituteInPlace ./debian/widelands.desktop --replace "/usr/share/games/widelands/data/" "$out/share/widelands/"
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/share/applications/"
+    cp -v "../debian/widelands.desktop" "$out/share/applications/"
+  '';
+
   enableParallelBuilding = true;
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d3aadd14771..3ba672c477d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -16491,7 +16491,7 @@ with pkgs;
   wesnoth-dev = callPackage ../games/wesnoth/dev.nix { };
 
   widelands = callPackage ../games/widelands {
-    lua = lua5_1;
+    lua = lua5_2;
   };
 
   worldofgoo_demo = callPackage ../games/worldofgoo {