sourcemod-addon-steamworks from source

This commit is contained in:
Robin Appelman 2026-07-09 23:22:27 +02:00
commit b9ca632c6d
4 changed files with 46 additions and 27 deletions

View file

@ -57,7 +57,7 @@
"sourcemod-include-steamworks"
"srcds-tf2"
"sourcemod-addon-curl"
"sourcemod-plugin-steamworks"
"sourcemod-addon-steamworks"
"sourcemod-plugin-soap-tf2dm"
"sourcemod-plugin-progressive-ruleset-timer"
"sourcemod-plugin-socket"
@ -82,6 +82,7 @@
sourcemod = true;
plugins = with pkgs; [
sourcemod-addon-curl
sourcemod-addon-steamworks
sourcemod-plugin-mapdownloader
sourcemod-plugin-whitelist
sourcemod-plugin-nocheats

View file

@ -105,7 +105,7 @@
"sdk2013": {
"rev": "4c56ee5bc8bfe00793abb7d40eb3f6fb040f10d2",
"sha256": "sha256-aWrQt7XIpXiomDICcSSqyxYsRZgpHnwX7eIX4o2V5jE=",
"platforms": ["i686-linux"]
"platforms": ["i686-linux", "x86_64-linux"]
},
"hl2dm": {
"rev": "af883d5052349f09fbe641c99149b84769a62d01",

View file

@ -1,7 +1,7 @@
final: prev: {
mkSpirePlugin = final.callPackage ./builder/spire-plugin.nix {};
sourcemod-addon-curl = final.callPackage ./curl.nix {};
sourcemod-plugin-steamworks = final.callPackage ./steamworks.nix {};
sourcemod-addon-steamworks = final.callPackage ./steamworks.nix {};
sourcemod-plugin-soap-tf2dm = final.callPackage ./soap-tf2dm.nix {};
sourcemod-plugin-progressive-ruleset-timer = final.callPackage ./progressive-ruleset-timer.nix {};
sourcemod-plugin-socket = final.callPackage ./socket.nix {};

View file

@ -1,31 +1,49 @@
{
fetchurl,
stdenvNoCC,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "sourcemod-plugin-steamworks";
version = "1.2.3c";
src = fetchurl {
url = "https://github.com/KyleSanderson/SteamWorks/releases/download/${finalAttrs.version}/package-lin.tgz";
sha256 = "sha256-Znnm39GdTHinHSJP8/fXLZvsvCVggu1LzoXLqh4BJxM=";
fetchFromGitHub,
stdenv,
writeScript,
ambuild,
hl2sdk,
sourcemod,
metamod-source,
}: let
steamworks-sdk = fetchFromGitHub {
owner = "rlabrecque";
repo = "SteamworksSDK";
rev = "be6107f4b75bf996531415c53a6488a33a2a1be3";
hash = "sha256-7+s2BKyNMCyiMRoj46DWDWGWZM+melUfuoMzvKDuYUo=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "sourcemod-addon-steamworks";
version = "1.2.3c-64bit-compat";
src = fetchFromGitHub {
owner = "moonexpr";
repo = "SteamWorks";
tag = "x86_64-support";
hash = "sha256-SvyXsVL+JuJmxO0ox5fyAlmt9Ir52U/uCJ8HbUNA5Oc=";
};
nativeBuildInputs = [ambuild];
NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
installPhase = ''
runHook preInstall
mkdir $out
mv addons $out/
mkdir build
cd build
cp ../AMBuildScript ../../
python ../configure.py -s tf2 --hl2sdk-root ${hl2sdk.tf2} --sm-path ${sourcemod.src} --mms-path ${metamod-source.src} --steamworks-path ${steamworks-sdk}
ambuild
cp -r package $out
runHook postInstall
'';
passthru = {
updateScript = nix-update-script {
extraArgs = [
"--flake"
"--version=1.2.3c" # https://github.com/Mic92/nix-update/issues/435
];
# https://github.com/KyleSanderson/SteamWorks/pull/39 needs to be merged before we can auto-update
updateScript = writeScript "update-null" "";
};
};
})
})