From 3f426728ad784a796a26654bc26525d424be3c56 Mon Sep 17 00:00:00 2001 From: Smaug123 <3138005+Smaug123@users.noreply.github.com> Date: Tue, 24 Dec 2024 20:18:13 +0000 Subject: [PATCH] Use non-deprecated nixpkgs methods --- flake.lock | 12 ++-- flake.nix | 8 ++- nix/deps.json | 182 ++++++++++++++++++++++++++++++++++++++++++++++ nix/deps.nix | 184 ----------------------------------------------- nix/fetchDeps.sh | 73 ------------------- 5 files changed, 193 insertions(+), 266 deletions(-) create mode 100644 nix/deps.json delete mode 100644 nix/deps.nix delete mode 100644 nix/fetchDeps.sh diff --git a/flake.lock b/flake.lock index b7878fa..5b113e8 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720768451, - "narHash": "sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y=", + "lastModified": 1734649271, + "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9", + "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4985400..4167ad8 100644 --- a/flake.nix +++ b/flake.nix @@ -38,15 +38,17 @@ ''; }; in { - packages = { - fantomas = dotnetTool "fantomas" (builtins.fromJSON (builtins.readFile ./.config/dotnet-tools.json)).tools.fantomas.version (builtins.head (builtins.filter (elem: elem.pname == "fantomas") ((import ./nix/deps.nix) {fetchNuGet = x: x;}))).hash; + packages = let + deps = builtins.fromJSON (builtins.readFile ./nix/deps.json); + in { + fantomas = dotnetTool "fantomas" (builtins.fromJSON (builtins.readFile ./.config/dotnet-tools.json)).tools.fantomas.version (builtins.head (builtins.filter (elem: elem.pname == "fantomas") deps)).hash; default = pkgs.buildDotnetModule { pname = pname; version = version; src = ./.; projectFile = projectFile; testProjectFile = testProjectFile; - nugetDeps = ./nix/deps.nix; + nugetDeps = ./nix/deps.json; # `nix build .#default.fetch-deps && ./result nix/deps.json` doCheck = true; dotnet-sdk = dotnet-sdk; dotnet-runtime = dotnet-runtime; diff --git a/nix/deps.json b/nix/deps.json new file mode 100644 index 0000000..206654a --- /dev/null +++ b/nix/deps.json @@ -0,0 +1,182 @@ +[ + { + "pname": "fantomas", + "version": "6.3.10", + "hash": "sha256-2m4YevDp9CRm/Ci2hguDXd6DUMElRg3hNAne9LHntWM=" + }, + { + "pname": "FsCheck", + "version": "3.0.0-rc3", + "hash": "sha256-4Z9Qv+vccrXWh2Fjdwdmjc1YgW+Dcx73ESkdAnHqxOY=" + }, + { + "pname": "FsUnit", + "version": "6.0.0", + "hash": "sha256-q87WQf6MqGhzvaQ7WkkUlCdoE94DY0CD5PaXEj64A6M=" + }, + { + "pname": "Microsoft.AspNetCore.App.Ref", + "version": "7.0.20", + "hash": "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI=" + }, + { + "pname": "Microsoft.AspNetCore.App.Runtime.linux-arm64", + "version": "7.0.20", + "hash": "sha256-ewal9R6o20GV0R02ylSijVFdWZAbdN8TK1PCc/ltHBQ=" + }, + { + "pname": "Microsoft.AspNetCore.App.Runtime.linux-x64", + "version": "7.0.20", + "hash": "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA=" + }, + { + "pname": "Microsoft.AspNetCore.App.Runtime.osx-arm64", + "version": "7.0.20", + "hash": "sha256-PHBb0AuRpB8kkQvQJIJSLu5Ub/U2pYA0wMGBarUkS8o=" + }, + { + "pname": "Microsoft.AspNetCore.App.Runtime.osx-x64", + "version": "7.0.20", + "hash": "sha256-+MQMRFzfG2CbNJnfw0buP4VorL2yR+T4UeEBSbKSmPY=" + }, + { + "pname": "Microsoft.CodeCoverage", + "version": "17.10.0", + "hash": "sha256-yQFwqVChRtIRpbtkJr92JH2i+O7xn91NGbYgnKs8G2g=" + }, + { + "pname": "Microsoft.NET.Test.Sdk", + "version": "17.10.0", + "hash": "sha256-rkHIqB2mquNXF89XBTFpUL2z5msjTBsOcyjSBCh36I0=" + }, + { + "pname": "Microsoft.NETCore.App.Host.linux-arm64", + "version": "7.0.20", + "hash": "sha256-/20dMbO1Ft0WVhl+Lv1916Thvr4kPP9LuuX4bKE+czE=" + }, + { + "pname": "Microsoft.NETCore.App.Host.linux-x64", + "version": "7.0.20", + "hash": "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc=" + }, + { + "pname": "Microsoft.NETCore.App.Host.osx-arm64", + "version": "7.0.20", + "hash": "sha256-MTyRTWhDmMaCsNorju/tLb0w+ssKydDX/NBFzSfqB0Q=" + }, + { + "pname": "Microsoft.NETCore.App.Host.osx-x64", + "version": "7.0.20", + "hash": "sha256-DdumMpP5QN0rPDsB8sjxACM13mT7Wbb0w3LaCe96twc=" + }, + { + "pname": "Microsoft.NETCore.App.Ref", + "version": "7.0.20", + "hash": "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs=" + }, + { + "pname": "Microsoft.NETCore.App.Runtime.linux-arm64", + "version": "7.0.20", + "hash": "sha256-TemMvbNrDzJVHWwxVgnNN2CnTyI6TcvvZDpF4ts6IAw=" + }, + { + "pname": "Microsoft.NETCore.App.Runtime.linux-x64", + "version": "7.0.20", + "hash": "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ=" + }, + { + "pname": "Microsoft.NETCore.App.Runtime.osx-arm64", + "version": "7.0.20", + "hash": "sha256-VHmF1/ObK5hxGYvm5/+pTdketHnxxcnAGK5RaTQpVqE=" + }, + { + "pname": "Microsoft.NETCore.App.Runtime.osx-x64", + "version": "7.0.20", + "hash": "sha256-yktNSySitxWbO6LjcxUuewWFMF2EbcoM2w18CqxmVlc=" + }, + { + "pname": "Microsoft.NETCore.Platforms", + "version": "5.0.0", + "hash": "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c=" + }, + { + "pname": "Microsoft.TestPlatform.ObjectModel", + "version": "17.10.0", + "hash": "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4=" + }, + { + "pname": "Microsoft.TestPlatform.TestHost", + "version": "17.10.0", + "hash": "sha256-+yzP3FY6WoOosSpYnB7duZLhOPUZMQYy8zJ1d3Q4hK4=" + }, + { + "pname": "Newtonsoft.Json", + "version": "13.0.1", + "hash": "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo=" + }, + { + "pname": "NUnit", + "version": "4.1.0", + "hash": "sha256-srzj0lf2ReKw41TnigZwf8rqKKNzGRRVrgN3hR/vRjo=" + }, + { + "pname": "NUnit3TestAdapter", + "version": "4.5.0", + "hash": "sha256-ER3ogl0L5FYyc6pVVPY1ch+AQxG/WgFcnWECnYQJPes=" + }, + { + "pname": "SkiaSharp", + "version": "2.88.8", + "hash": "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A=" + }, + { + "pname": "SkiaSharp.NativeAssets.macOS", + "version": "2.88.8", + "hash": "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI=" + }, + { + "pname": "SkiaSharp.NativeAssets.Win32", + "version": "2.88.8", + "hash": "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM=" + }, + { + "pname": "Spectre.Console", + "version": "0.38.1-preview.0.17", + "hash": "sha256-vAeuOqv8qqBT4nYnOgvazYP1lA/T4tQaDPr4PG4D2Uk=" + }, + { + "pname": "System.IO.Abstractions", + "version": "13.2.28", + "hash": "sha256-RLQAwF1ic6nr4TAfqdvYxpW7aT2uQJxijLMjxP3dksk=" + }, + { + "pname": "System.IO.Abstractions.TestingHelpers", + "version": "13.2.28", + "hash": "sha256-NyaRsWxU1zkn7mC8HaOJUBjGpnqua5hqtidbsftRtxQ=" + }, + { + "pname": "System.IO.FileSystem.AccessControl", + "version": "5.0.0", + "hash": "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc=" + }, + { + "pname": "System.Reflection.Metadata", + "version": "1.6.0", + "hash": "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E=" + }, + { + "pname": "System.Security.AccessControl", + "version": "5.0.0", + "hash": "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54=" + }, + { + "pname": "System.Security.Principal.Windows", + "version": "5.0.0", + "hash": "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y=" + }, + { + "pname": "Wcwidth", + "version": "0.2.0", + "hash": "sha256-GgRJ+dAyCS5PfZvnACQ50rM+EnMvUW/LJhSnHnVU/1w=" + } +] diff --git a/nix/deps.nix b/nix/deps.nix deleted file mode 100644 index b135ade..0000000 --- a/nix/deps.nix +++ /dev/null @@ -1,184 +0,0 @@ -# This file was automatically generated by passthru.fetch-deps. -# Please dont edit it manually, your changes might get overwritten! -{fetchNuGet}: [ - (fetchNuGet { - pname = "fantomas"; - version = "6.3.10"; - hash = "sha256-2m4YevDp9CRm/Ci2hguDXd6DUMElRg3hNAne9LHntWM="; - }) - (fetchNuGet { - pname = "FsCheck"; - version = "3.0.0-rc3"; - hash = "sha256-4Z9Qv+vccrXWh2Fjdwdmjc1YgW+Dcx73ESkdAnHqxOY="; - }) - (fetchNuGet { - pname = "FsUnit"; - version = "6.0.0"; - hash = "sha256-q87WQf6MqGhzvaQ7WkkUlCdoE94DY0CD5PaXEj64A6M="; - }) - (fetchNuGet { - pname = "Microsoft.AspNetCore.App.Ref"; - version = "7.0.20"; - hash = "sha256-OEDXXjQ1HDRPiA4Y1zPr1xUeH6wlzTCJpts+DZL61wI="; - }) - (fetchNuGet { - pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; - version = "7.0.20"; - hash = "sha256-ewal9R6o20GV0R02ylSijVFdWZAbdN8TK1PCc/ltHBQ="; - }) - (fetchNuGet { - pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; - version = "7.0.20"; - hash = "sha256-vq59xMfrET8InzUhkAsbs2xp3ML+SO9POsbwAiYKzkA="; - }) - (fetchNuGet { - pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; - version = "7.0.20"; - hash = "sha256-PHBb0AuRpB8kkQvQJIJSLu5Ub/U2pYA0wMGBarUkS8o="; - }) - (fetchNuGet { - pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; - version = "7.0.20"; - hash = "sha256-+MQMRFzfG2CbNJnfw0buP4VorL2yR+T4UeEBSbKSmPY="; - }) - (fetchNuGet { - pname = "Microsoft.CodeCoverage"; - version = "17.10.0"; - hash = "sha256-yQFwqVChRtIRpbtkJr92JH2i+O7xn91NGbYgnKs8G2g="; - }) - (fetchNuGet { - pname = "Microsoft.NET.Test.Sdk"; - version = "17.10.0"; - hash = "sha256-rkHIqB2mquNXF89XBTFpUL2z5msjTBsOcyjSBCh36I0="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Host.linux-arm64"; - version = "7.0.20"; - hash = "sha256-/20dMbO1Ft0WVhl+Lv1916Thvr4kPP9LuuX4bKE+czE="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Host.linux-x64"; - version = "7.0.20"; - hash = "sha256-Y1Dg8Sqhya86xD+9aJOuznT4mJUyFmoF/YZc0+5LBdc="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Host.osx-arm64"; - version = "7.0.20"; - hash = "sha256-MTyRTWhDmMaCsNorju/tLb0w+ssKydDX/NBFzSfqB0Q="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Host.osx-x64"; - version = "7.0.20"; - hash = "sha256-DdumMpP5QN0rPDsB8sjxACM13mT7Wbb0w3LaCe96twc="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Ref"; - version = "7.0.20"; - hash = "sha256-W9RU3bja4BQLAbsaIhANQPJJh6DycDiBR+WZ3mK6Zrs="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; - version = "7.0.20"; - hash = "sha256-TemMvbNrDzJVHWwxVgnNN2CnTyI6TcvvZDpF4ts6IAw="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Runtime.linux-x64"; - version = "7.0.20"; - hash = "sha256-L+WaGvoXVMT3tZ7R5xFE06zaLcC3SI7LEf4ATBkUAGQ="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; - version = "7.0.20"; - hash = "sha256-VHmF1/ObK5hxGYvm5/+pTdketHnxxcnAGK5RaTQpVqE="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.App.Runtime.osx-x64"; - version = "7.0.20"; - hash = "sha256-yktNSySitxWbO6LjcxUuewWFMF2EbcoM2w18CqxmVlc="; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.Platforms"; - version = "5.0.0"; - hash = "sha256-LIcg1StDcQLPOABp4JRXIs837d7z0ia6+++3SF3jl1c="; - }) - (fetchNuGet { - pname = "Microsoft.TestPlatform.ObjectModel"; - version = "17.10.0"; - hash = "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="; - }) - (fetchNuGet { - pname = "Microsoft.TestPlatform.TestHost"; - version = "17.10.0"; - hash = "sha256-+yzP3FY6WoOosSpYnB7duZLhOPUZMQYy8zJ1d3Q4hK4="; - }) - (fetchNuGet { - pname = "Newtonsoft.Json"; - version = "13.0.1"; - hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; - }) - (fetchNuGet { - pname = "NUnit"; - version = "4.1.0"; - hash = "sha256-srzj0lf2ReKw41TnigZwf8rqKKNzGRRVrgN3hR/vRjo="; - }) - (fetchNuGet { - pname = "NUnit3TestAdapter"; - version = "4.5.0"; - hash = "sha256-ER3ogl0L5FYyc6pVVPY1ch+AQxG/WgFcnWECnYQJPes="; - }) - (fetchNuGet { - pname = "SkiaSharp"; - version = "2.88.8"; - hash = "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A="; - }) - (fetchNuGet { - pname = "SkiaSharp.NativeAssets.macOS"; - version = "2.88.8"; - hash = "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI="; - }) - (fetchNuGet { - pname = "SkiaSharp.NativeAssets.Win32"; - version = "2.88.8"; - hash = "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM="; - }) - (fetchNuGet { - pname = "Spectre.Console"; - version = "0.38.1-preview.0.17"; - hash = "sha256-vAeuOqv8qqBT4nYnOgvazYP1lA/T4tQaDPr4PG4D2Uk="; - }) - (fetchNuGet { - pname = "System.IO.Abstractions"; - version = "13.2.28"; - hash = "sha256-RLQAwF1ic6nr4TAfqdvYxpW7aT2uQJxijLMjxP3dksk="; - }) - (fetchNuGet { - pname = "System.IO.Abstractions.TestingHelpers"; - version = "13.2.28"; - hash = "sha256-NyaRsWxU1zkn7mC8HaOJUBjGpnqua5hqtidbsftRtxQ="; - }) - (fetchNuGet { - pname = "System.IO.FileSystem.AccessControl"; - version = "5.0.0"; - hash = "sha256-c9MlDKJfj63YRvl7brRBNs59olrmbL+G1A6oTS8ytEc="; - }) - (fetchNuGet { - pname = "System.Reflection.Metadata"; - version = "1.6.0"; - hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; - }) - (fetchNuGet { - pname = "System.Security.AccessControl"; - version = "5.0.0"; - hash = "sha256-ueSG+Yn82evxyGBnE49N4D+ngODDXgornlBtQ3Omw54="; - }) - (fetchNuGet { - pname = "System.Security.Principal.Windows"; - version = "5.0.0"; - hash = "sha256-CBOQwl9veFkrKK2oU8JFFEiKIh/p+aJO+q9Tc2Q/89Y="; - }) - (fetchNuGet { - pname = "Wcwidth"; - version = "0.2.0"; - hash = "sha256-GgRJ+dAyCS5PfZvnACQ50rM+EnMvUW/LJhSnHnVU/1w="; - }) -] diff --git a/nix/fetchDeps.sh b/nix/fetchDeps.sh deleted file mode 100644 index e15b822..0000000 --- a/nix/fetchDeps.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash - -# This file was adapted from -# https://github.com/NixOS/nixpkgs/blob/b981d811453ab84fb3ea593a9b33b960f1ab9147/pkgs/build-support/dotnet/build-dotnet-module/default.nix#L173 -set -euo pipefail -export PATH="@binPath@" -for arg in "$@"; do - case "$arg" in - --keep-sources|-k) - keepSources=1 - shift - ;; - --help|-h) - echo "usage: $0 [--keep-sources] [--help] " - echo " The path to write the lockfile to. A temporary file is used if this is not set" - echo " --keep-sources Don't remove temporary directories upon exit, useful for debugging" - echo " --help Show this help message" - exit - ;; - esac -done -tmp=$(mktemp -td "@pname@-tmp-XXXXXX") -export tmp -HOME=$tmp/home -exitTrap() { - test -n "${ranTrap-}" && return - ranTrap=1 - if test -n "${keepSources-}"; then - echo -e "Path to the source: $tmp/src\nPath to the fake home: $tmp/home" - else - rm -rf "$tmp" - fi - # Since mktemp is used this will be empty if the script didnt succesfully complete - if ! test -s "$depsFile"; then - rm -rf "$depsFile" - fi -} -trap exitTrap EXIT INT TERM -dotnetRestore() { - local -r project="${1-}" - local -r rid="$2" - dotnet restore "${project-}" \ - -p:ContinuousIntegrationBuild=true \ - -p:Deterministic=true \ - --packages "$tmp/nuget_pkgs" \ - --runtime "$rid" \ - --no-cache \ - --force -} -declare -a projectFiles=( @projectFiles@ ) -declare -a testProjectFiles=( @testProjectFiles@ ) -export DOTNET_NOLOGO=1 -export DOTNET_CLI_TELEMETRY_OPTOUT=1 -depsFile=$(realpath "${1:-$(mktemp -t "@pname@-deps-XXXXXX.nix")}") -mkdir -p "$tmp/nuget_pkgs" -storeSrc="@storeSrc@" -src="$tmp/src" -cp -rT "$storeSrc" "$src" -chmod -R +w "$src" -cd "$src" -echo "Restoring project..." -rids=("@rids@") -for rid in "${rids[@]}"; do - (( ${#projectFiles[@]} == 0 )) && dotnetRestore "" "$rid" - for project in "${projectFiles[@]-}" "${testProjectFiles[@]-}"; do - dotnetRestore "$project" "$rid" - done -done -echo "Successfully restored project" -echo "Writing lockfile..." -echo -e "# This file was automatically generated by passthru.fetch-deps.\n# Please don't edit it manually, your changes might get overwritten!\n" > "$depsFile" -nuget-to-nix "$tmp/nuget_pkgs" "@packages@" >> "$depsFile" -echo "Successfully wrote lockfile to $depsFile"