add script to update all sdks

This commit is contained in:
Robin Appelman 2026-07-08 21:29:52 +02:00
commit 7fbb26a81a
3 changed files with 19 additions and 2 deletions

View file

@ -57,7 +57,7 @@ sourcemod doesn't support all of them.
#### i686-linux #### i686-linux
`episode1`, `ep2`, `css`, `hl2dm`, `dods`, `sdk2013`, `tf2`, `l4d`, `l4d2`, `episode1`, `orangebox`, `css`, `hl2dm`, `dods`, `sdk2013`, `tf2`, `l4d`, `l4d2`,
`nucleardawn`, `csgo`, `insurgency`, `bms` and `doi` `nucleardawn`, `csgo`, `insurgency`, `bms` and `doi`
#### x86_64-linux #### x86_64-linux

View file

@ -8,7 +8,7 @@
inherit (lib) optionals importJSON; inherit (lib) optionals importJSON;
revisions = importJSON ./hl2sdks.json; revisions = importJSON ./hl2sdks.json;
# from https://github.com/alliedmodders/hl2sdk-manifests/tree/master/manifests # from https://github.com/alliedmodders/hl2sdk-manifests/tree/master/manifests
linuxX86Sdks = ["episode1" "ep2" "css" "hl2dm" "dods" "sdk2013" "tf2" "l4d" "l4d2" "nucleardawn" "csgo" "insurgency" "bms" "doi"]; linuxX86Sdks = ["episode1" "orangebox" "css" "hl2dm" "dods" "sdk2013" "tf2" "l4d" "l4d2" "nucleardawn" "csgo" "insurgency" "bms" "doi"];
linuxX64Sdks = ["mcv" "blade" "csgo" "tf2" "cs2" "sdk2013" "dota" "dods" "hl2dm" "deadlock" "insurgency" "css"]; linuxX64Sdks = ["mcv" "blade" "csgo" "tf2" "cs2" "sdk2013" "dota" "dods" "hl2dm" "deadlock" "insurgency" "css"];
isX86 = name: elem name linuxX86Sdks; isX86 = name: elem name linuxX86Sdks;
isX64 = name: elem name linuxX64Sdks; isX64 = name: elem name linuxX64Sdks;

17
update-all.nu Executable file
View file

@ -0,0 +1,17 @@
#! /usr/bin/env nu
def main [] {
let sdks = open nix/sourcemod/hl2sdks.json | columns
$sdks | each {|sdk| update_sdk $sdk}
}
def update_sdk [sdk: string] {
print $"Updating ($sdk) SDK"
# some sdks might have identical files at some point, so their hash can be the same
# nix-update will replace all occurences of the hash, which might not be correct
# so we put a unique dummy value in there to work around this
open nix/sourcemod/hl2sdks.json | update ([$sdk, "sha256"] | into cell-path) $"($sdk)-placeholder" | save -f nix/sourcemod/hl2sdks.json
nix-update --flake --use-update-script $"hl2sdk.($sdk)"
nix build .#sourcemods.x86_64-linux.tf2
}