anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / games / lzwolf / default.nix
blob7e3e932ba5cf054ba760b5950c0f3d239fbc7a0e
1 { stdenv
2 , lib
3 , fetchFromBitbucket
4 , fetchpatch
5 , p7zip
6 , cmake
7 , SDL2
8 , bzip2
9 , zlib
10 , libjpeg
11 , libsndfile
12 , mpg123
13 , pkg-config
14 , SDL2_net
15 , SDL2_mixer
18 stdenv.mkDerivation rec {
19   pname = "lzwolf";
20   # Fix-Me: Remember to remove SDL2_mixer pin (at top-level) on next lzwolf upgrade.
21   version = "unstable-2022-12-26";
23   src = fetchFromBitbucket {
24     owner = "linuxwolf6";
25     repo = "lzwolf";
26     rev = "a24190604296e16941c601b57afe4350462fc659";
27     sha256 = "sha256-CtBdvk6LXb/ll92Fxig/M4t4QNj8dNFJYd8F99b47kQ=";
28   };
30   patches = [
31     # Pull fix pending upstream inclusion for `gcc-13` support:
32     #   https://bitbucket.org/linuxwolf6/lzwolf/pull-requests/5
33     (fetchpatch {
34       name = "gcc-13.patch";
35       url = "https://bitbucket.org/soturi/lzwolf/commits/41f212026dff4f089d1c0921cb49ab1a2b81e0d6/raw";
36       hash = "sha256-EgSdDaZovD7DyZ0BkuX8ZdsrX7J7v8/D6y5P1NWGJew=";
37     })
38   ];
40   postPatch = ''
41     # SDL2_net-2.2.0 changed CMake component name slightly.
42     substituteInPlace src/CMakeLists.txt \
43       --replace 'SDL2::SDL2_net' 'SDL2_net::SDL2_net'
44   '';
46   nativeBuildInputs = [ p7zip pkg-config cmake ];
47   buildInputs = [
48     SDL2 bzip2 zlib libjpeg SDL2_mixer SDL2_net libsndfile mpg123
49   ];
51   cmakeFlags = [
52     "-DGPL=ON"
53   ];
55   doCheck = true;
57   installPhase = ''
58     install -Dm755 lzwolf "$out/lib/lzwolf/lzwolf"
59     for i in *.pk3; do
60       install -Dm644 "$i" "$out/lib/lzwolf/$i"
61     done
62     mkdir -p $out/bin
63     ln -s $out/lib/lzwolf/lzwolf $out/bin/lzwolf
64   '';
66   meta = with lib; {
67     homepage = "https://bitbucket.org/linuxwolf6/lzwolf";
68     description = "Enhanced fork of ECWolf, a Wolfenstein 3D source port";
69     mainProgram = "lzwolf";
70     license = licenses.gpl2Plus;
71     platforms = platforms.linux;
72     maintainers = with maintainers; [ tgunnoe ];
73   };