mirror of
https://codeberg.org/spire/nix.git
synced 2026-08-02 12:25:00 +02:00
more plugins
This commit is contained in:
parent
d4c2454cf4
commit
c959438b2c
8 changed files with 125 additions and 49 deletions
|
|
@ -72,6 +72,7 @@
|
|||
"sourcemod-plugin-banned"
|
||||
"sourcemod-plugin-who"
|
||||
"sourcemod-plugin-webrcon"
|
||||
"sourcemod-plugin-afk"
|
||||
]
|
||||
// {
|
||||
test = pkgs:
|
||||
|
|
|
|||
5
nix/sourcemod/plugins/afk.nix
Normal file
5
nix/sourcemod/plugins/afk.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{mkF2Plugin}:
|
||||
mkF2Plugin (finalAttrs: {
|
||||
pname = "sourcemod-plugin-afk";
|
||||
name = "afk";
|
||||
})
|
||||
55
nix/sourcemod/plugins/builder/f2-plugin.nix
Normal file
55
nix/sourcemod/plugins/builder/f2-plugin.nix
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
lib,
|
||||
mkSourcemodPlugin,
|
||||
}:
|
||||
lib.extendMkDerivation {
|
||||
constructDrv = mkSourcemodPlugin;
|
||||
excludeDrvArgNames = ["name" "includes"];
|
||||
extendDrvArgs = finalAttrs: {
|
||||
name,
|
||||
includes ? [],
|
||||
...
|
||||
}: let
|
||||
f2Includes = stdenvNoCC.mkDerivation {
|
||||
pname = "sourcemod-f2-includes";
|
||||
inherit (finalAttrs) version src;
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -r includes $out/include
|
||||
'';
|
||||
};
|
||||
in {
|
||||
pname = "sourcemod-plugin-${name}";
|
||||
version = "20260702-1782977488895-unstable-2026-07-02";
|
||||
src = fetchFromGitHub {
|
||||
owner = "F2";
|
||||
repo = "F2s-sourcemod-plugins";
|
||||
rev = "2be8d34329603569a2848f66b68f3ca323c9d937";
|
||||
hash = "sha256-XN/LBD3P3tWTI9xwO0+a6+dRH4kyDUTNhGWs2FCCHd0=";
|
||||
};
|
||||
|
||||
plugins = ["${name}/${name}.sp"];
|
||||
includes = includes ++ [f2Includes];
|
||||
|
||||
postInstall = ''
|
||||
if [ -f "${name}.inc" ]; then
|
||||
mkdir -p $out/addons/sourcemod/scripting/include/
|
||||
mv "${name}.inc" $out/addons/sourcemod/scripting/include/
|
||||
fi
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--flake"
|
||||
"--version=branch"
|
||||
"--override-filename=nix/sourcemod/plugins/builder/f2-plugin.nix"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
44
nix/sourcemod/plugins/builder/plugin.nix
Normal file
44
nix/sourcemod/plugins/builder/plugin.nix
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
stdenvNoCC,
|
||||
lib,
|
||||
sourcepawn,
|
||||
sourcemod-includes,
|
||||
}:
|
||||
lib.extendMkDerivation {
|
||||
constructDrv = stdenvNoCC.mkDerivation;
|
||||
excludeDrvArgNames = ["includes" "plugin"];
|
||||
extendDrvArgs = finalAttrs: {
|
||||
includes ? [],
|
||||
plugins,
|
||||
src,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) concatStringsSep map;
|
||||
spcomp = sourcepawn.buildEnv ([
|
||||
sourcemod-includes
|
||||
finalAttrs.src
|
||||
]
|
||||
++ includes);
|
||||
spCompLines = concatStringsSep "\n" (map (plugin: "spcomp ${plugin}") plugins);
|
||||
in {
|
||||
nativeBuildInputs = [spcomp];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
${spCompLines}
|
||||
|
||||
runHook preBuild
|
||||
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/addons/sourcemod/plugins/
|
||||
mv *.smx $out/addons/sourcemod/plugins/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -1,24 +1,20 @@
|
|||
{
|
||||
fetchFromGitea,
|
||||
stdenvNoCC,
|
||||
nix-update-script,
|
||||
lib,
|
||||
sourcepawn,
|
||||
sourcemod-includes,
|
||||
mkSourcemodPlugin,
|
||||
}:
|
||||
lib.extendMkDerivation {
|
||||
constructDrv = stdenvNoCC.mkDerivation;
|
||||
excludeDrvArgNames = ["name" "version" "rev" "hash" "includes"];
|
||||
constructDrv = mkSourcemodPlugin;
|
||||
excludeDrvArgNames = ["name" "version" "rev" "hash"];
|
||||
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 {
|
||||
|
|
@ -27,25 +23,7 @@ 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 *.smx $out/addons/sourcemod/plugins/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
plugins = ["plugin/*.sp"];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
final: prev: {
|
||||
mkSourcemodPlugin = final.callPackage ./builder/plugin.nix {};
|
||||
mkSpirePlugin = final.callPackage ./builder/spire-plugin.nix {};
|
||||
mkF2Plugin = final.callPackage ./builder/f2-plugin.nix {};
|
||||
sourcemod-addon-curl = final.callPackage ./curl.nix {};
|
||||
sourcemod-addon-steamworks = final.callPackage ./steamworks.nix {};
|
||||
sourcemod-addon-socket = final.callPackage ./socket.nix {};
|
||||
|
|
@ -16,4 +18,5 @@ final: prev: {
|
|||
sourcemod-plugin-banned = final.callPackage ./banned.nix {};
|
||||
sourcemod-plugin-who = final.callPackage ./who.nix {};
|
||||
sourcemod-plugin-webrcon = final.callPackage ./webrcon.nix {};
|
||||
sourcemod-plugin-afk = final.callPackage ./afk.nix {};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
fetchFromGitHub,
|
||||
stdenvNoCC,
|
||||
nix-update-script,
|
||||
mkSourcemodPlugin,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
mkSourcemodPlugin (finalAttrs: {
|
||||
pname = "sourcemod-plugin-progressive-ruleset-timer";
|
||||
version = "0-unstable-2022-09-08";
|
||||
src = fetchFromGitHub {
|
||||
|
|
@ -13,15 +13,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
hash = "sha256-OHPMVDLZOVZpBv/b0N90xTOut3gBJUxr5f0T0PPqlIE=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir $out
|
||||
ls -l
|
||||
mv addons cfg $out/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
plugins = ["addons/sourcemod/scripting/improved_match_timer.sp"];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
{
|
||||
fetchzip,
|
||||
stdenvNoCC,
|
||||
mkSourcemodPlugin,
|
||||
nix-update-script,
|
||||
sourcemod-include-library,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
mkSourcemodPlugin (finalAttrs: {
|
||||
pname = "sourcemod-plugin-soap-tf2dm";
|
||||
version = "4.4.8";
|
||||
src = fetchzip {
|
||||
|
|
@ -12,14 +13,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
stripRoot = false;
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir $out
|
||||
mv addons cfg $out/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
includes = [sourcemod-include-library "${finalAttrs.src}/addons/sourcemod/scripting"];
|
||||
plugins = [
|
||||
"addons/sourcemod/scripting/soap_tf2dm.sp"
|
||||
"addons/sourcemod/scripting/soap_tournament.sp"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue