chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / sa / sauerbraten / package.nix
blob2951641fbf5f85c47e1b6c77fd169c72a71c027d
2   lib,
3   stdenv,
4   fetchzip,
6   # nativeBuildInputs
7   makeWrapper,
8   copyDesktopItems,
10   # buildInputs
11   SDL2,
12   SDL2_image,
13   SDL2_mixer,
14   zlib,
16   makeDesktopItem,
19 stdenv.mkDerivation rec {
20   pname = "sauerbraten";
21   version = "2020-12-29";
23   src = fetchzip {
24     url = "mirror://sourceforge/sauerbraten/sauerbraten_${
25       builtins.replaceStrings [ "-" ] [ "_" ] version
26     }_linux.tar.bz2";
27     hash = "sha256-os3SmonqHRw1+5dIRVt7EeXfnSq298GiyKpusS1K3rM=";
28   };
30   nativeBuildInputs = [
31     makeWrapper
32     copyDesktopItems
33   ];
35   buildInputs = [
36     SDL2
37     SDL2_image
38     SDL2_mixer
39     zlib
40   ];
42   sourceRoot = "${src.name}/src";
44   enableParallelBuilding = true;
46   desktopItems = [
47     (makeDesktopItem {
48       name = "sauerbraten";
49       exec = "sauerbraten_client %u";
50       icon = "sauerbraten";
51       desktopName = "Sauerbraten";
52       comment = "FPS that uses an improved version of the Cube engine";
53       categories = [
54         "Application"
55         "Game"
56         "ActionGame"
57       ];
58     })
59   ];
61   installPhase = ''
62     runHook preInstall
64     mkdir -p $out/bin $out/share/icon/ $out/share/sauerbraten $out/share/doc/sauerbraten
65     cp -r "../docs/"* $out/share/doc/sauerbraten/
66     cp sauer_client sauer_server $out/share/sauerbraten/
67     cp -r ../packages ../data $out/share/sauerbraten/
68     ln -s $out/share/sauerbraten/cube.png $out/share/icon/sauerbraten.png
70     makeWrapper $out/share/sauerbraten/sauer_server $out/bin/sauerbraten_server \
71       --chdir "$out/share/sauerbraten"
72     makeWrapper $out/share/sauerbraten/sauer_client $out/bin/sauerbraten_client \
73       --chdir "$out/share/sauerbraten" \
74       --add-flags "-q\''${HOME}/.config/sauerbraten"
76     runHook postInstall
77   '';
79   meta = {
80     description = "Free multiplayer & singleplayer first person shooter, the successor of the Cube FPS";
81     homepage = "http://sauerbraten.org";
82     maintainers = with lib.maintainers; [
83       raskin
84       ajs124
85     ];
86     mainProgram = "sauerbraten_client";
87     hydraPlatforms =
88       # raskin: tested amd64-linux;
89       # not setting platforms because it is 0.5+ GiB of game data
90       [ ];
91     license = "freeware"; # as an aggregate - data files have different licenses code is under zlib license
92     platforms = lib.platforms.linux;
93   };