39 lines
1.0 KiB
Nix
39 lines
1.0 KiB
Nix
{ stdenv, lib, mkXPlaneAddon, xPlaneEnv }:
|
|
|
|
let
|
|
inherit (lib) findFirst optionalString;
|
|
inherit (builtins) isDerivation;
|
|
globalTrees = findFirst (k: k.pname == "sam-global-trees") false xPlaneEnv.addons;
|
|
|
|
in mkXPlaneAddon rec {
|
|
pname = "sam-basic";
|
|
version = "2.0.5";
|
|
|
|
fname = "SAM_${version}.7z";
|
|
sha256 = "1f97r4g5cvhphkr2widcd9w0p5z66lahbjk3cm6rs6y0rvyz66pf";
|
|
forumlink = "https://sam.stairport-sceneries.com/${fname}";
|
|
buildCommand = ''
|
|
mkdir -p $out
|
|
7z x -o$out $src
|
|
ln -s ${globalTrees} $out/SAM/lib/SAM_GlobalTrees
|
|
'';
|
|
|
|
passthru = {
|
|
build = ''
|
|
ln -s $ADDONPATH $out/xplane-extra/SAM
|
|
'';
|
|
# Must be copied because it writes logs
|
|
prepare = ''
|
|
cp -r --no-preserve=mode -t "$XPLANEPATH/Resources/plugins" /xplane-extra/SAM/SAM
|
|
touch "$XPLANEPATH/Resources/plugins/SAM/.prepared"
|
|
'';
|
|
revert = ''
|
|
if [ -f "$XPLANEPATH/Resources/plugins/SAM/.prepared" ]; then
|
|
rm -rf "$XPLANEPATH/Resources/plugins/SAM"
|
|
else
|
|
false
|
|
fi
|
|
'';
|
|
};
|
|
}
|