nix/nix/metamod-source.nix
2025-06-20 16:50:21 +02:00

57 lines
1.4 KiB
Nix

{
multiStdenv,
fetchFromGitHub,
ambuild,
git,
fetchpatch2,
symlinkJoin,
sdks ? {},
}: let
inherit (builtins) attrNames concatStringsSep attrValues;
sdkNames = attrNames sdks;
combinedSdks = symlinkJoin {
name = "hl2sdk-${concatStringsSep "-" (attrNames sdks)}";
paths = attrValues sdks;
};
in
multiStdenv.mkDerivation rec {
pname = "metamod-source";
version = "1.12";
NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation -Wno-error=ignored-attributes -Wno-error=template-id-cdtor";
src = fetchFromGitHub {
owner = "alliedmodders";
repo = pname;
rev = "02ee4a312525d17b2f6d2f21a953d06";
sha256 = "sha256-Q+MDJsB6bDWos04gkzr2QY8Bn+vDmHM0ljQy80FlKzM=";
fetchSubmodules = true;
};
patches = [
(fetchpatch2 {
url = "https://github.com/alliedmodders/metamod-source/commit/144fbb52c48f7b0b8ba6ad4c92f55c3f2ff20456.patch";
sha256 = "sha256-7Atz5n9nSkX+qw546t2IosA9mdgkg67kuyXcdnUc2Uc=";
})
];
buildInputs = [
ambuild
git
];
hardeningDisable = ["all"];
buildPhase = ''
mkdir build
cd build
python ../configure.py --sdks ${concatStringsSep "," sdkNames} --hl2sdk-root=${combinedSdks} --disable-auto-versioning
ambuild
'';
installPhase = ''
mkdir $out
mv package $out/share
cp -r $src $out/include
'';
}