update scripts for includes

This commit is contained in:
Robin Appelman 2026-07-08 22:55:15 +02:00
commit 542e5196c6
7 changed files with 73 additions and 12 deletions

View file

@ -43,7 +43,7 @@
metamods = pkgs.lib.mapAttrs (name: sdk: pkgs.metamod-source-builder {${name} = sdk;}) pkgs.hl2sdk;
};
packages = inheritPkgs ["ambuild" "hl2sdk" "sourcepawn" "metamod-source" "sourcemod" "sourcemod-includes" "sourcemod-include-library" "srcds-tf2"];
packages = inheritPkgs ["ambuild" "hl2sdk" "sourcepawn" "metamod-source" "sourcemod" "sourcemod-includes" "sourcemod-include-curl" "sourcemod-include-library" "sourcemod-include-steamworks" "srcds-tf2"];
checks = {
buildTestScript = {pkgs, ...}:

View file

@ -25,6 +25,7 @@ buildPythonPackage rec {
updateScript = nix-update-script {
extraArgs = [
"--flake"
"--version=branch"
];
};
};

View file

@ -1,16 +1,17 @@
{
stdenv,
fetchFromGitHub,
nix-update-script,
}:
stdenv.mkDerivation {
pname = "sourcemod-include-curl";
version = "2.0.0-beta";
version = "2.0.1-unstable-2024-01-11";
src = fetchFromGitHub {
owner = "sapphonie";
repo = "SM-neocurl-ext";
rev = "7b92e4acf6dea29348efeb4c0cc89e3071aee56e";
hash = "sha256-CniARMYWJm3Z4mVQFb3uW0CnRE+ENYeZV3NNOWEnf1U=";
rev = "a5b0ca64d425610ba3a6c51d1ccfe3983ab09dd1";
hash = "sha256-R4DnH8oJ1dsh/NfCNRHx8/yTSAo7liWrbQALk4u2esI=";
};
doConfigure = false;
@ -20,4 +21,13 @@ stdenv.mkDerivation {
mkdir $out
cp -r pawn/scripting/include $out
'';
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--flake"
"--version=branch"
];
};
};
}

View file

@ -1,10 +1,11 @@
{
stdenv,
fetchFromGitHub,
nix-update-script,
}:
stdenv.mkDerivation {
pname = "sourcemod-include-library";
version = "19-10-2022";
version = "0-unstable-2022-10-19";
dontBuild = true;
@ -18,4 +19,13 @@ stdenv.mkDerivation {
installPhase = ''
cp -r $src $out
'';
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--flake"
"--version=branch"
];
};
};
}

View file

@ -1,16 +1,17 @@
{
stdenv,
fetchFromGitHub,
writeScript,
}:
stdenv.mkDerivation {
pname = "sourcemod-includes";
version = "1.11";
version = "1.12.0.7239";
src = fetchFromGitHub {
owner = "alliedmodders";
repo = "sourcemod";
rev = "b0cf46521b2be5f1497644275caee9b7c330ed6c";
hash = "sha256-4cB1Ey5eWoCYXmMrT/Irqk+w+1q0RwBQ23YZ4FKI/gM=";
rev = "b951843d42f7b9204615c14885468ea131a24002";
hash = "sha256-GlAi9V78uTSyOfMfHVtEq+RYM31Y0SOUllGXUI2rYGU=";
};
doConfigure = false;
@ -20,4 +21,27 @@ stdenv.mkDerivation {
mkdir $out
cp -r plugins/include $out
'';
passthru.updateScript = writeScript "update-sourcemod" ''
#!/usr/bin/env nix-shell
#!nix-shell -i nu -p nurl common-updater-scripts
let html = http get https://www.sourcemod.net/downloads.php?branch=stable
let branch = $html | query web --query h3 | first | first | parse --regex "from (?P<branch>[0-9.]+) Branch" | get branch | first
let build = $html | query web --as-table [Build] | get 1 | get Build | first
let newRev = $html | query web --query 'td a[href^="https://github.com/alliedmodders/sourcemod/tree/"]' --attribute ['href'] | first | get href | split words | last
let oldHash = nix eval --raw .#sourcemod-includes.src.hash
let oldRev = nix eval --raw .#sourcemod-includes.src.rev
let oldVersion = nix eval --raw .#sourcemod-includes.version
let newHash = nurl https://github.com/alliedmodders/sourcemod $newRev --hash
let newVersion = $"($branch).0.($build)"
let nix = open nix/sourcemod/includes/sourcemod-includes.nix |
str replace $oldHash $newHash |
str replace $oldVersion $newVersion |
str replace $oldRev $newRev
$nix | save -f nix/sourcemod/includes/sourcemod-includes.nix
'';
}

View file

@ -1,10 +1,11 @@
{
stdenv,
fetchFromGitHub,
nix-update-script,
}:
stdenv.mkDerivation {
pname = "sourcemod-include-steamworks";
version = "1.2.3c";
version = "0-unstable-2022-10-19";
src = fetchFromGitHub {
owner = "JoinedSenses";
@ -20,4 +21,13 @@ stdenv.mkDerivation {
mkdir -p $out/include
cp -r include/steamworks.inc $out/include
'';
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--flake"
"--version=branch"
];
};
};
}

View file

@ -1,16 +1,22 @@
#! /usr/bin/env nu
def main [] {
nix-update --flake --version=branch --build ambuild
nix-update --flake --use-update-script ambuild
nix build .#ambuild
nix-update --flake --version=$"(get_metamod_version)" metamod-source
nom build .#metamods.x86_64-linux.tf2
nix build .#metamods.x86_64-linux.tf2
nix-update --flake --use-update-script sourcemod
nom build .#sourcemods.x86_64-linux.tf2
nix build .#sourcemods.x86_64-linux.tf2
let sdks = open nix/sourcemod/hl2sdks.json | columns
$sdks | each {|sdk| update_sdk $sdk}
nix-update --flake --use-update-script sourcemod-include-curl
nix-update --flake --use-update-script sourcemod-include-library
nix-update --flake --use-update-script sourcemod-include-steamworks
nix-update --flake --use-update-script sourcemod-includes
}
def update_sdk [sdk: string] {