nixpkgs-immich/pkgs/games/openloco/default.nix
2024-09-17 10:23:40 -06:00

58 lines
1.1 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, SDL2
, cmake
, libpng
, libzip
, openal
, pkg-config
, yaml-cpp
, fmt
}:
stdenv.mkDerivation rec {
pname = "openloco";
version = "24.04";
src = fetchFromGitHub {
owner = "OpenLoco";
repo = "OpenLoco";
rev = "v${version}";
hash = "sha256-LyA1Wl2xto05DUp3kuWEQo7Hbk8PAy990PC7bLeBFto=";
};
# the upstream build process determines the version tag from git; since we
# are not using a git checkout, we patch it manually
postPatch = ''
sed -i '/#define NAME "OpenLoco"/a#define OPENLOCO_VERSION_TAG "${version}"' src/OpenLoco/src/Version.cpp
'';
NIX_CFLAGS_COMPILE = "-Wno-error=null-dereference";
cmakeFlags = [
"-DOPENLOCO_BUILD_TESTS=NO"
];
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
SDL2
libpng
libzip
openal
yaml-cpp
fmt
];
meta = {
description = "Open source re-implementation of Chris Sawyer's Locomotion";
homepage = "https://github.com/OpenLoco/OpenLoco";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ icewind1991 ];
};
}