mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
fallout-ce: init at 1.0.0
This commit is contained in:
parent
cf7ed5615d
commit
a8f2eb6587
77
pkgs/games/fallout-ce/build.nix
Normal file
77
pkgs/games/fallout-ce/build.nix
Normal file
@ -0,0 +1,77 @@
|
||||
{ cmake
|
||||
, fpattern
|
||||
, lib
|
||||
, SDL2
|
||||
, stdenv
|
||||
, writeShellScript
|
||||
|
||||
, extraBuildInputs ? [ ]
|
||||
, extraMeta
|
||||
, pname
|
||||
, version
|
||||
, src
|
||||
}:
|
||||
|
||||
let
|
||||
launcher = writeShellScript "${pname}" ''
|
||||
set -eu
|
||||
assetDir="''${XDG_DATA_HOME:-$HOME/.local/share}/${pname}"
|
||||
[ -d "$assetDir" ] || mkdir -p "$assetDir"
|
||||
cd "$assetDir"
|
||||
|
||||
notice=0 fault=0
|
||||
requiredFiles=(master.dat critter.dat)
|
||||
for f in "''${requiredFiles[@]}"; do
|
||||
if [ ! -f "$f" ]; then
|
||||
echo "Required file $f not found in $PWD, note the files are case-sensitive"
|
||||
notice=1 fault=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! -d "data/sound/music" ]; then
|
||||
echo "data/sound/music directory not found in $PWD. This may prevent in-game music from functioning."
|
||||
notice=1
|
||||
fi
|
||||
|
||||
if [ $notice -ne 0 ]; then
|
||||
echo "Please reference the installation instructions at https://github.com/alexbatalov/fallout2-ce"
|
||||
fi
|
||||
|
||||
if [ $fault -ne 0 ]; then
|
||||
exit $fault;
|
||||
fi
|
||||
|
||||
exec @out@/libexec/${pname} "$@"
|
||||
'';
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version src;
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ SDL2 ] ++ extraBuildInputs;
|
||||
hardeningDisable = [ "format" ];
|
||||
cmakeBuildType = "RelWithDebInfo";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace third_party/fpattern/CMakeLists.txt \
|
||||
--replace "FetchContent_Populate" "#FetchContent_Populate" \
|
||||
--replace "{fpattern_SOURCE_DIR}" "${fpattern}/include" \
|
||||
--replace "$/nix/" "/nix/"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D ${pname} $out/libexec/${pname}
|
||||
install -D ${launcher} $out/bin/${pname}
|
||||
substituteInPlace $out/bin/${pname} --subst-var out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
license = licenses.sustainableUse;
|
||||
maintainers = with maintainers; [ hughobrien TheBrainScrambler ];
|
||||
platforms = platforms.linux;
|
||||
} // extraMeta;
|
||||
}
|
20
pkgs/games/fallout-ce/fallout-ce.nix
Normal file
20
pkgs/games/fallout-ce/fallout-ce.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ callPackage
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
callPackage ./build.nix rec {
|
||||
pname = "fallout-ce";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexbatalov";
|
||||
repo = "fallout1-ce";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-EvRkOlvtiVao63S0WRKKuHlhfkdTgc0m6GTyv4EfJFU=";
|
||||
};
|
||||
|
||||
extraMeta = {
|
||||
description = "A fully working re-implementation of Fallout, with the same original gameplay, engine bugfixes, and some quality of life improvements";
|
||||
homepage = "https://github.com/alexbatalov/fallout1-ce";
|
||||
};
|
||||
}
|
@ -37522,6 +37522,8 @@ with pkgs;
|
||||
|
||||
exult = callPackage ../games/exult { };
|
||||
|
||||
fallout-ce = callPackage ../games/fallout-ce/fallout-ce.nix { };
|
||||
|
||||
flare = callPackage ../games/flare {
|
||||
inherit (darwin.apple_sdk.frameworks) Cocoa;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user