summary refs log tree commit diff
path: root/pkgs/development/compilers/dotnet/print-hashes.sh
blob: 5c97c3132338fd30c979616a6df112aa6180fe06 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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}\";
    };
  };
"""