diff options
Diffstat (limited to 'pkgs/applications/misc/ArchiSteamFarm/updater.sh')
-rwxr-xr-x | pkgs/applications/misc/ArchiSteamFarm/updater.sh | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/pkgs/applications/misc/ArchiSteamFarm/updater.sh b/pkgs/applications/misc/ArchiSteamFarm/updater.sh index 399ab975fd30e..1de4d6dbfd113 100755 --- a/pkgs/applications/misc/ArchiSteamFarm/updater.sh +++ b/pkgs/applications/misc/ArchiSteamFarm/updater.sh @@ -1,9 +1,9 @@ #!/usr/bin/env nix-shell -#!nix-shell -i bash -p curl gnused jq common-updater-scripts nuget-to-nix dotnet-sdk_5 -set -eo pipefail +#!nix-shell -i bash -p curl gnused jq common-updater-scripts nuget-to-nix +set -exo pipefail cd "$(dirname "${BASH_SOURCE[0]}")" -deps_file="$(realpath ./deps.nix)" +deps_file="$(realpath ./deps)" new_version="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/releases" | jq -r 'map(select(.prerelease == false)) | .[0].tag_name')" old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)" @@ -16,6 +16,7 @@ fi cd ../../../.. update-source-version ArchiSteamFarm "$new_version" store_src="$(nix-build -A ArchiSteamFarm.src --no-out-link)" +platforms="$(nix-instantiate --strict --eval --json -A ArchiSteamFarm.meta.platforms | jq -r .[])" src="$(mktemp -d /tmp/ArchiSteamFarm-src.XXX)" cp -rT "$store_src" "$src" chmod -R +w "$src" @@ -25,12 +26,19 @@ pushd "$src" export DOTNET_NOLOGO=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1 -mkdir ./nuget_pkgs -dotnet restore ArchiSteamFarm.sln --packages ./nuget_pkgs +for i in $platforms; do + nix-shell -p dotnet-sdk_6 --argstr system $i --run " + mkdir ./nuget_pkgs-$i + for project in ArchiSteamFarm/ArchiSteamFarm.csproj ArchiSteamFarm.Tests/ArchiSteamFarm.Tests.csproj; do + dotnet restore $project --packages ./nuget_pkgs-$i + done; -nuget-to-nix ./nuget_pkgs > "$deps_file" + nuget-to-nix ./nuget_pkgs-$i > $deps_file-$i.nix" \ + || echo "Did you set up binformat for $i?"; -trap '' +done; + +trap ' popd rm -r "$src" -'' EXIT +' EXIT |