diff options
author | Pavol Rusnak <pavol@rusnak.io> | 2021-10-21 12:58:15 +0200 |
---|---|---|
committer | Pavol Rusnak <pavol@rusnak.io> | 2021-11-09 11:49:03 +0100 |
commit | 2bcc4707e86f791167f78784e5ecba218a99218d (patch) | |
tree | f2e462794f33ab1e7be088ede2a018c45981198b /pkgs/development/compilers/dotnet/print-hashes.sh | |
parent | cd465ef283ae81945426c5b885af615edc346880 (diff) | |
download | nixpkgs-2bcc4707e86f791167f78784e5ecba218a99218d.tar nixpkgs-2bcc4707e86f791167f78784e5ecba218a99218d.tar.gz nixpkgs-2bcc4707e86f791167f78784e5ecba218a99218d.tar.bz2 nixpkgs-2bcc4707e86f791167f78784e5ecba218a99218d.tar.lz nixpkgs-2bcc4707e86f791167f78784e5ecba218a99218d.tar.xz nixpkgs-2bcc4707e86f791167f78784e5ecba218a99218d.tar.zst nixpkgs-2bcc4707e86f791167f78784e5ecba218a99218d.zip |
dotnet: introduce print-hashes script
Diffstat (limited to 'pkgs/development/compilers/dotnet/print-hashes.sh')
-rwxr-xr-x | pkgs/development/compilers/dotnet/print-hashes.sh | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/pkgs/development/compilers/dotnet/print-hashes.sh b/pkgs/development/compilers/dotnet/print-hashes.sh new file mode 100755 index 00000000000..5c97c313233 --- /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}\"; + }; + }; +""" |