pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / openloco / default.nix
blobcaa286c7ef62c0b446251c54ae257ed77dae4484
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , SDL2
5 , cmake
6 , libpng
7 , libzip
8 , openal
9 , pkg-config
10 , yaml-cpp
11 , fmt
14 stdenv.mkDerivation rec {
15   pname = "openloco";
16   version = "24.04";
18   src = fetchFromGitHub {
19     owner = "OpenLoco";
20     repo = "OpenLoco";
21     rev = "v${version}";
22     hash = "sha256-LyA1Wl2xto05DUp3kuWEQo7Hbk8PAy990PC7bLeBFto=";
23   };
25   # the upstream build process determines the version tag from git; since we
26   # are not using a git checkout, we patch it manually
27   postPatch = ''
28     sed -i '/#define NAME "OpenLoco"/a#define OPENLOCO_VERSION_TAG "${version}"' src/OpenLoco/src/Version.cpp
29   '';
31   NIX_CFLAGS_COMPILE = "-Wno-error=null-dereference";
33   cmakeFlags = [
34     "-DOPENLOCO_BUILD_TESTS=NO"
35   ];
37   nativeBuildInputs = [
38     cmake
39     pkg-config
40   ];
41   buildInputs = [
42     SDL2
43     libpng
44     libzip
45     openal
46     yaml-cpp
47     fmt
48   ];
50   meta = {
51     description = "Open source re-implementation of Chris Sawyer's Locomotion";
52     homepage = "https://github.com/OpenLoco/OpenLoco";
53     license = lib.licenses.mit;
54     platforms = lib.platforms.linux;
55     maintainers = with lib.maintainers; [ icewind1991 ];
56   };