pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / cdogs-sdl / default.nix
blob7909bc476e7e441dca0690053510ed9f70ec6d8f
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , pkg-config
5 , SDL2
6 , SDL2_image
7 , SDL2_mixer
8 , cmake
9 , gtk3-x11
10 , python3
11 , protobuf
14 stdenv.mkDerivation rec {
15   pname = "cdogs-sdl";
16   version = "2.1.0";
18   src = fetchFromGitHub {
19     repo = pname;
20     owner = "cxong";
21     rev = version;
22     sha256 = "sha256-bFHygaL0UrrprSZRPTdYIzO78IhMjiqhLCGr7TTajqc=";
23   };
25   postPatch = ''
26     patchShebangs src/proto/nanopb/generator/*
27   '';
29   cmakeFlags = [
30     "-DCDOGS_DATA_DIR=${placeholder "out"}/"
31     "-DCMAKE_C_FLAGS=-Wno-error=array-bounds"
32   ];
34   env.NIX_CFLAGS_COMPILE = toString [
35     # Needed with GCC 12
36     "-Wno-error=stringop-overflow"
37   ];
39   nativeBuildInputs = [
40     pkg-config
41     cmake
42     (python3.withPackages (pp: with pp; [ pp.protobuf setuptools ]))
43   ];
45   buildInputs = [
46     SDL2
47     SDL2_image
48     SDL2_mixer
49     gtk3-x11
50     protobuf
51   ];
53   # inlining failed in call to 'tinydir_open': --param max-inline-insns-single limit reached
54   hardeningDisable = [ "fortify3" ];
56   meta = with lib; {
57     homepage = "https://cxong.github.io/cdogs-sdl";
58     description = "Open source classic overhead run-and-gun game";
59     license = licenses.gpl2Only;
60     maintainers = with maintainers; [ nixinator ];
61     platforms = platforms.unix;
62     broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/cdogs-sdl.x86_64-darwin
63   };