ansible-later: 2.0.22 -> 2.0.23
[NixPkgs.git] / pkgs / games / rott / default.nix
blob131745ac03eb0819954847aa3a796beb80c6a162
1 { stdenv
2 , lib
3 , fetchurl
4 , writeShellScript
5 , SDL
6 , SDL_mixer
7 , makeDesktopItem
8 , copyDesktopItems
9 , runtimeShell
10 , buildShareware ? false
13 let
14   # Allow the game to be launched from a user's PATH and load the game data from the user's home directory.
15   launcher = writeShellScript "rott" ''
16     set -eEuo pipefail
17     dir=$HOME/.rott/data
18     test -e $dir || mkdir -p $dir
19     cd $dir
20     exec @out@/libexec/rott "$@"
21   '';
24 stdenv.mkDerivation rec {
25   pname = "rott";
26   version = "1.1.2";
28   src = fetchurl {
29     url = "https://icculus.org/rott/releases/${pname}-${version}.tar.gz";
30     sha256 = "1zr7v5dv2iqx40gzxbg8mhac7fxz3kqf28y6ysxv1xhjqgl1c98h";
31   };
33   nativeBuildInputs = [ copyDesktopItems ];
35   buildInputs = [ SDL SDL_mixer ];
37   sourceRoot = "rott-${version}/rott";
39   makeFlags = [
40     "SHAREWARE=${if buildShareware then "1" else "0"}"
41   ];
43   # when using SDL_compat instead of SDL_classic, SDL_mixer isn't correctly
44   # detected, but there is no harm just specifying it
45   NIX_CFLAGS_COMPILE = [
46     "-I${lib.getDev SDL_mixer}/include/SDL"
47   ];
49   installPhase = ''
50     runHook preInstall
52     install -Dm555 -t $out/libexec rott
53     install -Dm555 ${launcher} $out/bin/${launcher.name}
54     substituteInPlace $out/bin/rott --subst-var out
56     runHook postInstall
57   '';
59   desktopItems = [
60     (makeDesktopItem {
61       name = "rott";
62       exec = "rott";
63       desktopName = "Rise of the Triad: ${if buildShareware then "The HUNT Begins" else "Dark War"}";
64       categories = [ "Game" ];
65     })
66   ];
68   meta = with lib; {
69     description = "SDL port of Rise of the Triad";
70     homepage = "https://icculus.org/rott/";
71     license = licenses.gpl2Plus;
72     maintainers = with maintainers; [ sander ];
73     platforms = platforms.all;
74   };