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-banned"
|
||||||
"sourcemod-plugin-who"
|
"sourcemod-plugin-who"
|
||||||
"sourcemod-plugin-webrcon"
|
"sourcemod-plugin-webrcon"
|
||||||
|
"sourcemod-plugin-afk"
|
||||||
]
|
]
|
||||||
// {
|
// {
|
||||||
test = pkgs:
|
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,
|
fetchFromGitea,
|
||||||
stdenvNoCC,
|
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
lib,
|
lib,
|
||||||
sourcepawn,
|
mkSourcemodPlugin,
|
||||||
sourcemod-includes,
|
|
||||||
}:
|
}:
|
||||||
lib.extendMkDerivation {
|
lib.extendMkDerivation {
|
||||||
constructDrv = stdenvNoCC.mkDerivation;
|
constructDrv = mkSourcemodPlugin;
|
||||||
excludeDrvArgNames = ["name" "version" "rev" "hash" "includes"];
|
excludeDrvArgNames = ["name" "version" "rev" "hash"];
|
||||||
extendDrvArgs = finalAttrs: {
|
extendDrvArgs = finalAttrs: {
|
||||||
name,
|
name,
|
||||||
version,
|
version,
|
||||||
rev,
|
rev,
|
||||||
hash,
|
hash,
|
||||||
includes ? [sourcemod-includes],
|
|
||||||
repo ? name,
|
repo ? name,
|
||||||
}: let
|
...
|
||||||
spcomp = sourcepawn.buildEnv ([sourcemod-includes] ++ includes);
|
}: {
|
||||||
in {
|
|
||||||
pname = "sourcemod-plugin-${name}";
|
pname = "sourcemod-plugin-${name}";
|
||||||
inherit version;
|
inherit version;
|
||||||
src = fetchFromGitea {
|
src = fetchFromGitea {
|
||||||
|
|
@ -27,25 +23,7 @@ lib.extendMkDerivation {
|
||||||
inherit rev hash repo;
|
inherit rev hash repo;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [spcomp];
|
plugins = ["plugin/*.sp"];
|
||||||
|
|
||||||
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
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = nix-update-script {
|
updateScript = nix-update-script {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
final: prev: {
|
final: prev: {
|
||||||
|
mkSourcemodPlugin = final.callPackage ./builder/plugin.nix {};
|
||||||
mkSpirePlugin = final.callPackage ./builder/spire-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-curl = final.callPackage ./curl.nix {};
|
||||||
sourcemod-addon-steamworks = final.callPackage ./steamworks.nix {};
|
sourcemod-addon-steamworks = final.callPackage ./steamworks.nix {};
|
||||||
sourcemod-addon-socket = final.callPackage ./socket.nix {};
|
sourcemod-addon-socket = final.callPackage ./socket.nix {};
|
||||||
|
|
@ -16,4 +18,5 @@ final: prev: {
|
||||||
sourcemod-plugin-banned = final.callPackage ./banned.nix {};
|
sourcemod-plugin-banned = final.callPackage ./banned.nix {};
|
||||||
sourcemod-plugin-who = final.callPackage ./who.nix {};
|
sourcemod-plugin-who = final.callPackage ./who.nix {};
|
||||||
sourcemod-plugin-webrcon = final.callPackage ./webrcon.nix {};
|
sourcemod-plugin-webrcon = final.callPackage ./webrcon.nix {};
|
||||||
|
sourcemod-plugin-afk = final.callPackage ./afk.nix {};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
{
|
{
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
stdenvNoCC,
|
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
|
mkSourcemodPlugin,
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
mkSourcemodPlugin (finalAttrs: {
|
||||||
pname = "sourcemod-plugin-progressive-ruleset-timer";
|
pname = "sourcemod-plugin-progressive-ruleset-timer";
|
||||||
version = "0-unstable-2022-09-08";
|
version = "0-unstable-2022-09-08";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
|
|
@ -13,15 +13,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
hash = "sha256-OHPMVDLZOVZpBv/b0N90xTOut3gBJUxr5f0T0PPqlIE=";
|
hash = "sha256-OHPMVDLZOVZpBv/b0N90xTOut3gBJUxr5f0T0PPqlIE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
plugins = ["addons/sourcemod/scripting/improved_match_timer.sp"];
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir $out
|
|
||||||
ls -l
|
|
||||||
mv addons cfg $out/
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = nix-update-script {
|
updateScript = nix-update-script {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
{
|
{
|
||||||
fetchzip,
|
fetchzip,
|
||||||
stdenvNoCC,
|
mkSourcemodPlugin,
|
||||||
nix-update-script,
|
nix-update-script,
|
||||||
|
sourcemod-include-library,
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
mkSourcemodPlugin (finalAttrs: {
|
||||||
pname = "sourcemod-plugin-soap-tf2dm";
|
pname = "sourcemod-plugin-soap-tf2dm";
|
||||||
version = "4.4.8";
|
version = "4.4.8";
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
|
|
@ -12,14 +13,11 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
includes = [sourcemod-include-library "${finalAttrs.src}/addons/sourcemod/scripting"];
|
||||||
runHook preInstall
|
plugins = [
|
||||||
|
"addons/sourcemod/scripting/soap_tf2dm.sp"
|
||||||
mkdir $out
|
"addons/sourcemod/scripting/soap_tournament.sp"
|
||||||
mv addons cfg $out/
|
];
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
updateScript = nix-update-script {
|
updateScript = nix-update-script {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue