diff --git a/flake.nix b/flake.nix index 34f664b..387ed14 100644 --- a/flake.nix +++ b/flake.nix @@ -50,6 +50,7 @@ "ambuild" "sourcepawn" "sourcemod" + "srctvplus" "sourcemod-includes" "sourcemod-include-curl" "sourcemod-include-library" diff --git a/nix/sourcemod/overlay.nix b/nix/sourcemod/overlay.nix index 0bc5ff6..21cfb78 100644 --- a/nix/sourcemod/overlay.nix +++ b/nix/sourcemod/overlay.nix @@ -9,6 +9,7 @@ final: prev: metamod-source-builder = final.callPackage ./metamod-source.nix {}; sourcemod = final.callPackage ./sourcemod.nix {} {}; sourcemod-builder = final.callPackage ./sourcemod.nix {}; + srctvplus = final.callPackage ./srctvplus.nix {}; sourcepawn = final.callPackage ./sourcepawn.nix {}; sourcemod-includes = final.callPackage ./includes/sourcemod-includes.nix {}; buildSourcePawnScript = final.callPackage ./build-sourcepawn-script.nix {}; diff --git a/nix/sourcemod/srctvplus.nix b/nix/sourcemod/srctvplus.nix new file mode 100644 index 0000000..ec4277a --- /dev/null +++ b/nix/sourcemod/srctvplus.nix @@ -0,0 +1,39 @@ +{ + fetchurl, + stdenvNoCC, + nix-update-script, + linkFarm, +}: let + fetchFile = version: file: hash: { + name = file; + path = fetchurl { + url = "https://github.com/dalegaard/srctvplus/releases/download/v${version}/${file}"; + sha256 = hash; + }; + }; +in + stdenvNoCC.mkDerivation (finalAttrs: { + pname = "srctvplus"; + version = "2.0"; + src = linkFarm "srctvplus-src" [ + (fetchFile finalAttrs.version "srctvplus.so" "sha256-KoFLjTQXY1nDzdG3x7eU/nTcmEqSH7tdqxFNyI2WCRg=") + (fetchFile finalAttrs.version "srctvplus.vdf" "sha256-iGKHyREgDB8vDv/CMv0BdAzAkTzZJyP98nzzxShUvro=") + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/addons + cp srctvplus.so srctvplus.vdf $out/addons/ + + runHook postInstall + ''; + + passthru = { + updateScript = nix-update-script { + extraArgs = [ + "--flake" + ]; + }; + }; + })