mirror of
https://codeberg.org/spire/nix.git
synced 2026-08-02 04:14:47 +02:00
support propagated runtime inputs for plugins
This commit is contained in:
parent
bd8744fdec
commit
fd7ed8b848
6 changed files with 19 additions and 12 deletions
|
|
@ -82,9 +82,6 @@
|
|||
};
|
||||
sourcemod = true;
|
||||
plugins = with pkgs; [
|
||||
sourcemod-addon-curl
|
||||
sourcemod-addon-steamworks
|
||||
sourcemod-addon-socket
|
||||
sourcemod-plugin-mapdownloader
|
||||
sourcemod-plugin-whitelist
|
||||
sourcemod-plugin-nocheats
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
mkSpirePlugin,
|
||||
sourcemod-include-curl,
|
||||
sourcemod-addon-curl,
|
||||
}:
|
||||
mkSpirePlugin {
|
||||
name = "banned";
|
||||
version = "0-unstable-2026-06-18";
|
||||
rev = "c8186c7bd56e15f2e2e8e5988c0d18058a02df8b";
|
||||
hash = "sha256-JA9WeM0Je0aHB/z+6xImztTouJNGkaPwD9Cp4z8Ko+4=";
|
||||
includes = [sourcemod-include-curl];
|
||||
runtimeInputs = [sourcemod-addon-curl];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,11 +6,12 @@
|
|||
}:
|
||||
lib.extendMkDerivation {
|
||||
constructDrv = stdenvNoCC.mkDerivation;
|
||||
excludeDrvArgNames = ["includes" "plugin" "installIncludes"];
|
||||
excludeDrvArgNames = ["includes" "plugin" "installIncludes" "runtimeInputs"];
|
||||
extendDrvArgs = finalAttrs: {
|
||||
includes ? [],
|
||||
plugins,
|
||||
installIncludes ? [],
|
||||
runtimeInputs ? [],
|
||||
src,
|
||||
...
|
||||
}: let
|
||||
|
|
@ -19,7 +20,8 @@ lib.extendMkDerivation {
|
|||
sourcemod-includes
|
||||
finalAttrs.src
|
||||
]
|
||||
++ includes);
|
||||
++ includes
|
||||
++ runtimeInputs);
|
||||
spCompLines = concatStringsSep "\n" (map (plugin: "spcomp ${plugin}") plugins);
|
||||
createInclude = optionalString ((length installIncludes) > 0) "mkdir -p $out/addons/sourcemod/scripting/include/";
|
||||
installLines = concatStringsSep "\n" (map (installInclude: "cp '${installInclude}' $out/addons/sourcemod/scripting/include/") installIncludes);
|
||||
|
|
@ -46,5 +48,7 @@ lib.extendMkDerivation {
|
|||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.runtimeInputs = runtimeInputs;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
mkSpirePlugin,
|
||||
sourcemod-include-curl,
|
||||
sourcemod-addon-curl,
|
||||
}:
|
||||
mkSpirePlugin {
|
||||
name = "mapdownloader";
|
||||
version = "0-unstable-2025-10-27";
|
||||
rev = "06dbac41712bd62ae3aa1fd442ab2265ee2f488f";
|
||||
hash = "sha256-aNlrxrv2K73lKP7hYOER3um4P6fbiV/nF4GDcVaUNbo=";
|
||||
includes = [sourcemod-include-curl];
|
||||
runtimeInputs = [sourcemod-addon-curl];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
mkSpirePlugin,
|
||||
sourcemod-include-curl,
|
||||
sourcemod-addon-curl,
|
||||
}:
|
||||
mkSpirePlugin {
|
||||
name = "whitelist";
|
||||
|
|
@ -8,5 +8,5 @@ mkSpirePlugin {
|
|||
rev = "333c5065514a6c5b2f11e57f8ef0bbe80ac28a74";
|
||||
hash = "sha256-1za2Ii772ymjejI0LaT61hmqEmIMnD/7sVXpMJIwMrc=";
|
||||
repo = "sm_whitelist";
|
||||
includes = [sourcemod-include-curl];
|
||||
runtimeInputs = [sourcemod-addon-curl];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
lib,
|
||||
symlinkJoin,
|
||||
sourcemod-builder,
|
||||
metamod-source-builder,
|
||||
|
|
@ -7,18 +8,23 @@
|
|||
sdk,
|
||||
extraPackages,
|
||||
}: let
|
||||
inherit (lib) foldl unique;
|
||||
sdks = {
|
||||
${sdk} = hl2sdk.${sdk};
|
||||
};
|
||||
metaModSdk = metamod-source-builder sdks;
|
||||
sourceModSdk = sourcemod-builder sdks;
|
||||
flattenRequires = foldl (acc: package: acc ++ [package] ++ (flattenRequires package.runtimeInputs or [])) [];
|
||||
propagatedExtraPackages = unique (flattenRequires extraPackages);
|
||||
names = lib.map (p: p.name) propagatedExtraPackages;
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "srcds-tf2-src-addons";
|
||||
paths = [metaModSdk sourceModSdk] ++ extraPackages;
|
||||
paths = [metaModSdk sourceModSdk] ++ propagatedExtraPackages;
|
||||
postBuild = ''
|
||||
mv $out tmp
|
||||
mkdir $out
|
||||
mv tmp $out/${gamedir}
|
||||
echo ${lib.concatStringsSep ", " names} > $out/addons.txt
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue