From 542e5196c6ab6e55e82a8b1eea6a11f9f4f0cb45 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 8 Jul 2026 22:55:15 +0200 Subject: [PATCH] update scripts for includes --- flake.nix | 2 +- nix/sourcemod/ambuild.nix | 1 + nix/sourcemod/includes/curl.nix | 16 ++++++++-- .../includes/sourcemod-include-library.nix | 12 +++++++- nix/sourcemod/includes/sourcemod-includes.nix | 30 +++++++++++++++++-- nix/sourcemod/includes/steamworks.nix | 12 +++++++- update-all.nu | 12 ++++++-- 7 files changed, 73 insertions(+), 12 deletions(-) diff --git a/flake.nix b/flake.nix index 7445ae5..c2c80d5 100644 --- a/flake.nix +++ b/flake.nix @@ -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, ...}: diff --git a/nix/sourcemod/ambuild.nix b/nix/sourcemod/ambuild.nix index 5c204f0..a4cb36f 100644 --- a/nix/sourcemod/ambuild.nix +++ b/nix/sourcemod/ambuild.nix @@ -25,6 +25,7 @@ buildPythonPackage rec { updateScript = nix-update-script { extraArgs = [ "--flake" + "--version=branch" ]; }; }; diff --git a/nix/sourcemod/includes/curl.nix b/nix/sourcemod/includes/curl.nix index 7861739..35d2e74 100644 --- a/nix/sourcemod/includes/curl.nix +++ b/nix/sourcemod/includes/curl.nix @@ -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" + ]; + }; + }; } diff --git a/nix/sourcemod/includes/sourcemod-include-library.nix b/nix/sourcemod/includes/sourcemod-include-library.nix index e975149..68f3734 100644 --- a/nix/sourcemod/includes/sourcemod-include-library.nix +++ b/nix/sourcemod/includes/sourcemod-include-library.nix @@ -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" + ]; + }; + }; } diff --git a/nix/sourcemod/includes/sourcemod-includes.nix b/nix/sourcemod/includes/sourcemod-includes.nix index 4fda29e..b84858e 100644 --- a/nix/sourcemod/includes/sourcemod-includes.nix +++ b/nix/sourcemod/includes/sourcemod-includes.nix @@ -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[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 + ''; } diff --git a/nix/sourcemod/includes/steamworks.nix b/nix/sourcemod/includes/steamworks.nix index 36bbd94..50f2f93 100644 --- a/nix/sourcemod/includes/steamworks.nix +++ b/nix/sourcemod/includes/steamworks.nix @@ -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" + ]; + }; + }; } diff --git a/update-all.nu b/update-all.nu index 54e9a16..84f1a39 100755 --- a/update-all.nu +++ b/update-all.nu @@ -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] {