build spire plugins from source

This commit is contained in:
Robin Appelman 2026-07-10 02:27:25 +02:00
commit d4c2454cf4
4 changed files with 34 additions and 6 deletions

View file

@ -1,7 +1,11 @@
{mkSpirePlugin}:
{
mkSpirePlugin,
sourcemod-include-curl,
}:
mkSpirePlugin {
name = "banned";
version = "0-unstable-2026-06-18";
rev = "c8186c7bd56e15f2e2e8e5988c0d18058a02df8b";
hash = "sha256-JA9WeM0Je0aHB/z+6xImztTouJNGkaPwD9Cp4z8Ko+4=";
includes = [sourcemod-include-curl];
}

View file

@ -3,17 +3,22 @@
stdenvNoCC,
nix-update-script,
lib,
sourcepawn,
sourcemod-includes,
}:
lib.extendMkDerivation {
constructDrv = stdenvNoCC.mkDerivation;
excludeDrvArgNames = ["name" "version" "rev" "hash"];
excludeDrvArgNames = ["name" "version" "rev" "hash" "includes"];
extendDrvArgs = finalAttrs: {
name,
version,
rev,
hash,
includes ? [sourcemod-includes],
repo ? name,
}: {
}: let
spcomp = sourcepawn.buildEnv ([sourcemod-includes] ++ includes);
in {
pname = "sourcemod-plugin-${name}";
inherit version;
src = fetchFromGitea {
@ -22,11 +27,22 @@ lib.extendMkDerivation {
inherit rev hash repo;
};
nativeBuildInputs = [spcomp];
buildPhase = ''
runHook preBuild
spcomp plugin/*.sp
runHook preBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/addons/sourcemod/plugins/
mv plugin/*.smx $out/addons/sourcemod/plugins/
mv *.smx $out/addons/sourcemod/plugins/
runHook postInstall
'';

View file

@ -1,7 +1,11 @@
{mkSpirePlugin}:
{
mkSpirePlugin,
sourcemod-include-curl,
}:
mkSpirePlugin {
name = "mapdownloader";
version = "0-unstable-2025-10-27";
rev = "06dbac41712bd62ae3aa1fd442ab2265ee2f488f";
hash = "sha256-aNlrxrv2K73lKP7hYOER3um4P6fbiV/nF4GDcVaUNbo=";
includes = [sourcemod-include-curl];
}

View file

@ -1,8 +1,12 @@
{mkSpirePlugin}:
{
mkSpirePlugin,
sourcemod-include-curl,
}:
mkSpirePlugin {
name = "whitelist";
version = "0-unstable-2025-10-29";
rev = "333c5065514a6c5b2f11e57f8ef0bbe80ac28a74";
hash = "sha256-1za2Ii772ymjejI0LaT61hmqEmIMnD/7sVXpMJIwMrc=";
repo = "sm_whitelist";
includes = [sourcemod-include-curl];
}