summaryrefslogtreecommitdiffstats
path: root/pkgs/development/compilers/dotnet/update.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/dotnet/update.sh')
-rwxr-xr-xpkgs/development/compilers/dotnet/update.sh78
1 files changed, 52 insertions, 26 deletions
diff --git a/pkgs/development/compilers/dotnet/update.sh b/pkgs/development/compilers/dotnet/update.sh
index 9aaa3670cef6..dc9ff0538c74 100755
--- a/pkgs/development/compilers/dotnet/update.sh
+++ b/pkgs/development/compilers/dotnet/update.sh
@@ -1,5 +1,6 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../. -i bash -p curl jq nix gnused
+# shellcheck shell=bash
set -euo pipefail
@@ -67,6 +68,18 @@ generate_package_list() {
done
}
+version_older () {
+ cur_version=$1
+ max_version=$2
+ result=$(nix-instantiate -I ../../../../. \
+ --eval -E "(import <nixpkgs> {}).lib.versionOlder \"$cur_version\" \"$max_version\"")
+ if [[ "$result" == "true" ]]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
aspnetcore_packages () {
local version=$1
# These packages are implicitly references by the build process,
@@ -92,14 +105,11 @@ aspnetcore_packages () {
# This should not happend in minor or bugfix updates, but probably happens
# with every new major .NET release.
local pkgs=( \
- "Microsoft.AspNetCore.App.Ref" \
"Microsoft.AspNetCore.App.Runtime.linux-arm" \
"Microsoft.AspNetCore.App.Runtime.linux-arm64" \
- "Microsoft.AspNetCore.App.Runtime.linux-musl-arm" \
"Microsoft.AspNetCore.App.Runtime.linux-musl-arm64" \
"Microsoft.AspNetCore.App.Runtime.linux-musl-x64" \
"Microsoft.AspNetCore.App.Runtime.linux-x64" \
- "Microsoft.AspNetCore.App.Runtime.osx-arm64" \
"Microsoft.AspNetCore.App.Runtime.osx-x64" \
"Microsoft.AspNetCore.App.Runtime.win-arm" \
"Microsoft.AspNetCore.App.Runtime.win-arm64" \
@@ -107,6 +117,16 @@ aspnetcore_packages () {
"Microsoft.AspNetCore.App.Runtime.win-x86" \
)
+ # Packages that only apply to .NET 6 and up
+ if ! version_older "$version" "6"; then
+ pkgs+=( \
+ "Microsoft.AspNetCore.App.Ref" \
+ "Microsoft.AspNetCore.App.Runtime.linux-musl-arm" \
+ "Microsoft.AspNetCore.App.Runtime.osx-arm64" \
+ )
+ fi
+
+
generate_package_list "$version" "${pkgs[@]}"
}
@@ -135,35 +155,21 @@ sdk_packages () {
# This should not happend in minor or bugfix updates, but probably happens
# with every new major .NET release.
local pkgs=( \
- "Microsoft.NETCore.App.Composite" \
"Microsoft.NETCore.App.Host.linux-arm" \
"Microsoft.NETCore.App.Host.linux-arm64" \
- "Microsoft.NETCore.App.Host.linux-musl-arm" \
"Microsoft.NETCore.App.Host.linux-musl-arm64" \
"Microsoft.NETCore.App.Host.linux-musl-x64" \
"Microsoft.NETCore.App.Host.linux-x64" \
- "Microsoft.NETCore.App.Host.osx-arm64" \
"Microsoft.NETCore.App.Host.osx-x64" \
"Microsoft.NETCore.App.Host.win-arm" \
"Microsoft.NETCore.App.Host.win-arm64" \
"Microsoft.NETCore.App.Host.win-x64" \
"Microsoft.NETCore.App.Host.win-x86" \
- "Microsoft.NETCore.App.Ref" \
"Microsoft.NETCore.App.Runtime.linux-arm" \
"Microsoft.NETCore.App.Runtime.linux-arm64" \
- "Microsoft.NETCore.App.Runtime.linux-musl-arm" \
"Microsoft.NETCore.App.Runtime.linux-musl-arm64" \
"Microsoft.NETCore.App.Runtime.linux-musl-x64" \
"Microsoft.NETCore.App.Runtime.linux-x64" \
- "Microsoft.NETCore.App.Runtime.Mono.linux-arm" \
- "Microsoft.NETCore.App.Runtime.Mono.linux-arm64" \
- "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64" \
- "Microsoft.NETCore.App.Runtime.Mono.linux-x64" \
- "Microsoft.NETCore.App.Runtime.Mono.osx-arm64" \
- "Microsoft.NETCore.App.Runtime.Mono.osx-x64" \
- "Microsoft.NETCore.App.Runtime.Mono.win-x64" \
- "Microsoft.NETCore.App.Runtime.Mono.win-x86" \
- "Microsoft.NETCore.App.Runtime.osx-arm64" \
"Microsoft.NETCore.App.Runtime.osx-x64" \
"Microsoft.NETCore.App.Runtime.win-arm" \
"Microsoft.NETCore.App.Runtime.win-arm64" \
@@ -185,10 +191,6 @@ sdk_packages () {
"runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost" \
"runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy" \
"runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver" \
- "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost" \
- "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost" \
- "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy" \
- "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver" \
"runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost" \
"runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost" \
"runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy" \
@@ -197,10 +199,6 @@ sdk_packages () {
"runtime.linux-x64.Microsoft.NETCore.DotNetHost" \
"runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy" \
"runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver" \
- "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost" \
- "runtime.osx-arm64.Microsoft.NETCore.DotNetHost" \
- "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy" \
- "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver" \
"runtime.osx-x64.Microsoft.NETCore.DotNetAppHost" \
"runtime.osx-x64.Microsoft.NETCore.DotNetHost" \
"runtime.osx-x64.Microsoft.NETCore.DotNetHostPolicy" \
@@ -223,8 +221,36 @@ sdk_packages () {
"runtime.win-x86.Microsoft.NETCore.DotNetHostResolver" \
)
+ # Packages that only apply to .NET 6 and up
+ if ! version_older "$version" "6"; then
+ pkgs+=( \
+ "Microsoft.NETCore.App.Composite" \
+ "Microsoft.NETCore.App.Host.linux-musl-arm" \
+ "Microsoft.NETCore.App.Host.osx-arm64" \
+ "Microsoft.NETCore.App.Runtime.linux-musl-arm" \
+ "Microsoft.NETCore.App.Runtime.osx-arm64" \
+ "Microsoft.NETCore.App.Ref" \
+ "Microsoft.NETCore.App.Runtime.Mono.linux-arm" \
+ "Microsoft.NETCore.App.Runtime.Mono.linux-arm64" \
+ "Microsoft.NETCore.App.Runtime.Mono.linux-musl-x64" \
+ "Microsoft.NETCore.App.Runtime.Mono.linux-x64" \
+ "Microsoft.NETCore.App.Runtime.Mono.osx-arm64" \
+ "Microsoft.NETCore.App.Runtime.Mono.osx-x64" \
+ "Microsoft.NETCore.App.Runtime.Mono.win-x64" \
+ "Microsoft.NETCore.App.Runtime.Mono.win-x86" \
+ "runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost" \
+ "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost" \
+ "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy" \
+ "runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver" \
+ "runtime.osx-arm64.Microsoft.NETCore.DotNetAppHost" \
+ "runtime.osx-arm64.Microsoft.NETCore.DotNetHost" \
+ "runtime.osx-arm64.Microsoft.NETCore.DotNetHostPolicy" \
+ "runtime.osx-arm64.Microsoft.NETCore.DotNetHostResolver" \
+ )
+ fi
+
# Packages that only apply to .NET 7 and up
- if [[ ! ( "$version" =~ ^[1-6]\. ) ]]; then
+ if ! version_older "$version" "7"; then
# ILCompiler requires nixpkgs#181373 to be fixed to work properly
pkgs+=( \
"runtime.linux-arm64.Microsoft.DotNet.ILCompiler" \