From 195ca7393c42a9d93d34ca8911082101cb8db642 Mon Sep 17 00:00:00 2001 From: rardiol Date: Wed, 15 Feb 2017 04:11:59 -0200 Subject: [PATCH] widelands: 18 -> 19 (#22796) --- pkgs/games/widelands/bincmake.patch | 21 ++++++++++++++++ pkgs/games/widelands/default.nix | 37 +++++++++++++++++++---------- pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 pkgs/games/widelands/bincmake.patch diff --git a/pkgs/games/widelands/bincmake.patch b/pkgs/games/widelands/bincmake.patch new file mode 100644 index 000000000000..ed6a99125223 --- /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 b6008bd7e76a..94fd23cd8cbd 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 d3aadd147716..3ba672c477d7 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 {