diff options
Diffstat (limited to 'nixpkgs/pkgs/games/ja2-stracciatella/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/ja2-stracciatella/default.nix | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/ja2-stracciatella/default.nix b/nixpkgs/pkgs/games/ja2-stracciatella/default.nix new file mode 100644 index 000000000000..5dbab979272c --- /dev/null +++ b/nixpkgs/pkgs/games/ja2-stracciatella/default.nix @@ -0,0 +1,50 @@ +{ stdenv, fetchFromGitHub, cmake, SDL2, boost, fltk, rustPlatform }: +with rustPlatform; +let + version = "0.16.1"; + src = fetchFromGitHub { + owner = "ja2-stracciatella"; + repo = "ja2-stracciatella"; + rev = "v${version}"; + sha256 = "1pyn23syg70kiyfbs3pdlq0ixd2bxhncbamnic43rym3dmd52m29"; + }; + lockfile = ./Cargo.lock; + libstracciatellaSrc = stdenv.mkDerivation { + name = "libstracciatella-${version}-src"; + src = "${src}/rust"; + installPhase = '' + mkdir -p $out + cp -R ./* $out/ + cp ${lockfile} $out/Cargo.lock + ''; + }; + libstracciatella = buildRustPackage { + name = "libstracciatella-${version}"; + inherit version; + src = libstracciatellaSrc; + cargoSha256 = "0gxp5ps1lzmrg19h6k31fgxjdnjl6amry2vmb612scxcwklxryhm"; + doCheck = false; + }; +in +stdenv.mkDerivation rec { + name = "ja2-stracciatella-${version}"; + inherit src; + inherit version; + + buildInputs = [ cmake SDL2 fltk boost ]; + + patches = [ + ./remove-rust-buildstep.patch + ]; + preConfigure = '' + sed -i -e 's|rust-stracciatella|${libstracciatella}/lib/libstracciatella.so|g' CMakeLists.txt + cmakeFlagsArray+=("-DEXTRA_DATA_DIR=$out/share/ja2") + ''; + + enableParallelBuilding = true; + meta = { + description = "Jagged Alliance 2, with community fixes"; + license = "SFI Source Code license agreement"; + homepage = https://ja2-stracciatella.github.io/; + }; +} |