biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / by-name / ra / raze / package.nix
blob5ba50c533e89f10fbd18660aa251d504234161d5
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   ninja,
7   SDL2,
8   zmusic,
9   libvpx,
10   pkg-config,
11   makeWrapper,
12   bzip2,
13   gtk3,
14   fluidsynth,
15   openal,
16   libGL,
17   vulkan-loader,
20 stdenv.mkDerivation (finalAttrs: {
21   pname = "raze";
22   version = "1.10.2";
24   src = fetchFromGitHub {
25     owner = "ZDoom";
26     repo = "Raze";
27     rev = "refs/tags/${finalAttrs.version}";
28     hash = "sha256-R3Sm/cibg+D2QPS4UisRp91xvz3Ine2BUR8jF5Rbj1g=";
29     leaveDotGit = true;
30     postFetch = ''
31       cd $out
32       git rev-parse HEAD > COMMIT
33       rm -rf .git
34     '';
35   };
37   nativeBuildInputs = [
38     cmake
39     ninja
40     pkg-config
41     makeWrapper
42   ];
44   buildInputs = [
45     SDL2
46     zmusic
47     libvpx
48     bzip2
49     gtk3
50     fluidsynth
51     openal
52     libGL
53     vulkan-loader
54   ];
56   cmakeFlags = [
57     (lib.cmakeBool "DYN_GTK" false)
58     (lib.cmakeBool "DYN_OPENAL" false)
59   ];
61   postPatch = ''
62     substituteInPlace tools/updaterevision/gitinfo.h.in \
63       --replace-fail "@Tag@" "${finalAttrs.version}" \
64       --replace-fail "@Hash@" "$(cat COMMIT)" \
65       --replace-fail "@Timestamp@" "1970-01-01 00:00:01 +0000"
66   '';
68   postInstall = ''
69     mv $out/bin/raze $out/share/raze
70     makeWrapper $out/share/raze/raze $out/bin/raze \
71       --set LD_LIBRARY_PATH ${lib.makeLibraryPath [ vulkan-loader ]}
72     install -Dm644 ../source/platform/posix/org.zdoom.Raze.256.png $out/share/pixmaps/org.zdoom.Raze.png
73     install -Dm644 ../source/platform/posix/org.zdoom.Raze.desktop $out/share/applications/org.zdoom.Raze.desktop
74     install -Dm644 ../soundfont/raze.sf2 $out/share/raze/soundfonts/raze.sf2
75   '';
77   meta = {
78     description = "Build engine port backed by GZDoom tech";
79     longDescription = ''
80       Raze is a fork of Build engine games backed by GZDoom tech and combines
81       Duke Nukem 3D, Blood, Redneck Rampage, Shadow Warrior and Exhumed/Powerslave
82       in a single package. It is also capable of playing Nam and WW2 GI.
83     '';
84     homepage = "https://github.com/ZDoom/Raze";
85     license = lib.licenses.gpl2Only;
86     maintainers = with lib.maintainers; [ qubitnano ];
87     mainProgram = "raze";
88     platforms = [ "x86_64-linux" ];
89   };