2018-07-15 12:11:02 +02:00
|
|
|
{ stdenv, fetchFromGitHub, cmake, SDL2, boost, fltk, rustPlatform }:
|
|
|
|
with rustPlatform;
|
|
|
|
let
|
|
|
|
version = "0.16.1";
|
2017-02-15 04:00:28 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "ja2-stracciatella";
|
|
|
|
repo = "ja2-stracciatella";
|
|
|
|
rev = "v${version}";
|
2018-07-15 12:11:02 +02:00
|
|
|
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;
|
2017-02-15 04:00:28 +01:00
|
|
|
};
|
2018-07-15 12:11:02 +02:00
|
|
|
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}/bin/libstracciatella.so|g' CMakeLists.txt
|
|
|
|
cmakeFlagsArray+=("-DEXTRA_DATA_DIR=$out/share/ja2")
|
|
|
|
'';
|
|
|
|
|
2017-02-15 04:00:28 +01:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
meta = {
|
|
|
|
description = "Jagged Alliance 2, with community fixes";
|
|
|
|
license = "SFI Source Code license agreement";
|
2017-08-01 22:03:30 +02:00
|
|
|
homepage = https://ja2-stracciatella.github.io/;
|
2017-02-15 04:00:28 +01:00
|
|
|
};
|
|
|
|
}
|