about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/dotnet/print-hashes.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/dotnet/print-hashes.sh')
-rwxr-xr-xnixpkgs/pkgs/development/compilers/dotnet/print-hashes.sh69
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/dotnet/print-hashes.sh b/nixpkgs/pkgs/development/compilers/dotnet/print-hashes.sh
new file mode 100755
index 000000000000..5c97c3132338
--- /dev/null
+++ b/nixpkgs/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}\";
+    };
+  };
+"""