From 2bcc4707e86f791167f78784e5ecba218a99218d Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Thu, 21 Oct 2021 12:58:15 +0200 Subject: [PATCH 1/2] dotnet: introduce print-hashes script --- .../compilers/dotnet/print-hashes.sh | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 pkgs/development/compilers/dotnet/print-hashes.sh diff --git a/pkgs/development/compilers/dotnet/print-hashes.sh b/pkgs/development/compilers/dotnet/print-hashes.sh new file mode 100755 index 000000000000..5c97c3132338 --- /dev/null +++ b/pkgs/development/compilers/dotnet/print-hashes.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl + +set -eu + +if [[ $# -lt 1 ]]; then + echo \"usage: $0 version\" >&2 + exit 1 +fi + +VERSION=$1 +HASHFILE=$(mktemp /tmp/dotnet.hashes.XXXXXXXX) +trap "rm -f $HASHFILE" EXIT + +curl -L https://dotnetcli.blob.core.windows.net/dotnet/checksums/$VERSION-sha.txt -o $HASHFILE + +ASPNETCORE_VERSION=$(grep aspnetcore-runtime- $HASHFILE | grep -- -linux-x64.tar.gz | tail -n -1 | sed -e 's:.*aspnetcore-runtime-::' -e 's:-linux-x64.tar.gz.*$::' ) +ASPNETCORE_HASH_LINUX_X64=$(grep aspnetcore-runtime- $HASHFILE | grep -- -linux-x64.tar.gz | cut -d ' ' -f 1) +ASPNETCORE_HASH_LINUX_ARM64=$(grep aspnetcore-runtime- $HASHFILE | grep -- -linux-arm64.tar.gz | cut -d ' ' -f 1) +ASPNETCORE_HASH_OSX_X64=$(grep aspnetcore-runtime- $HASHFILE | grep -- -osx-x64.tar.gz | cut -d ' ' -f 1) +ASPNETCORE_HASH_OSX_ARM64=$(grep aspnetcore-runtime- $HASHFILE | grep -- -osx-arm64.tar.gz | cut -d ' ' -f 1) + +RUNTIME_VERSION=$(grep dotnet-runtime- $HASHFILE | grep -- -linux-x64.tar.gz | tail -n -1 | sed -e 's:.*dotnet-runtime-::' -e 's:-linux-x64.tar.gz.*$::' ) +RUNTIME_HASH_LINUX_X64=$(grep dotnet-runtime- $HASHFILE | grep -- -linux-x64.tar.gz | cut -d ' ' -f 1) +RUNTIME_HASH_LINUX_ARM64=$(grep dotnet-runtime- $HASHFILE | grep -- -linux-arm64.tar.gz | cut -d ' ' -f 1) +RUNTIME_HASH_OSX_X64=$(grep dotnet-runtime- $HASHFILE | grep -- -osx-x64.tar.gz | cut -d ' ' -f 1) +RUNTIME_HASH_OSX_ARM64=$(grep dotnet-runtime- $HASHFILE | grep -- -osx-arm64.tar.gz | cut -d ' ' -f 1) + +# dotnet-sdk has multiple entries in file, but the latest is the newest +SDK_VERSION=$(grep dotnet-sdk- $HASHFILE | grep -- -linux-x64.tar.gz | tail -n -1 | sed -e 's:.*dotnet-sdk-::' -e 's:-linux-x64.tar.gz.*$::' ) +SDK_HASH_LINUX_X64=$(grep dotnet-sdk- $HASHFILE | grep -- -linux-x64.tar.gz | tail -n 1 | cut -d ' ' -f 1) +SDK_HASH_LINUX_ARM64=$(grep dotnet-sdk- $HASHFILE | grep -- -linux-arm64.tar.gz | tail -n 1 | cut -d ' ' -f 1) +SDK_HASH_OSX_X64=$(grep dotnet-sdk- $HASHFILE | grep -- -osx-x64.tar.gz | tail -n 1 | cut -d ' ' -f 1) +SDK_HASH_OSX_ARM64=$(grep dotnet-sdk- $HASHFILE | grep -- -osx-arm64.tar.gz | tail -n 1 | cut -d ' ' -f 1) + +V=${VERSION/./_} +MAJOR_MINOR_VERSION=${V%%.*} + +echo """ + aspnetcore_${MAJOR_MINOR_VERSION} = buildAspNetCore { + version = \"${ASPNETCORE_VERSION}\"; + sha512 = { + x86_64-linux = \"${ASPNETCORE_HASH_LINUX_X64}\"; + aarch64-linux = \"${ASPNETCORE_HASH_LINUX_ARM64}\"; + x86_64-darwin = \"${ASPNETCORE_HASH_OSX_X64}\"; + aarch64-darwin = \"${ASPNETCORE_HASH_OSX_ARM64}\"; + }; + }; + + runtime_${MAJOR_MINOR_VERSION} = buildNetRuntime { + version = \"${RUNTIME_VERSION}\"; + sha512 = { + x86_64-linux = \"${RUNTIME_HASH_LINUX_X64}\"; + aarch64-linux = \"${RUNTIME_HASH_LINUX_ARM64}\"; + x86_64-darwin = \"${RUNTIME_HASH_OSX_X64}\"; + aarch64-darwin = \"${RUNTIME_HASH_OSX_ARM64}\"; + }; + }; + + sdk_${MAJOR_MINOR_VERSION} = buildNetSdk { + version = \"${SDK_VERSION}\"; + sha512 = { + x86_64-linux = \"${SDK_HASH_LINUX_X64}\"; + aarch64-linux = \"${SDK_HASH_LINUX_ARM64}\"; + x86_64-darwin = \"${SDK_HASH_OSX_X64}\"; + aarch64-darwin = \"${SDK_HASH_OSX_ARM64}\"; + }; + }; +""" From 15db090295ab8f7fa147eddd955ef1172fc4c694 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Tue, 9 Nov 2021 10:52:16 +0100 Subject: [PATCH 2/2] dotnet: make SDK 6.0 default should not cause any trouble since all packages should use pinned versions via either of these: - `dotnet-sdk = dotnetCorePackages.sdk_5_0` - `dotnet-sdk_5` --- pkgs/development/compilers/dotnet/default.nix | 8 ++++---- pkgs/top-level/all-packages.nix | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix index 62a08b145bfb..7070243945c5 100644 --- a/pkgs/development/compilers/dotnet/default.nix +++ b/pkgs/development/compilers/dotnet/default.nix @@ -17,9 +17,9 @@ rec { # EOL - sdk_2_1 = throw "Dotnet SDK 2.1 is EOL, please use 3.1 (LTS) or 5.0 (Current)"; - sdk_2_2 = throw "Dotnet SDK 2.2 is EOL, please use 3.1 (LTS) or 5.0 (Current)"; - sdk_3_0 = throw "Dotnet SDK 3.0 is EOL, please use 3.1 (LTS) or 5.0 (Current)"; + sdk_2_1 = throw "Dotnet SDK 2.1 is EOL, please use 3.1 (LTS), 5.0 (Current) or 6.0 (LTS)"; + sdk_2_2 = throw "Dotnet SDK 2.2 is EOL, please use 3.1 (LTS), 5.0 (Current) or 6.0 (LTS)"; + sdk_3_0 = throw "Dotnet SDK 3.0 is EOL, please use 3.1 (LTS), 5.0 (Current) or 6.0 (LTS)"; # v3.1 (LTS) @@ -79,7 +79,7 @@ rec { }; }; - # v6.0 + # v6.0 (LTS) aspnetcore_6_0 = buildAspNetCore { version = "6.0.0"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 92672fef81a4..ce710a3c8860 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -422,9 +422,9 @@ with pkgs; dotnet-sdk_5 = dotnetCorePackages.sdk_5_0; dotnet-sdk_6 = dotnetCorePackages.sdk_6_0; - dotnet-sdk = dotnetCorePackages.sdk_5_0; - dotnet-runtime = dotnetCorePackages.runtime_5_0; - dotnet-aspnetcore = dotnetCorePackages.aspnetcore_5_0; + dotnet-sdk = dotnetCorePackages.sdk_6_0; + dotnet-runtime = dotnetCorePackages.runtime_6_0; + dotnet-aspnetcore = dotnetCorePackages.aspnetcore_6_0; dumb-init = callPackage ../applications/virtualization/dumb-init {};