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