base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / ne / nexuiz / package.nix
blob8a178d475ee52f65db3dcd481da35928d13480da
1 { lib, stdenv, fetchurl
2 , # required for both
3   unzip, zlib, curl, libjpeg, libpng, libvorbis, libtheora
4 , libogg, libmodplug
5 , # glx
6   libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, libXxf86dga, alsa-lib
7 , # sdl
8   SDL
9 , # icon
10   copyDesktopItems, makeDesktopItem
13 let
14   version = "2.5.2";
16   version_short = lib.replaceStrings [ "." ] [ "" ] version;
17 in stdenv.mkDerivation {
18   pname = "nexuiz";
19   inherit version;
21   src = fetchurl {
22     url = "mirror://sourceforge/nexuiz/nexuiz-${version_short}.zip";
23     sha256 = "0010jrxc68qqinkvdh1qn2b8z3sa5v1kcd8d1m4llp3pr6y7xqm5";
24   };
26   nativeBuildInputs = [ unzip copyDesktopItems ];
27   buildInputs = [
28     # glx
29     libX11 libGLU libGL libXpm libXext libXxf86vm libXxf86dga alsa-lib
30     # sdl
31     SDL
32   ];
34   postUnpack = ''
35     cd Nexuiz/sources/
36     unzip enginesource*.zip
37     cd ../../
38   '';
40   NIX_LDFLAGS = ''
41     -rpath ${zlib.out}/lib
42     -rpath ${curl.out}/lib
43     -rpath ${libjpeg.out}/lib
44     -rpath ${libpng.out}/lib
45     -rpath ${libvorbis.out}/lib
46     -rpath ${libtheora.out}/lib
47     -rpath ${libogg.out}/lib
48     -rpath ${libmodplug.out}/lib
49   '';
51   buildPhase = ''
52     cd sources/darkplaces/
53     DP_FS_BASEDIR="$out/share/nexuiz"
54     make DP_FS_BASEDIR=$DP_FS_BASEDIR cl-release
55     make DP_FS_BASEDIR=$DP_FS_BASEDIR sdl-release
56     make DP_FS_BASEDIR=$DP_FS_BASEDIR sv-release
57     cd ../../
58   '';
60   installPhase = ''
61     runHook preInstall
62     mkdir -pv "$out/bin/"
63     cp -v sources/darkplaces/darkplaces-glx "$out/bin/nexuiz-glx"
64     cp -v sources/darkplaces/darkplaces-sdl "$out/bin/nexuiz-sdl"
65     cp -v sources/darkplaces/darkplaces-dedicated "$out/bin/nexuiz-dedicated"
66     mkdir -pv "$out/share/nexuiz/"
67     cp -rv data/ "$out/share/nexuiz/"
68     ln -s "$out/bin/nexuiz-sdl" "$out/bin/nexuiz"
69     mkdir -pv $out/share/icon/
70     cp sources/darkplaces/nexuiz.ico $out/share/icon/nexuiz.ico
71     runHook postInstall
72   '';
74   dontPatchELF = true;
76   desktopItems = [
77     (makeDesktopItem {
78       name = "Nexuiz";
79       exec = "nexuiz";
80       icon = "nexuiz";
81       desktopName = "Nexuiz";
82       comment = "A free first-person shooter video game developed and published by Alientrap";
83       categories = [ "Game" "ActionGame" ];
84     })
85   ];
87   meta = {
88     description = "Free fast-paced first-person shooter";
89     homepage = "http://www.alientrap.org/games/nexuiz";
90     license = lib.licenses.gpl2Plus;
91     platforms = lib.platforms.linux;
92   };