From c0822927113e1f62f0447587455b8f9495340c62 Mon Sep 17 00:00:00 2001 From: yuuko Date: Sun, 24 Nov 2024 01:50:02 -0800 Subject: depotdownloader-json: patch 2.7.3's steamkit2 dep to leave /sys/class/net alone this was causing grief inside nix builds. will be fixed in 2.7.4 but that will take a while to land as it depends on dotnet 9. --- .../2_7/0001-NO-NO-AND-NO.patch | 59 +++++++++++++++ srcds-pkgs/depotdownloader-json/default.nix | 88 +++++++++++++++++++--- 2 files changed, 137 insertions(+), 10 deletions(-) create mode 100644 srcds-pkgs/depotdownloader-json/2_7/0001-NO-NO-AND-NO.patch (limited to 'srcds-pkgs') diff --git a/srcds-pkgs/depotdownloader-json/2_7/0001-NO-NO-AND-NO.patch b/srcds-pkgs/depotdownloader-json/2_7/0001-NO-NO-AND-NO.patch new file mode 100644 index 0000000..27d55f9 --- /dev/null +++ b/srcds-pkgs/depotdownloader-json/2_7/0001-NO-NO-AND-NO.patch @@ -0,0 +1,59 @@ +From 541f9e712491a358511f8c5efdff039429f78222 Mon Sep 17 00:00:00 2001 +From: yuuko +Date: Sun, 24 Nov 2024 01:21:48 -0800 +Subject: [PATCH] NO, NO, AND NO. + +--- + SteamKit2/SteamKit2/Util/HardwareUtils.cs | 36 +---------------------- + 1 file changed, 1 insertion(+), 35 deletions(-) + +diff --git a/SteamKit2/SteamKit2/Util/HardwareUtils.cs b/SteamKit2/SteamKit2/Util/HardwareUtils.cs +index 78f36466..7c7b942b 100644 +--- a/SteamKit2/SteamKit2/Util/HardwareUtils.cs ++++ b/SteamKit2/SteamKit2/Util/HardwareUtils.cs +@@ -276,41 +276,7 @@ namespace SteamKit2 + + static List GetMacAddresses( bool checkForPhysicalDevice = true ) + { +- var netDirectories = Directory.GetDirectories( "/sys/class/net" ); +- var macs = new List(); +- +- // if /sys/class/net can't be open or is empty, "/proc/net/dev" could be read here +- +- foreach ( var directory in netDirectories ) +- { +- var iface = Path.GetFileName( directory ); +- +- if ( checkForPhysicalDevice && !Directory.Exists( $"/sys/class/net/{iface}/device" ) ) +- { +- continue; +- } +- +- try +- { +- // ioctl could be attempted to read the mac address here +- // Loopback mac address will be decoded to zero here +- var addressText = File.ReadAllText( $"/sys/class/net/{iface}/address" ); +- var macAddress = Convert.FromHexString( addressText.Replace( ":", "" ).AsSpan().Trim() ); +- +- macs.Add( macAddress ); +- } +- catch +- { +- // if we can't read a file, continue to the next +- } +- } +- +- if ( checkForPhysicalDevice && macs.Count == 0 ) +- { +- return GetMacAddresses( checkForPhysicalDevice: false ); +- } +- +- return macs; ++ return new List(); + } + } + +-- +2.47.0 + diff --git a/srcds-pkgs/depotdownloader-json/default.nix b/srcds-pkgs/depotdownloader-json/default.nix index 0f6f4c4..a447aa3 100644 --- a/srcds-pkgs/depotdownloader-json/default.nix +++ b/srcds-pkgs/depotdownloader-json/default.nix @@ -1,19 +1,87 @@ -{ depotdownloader }: -depotdownloader.overrideAttrs({ patches ? [], version, ... }: { - patches = if builtins.elem version [ "2.4.7" "2.5.0"] then - [ +{ depotdownloader, callPackage, fetchNuGet, ed }: +depotdownloader.overrideAttrs ( +{ patches ? [] +, buildInputs +, nativeBuildInputs ? [] +, passthru ? {} +, version +, ... +}: +let + # see 2.7.3 below + "SteamKit2" = callPackage ( + { lib, buildDotnetModule + , fetchFromGitHub, fetchNuGet + , dotnetCorePackages + , ed }: + buildDotnetModule rec { + pname = "SteamKit2"; + version = "3.0.0-Beta.4"; + src = fetchFromGitHub { + owner = "SteamRE"; + repo = "SteamKit"; + rev = version; + hash = "sha256-m4ppH3pTCeqs0PrUTVDErqq94CK0XCTWIvTLy1Ll2Cs="; + }; + + projectFile = "SteamKit2/SteamKit2.sln"; + + nugetDeps = buildInputs; + nativeBuildInputs = [ ed ]; + dotnet-sdk = dotnetCorePackages.sdk_8_0; + dotnet-runtime = dotnetCorePackages.runtime_8_0; + + patches = [ ./2_7/0001-NO-NO-AND-NO.patch ]; + postPatch = '' + # nuclear option because tests pull in extra deps + rm -rf SteamKit2/Tests + ed ${projectFile} <