Merge branch 'add-dotnet-7' into 'master'

nongnu: dotnet: Add dotnet-7

See merge request nonguix/nonguix!311
This commit is contained in:
Juliana Sims 2025-01-18 22:41:25 +00:00
commit 1744fb1d63

View File

@ -1,5 +1,6 @@
;;; SPDX-License-Identifier: GPL-3.0-or-later ;;; SPDX-License-Identifier: GPL-3.0-or-later
;;; Copyright © 2021 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2021 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
(define-module (nongnu packages dotnet) (define-module (nongnu packages dotnet)
#:use-module (ice-9 match) #:use-module (ice-9 match)
@ -66,7 +67,7 @@ Roslyn workspaces. It provides project dependencies and C# language services to
various IDEs and plugins.") various IDEs and plugins.")
(license license:expat))) (license license:expat)))
(define-public dotnet (define-public dotnet-6
(let ((dotnet-sdk-version "6.0.9")) (let ((dotnet-sdk-version "6.0.9"))
(package (package
(name "dotnet") (name "dotnet")
@ -177,6 +178,97 @@ various IDEs and plugins.")
building different types of applications.") building different types of applications.")
(license license:expat)))) (license license:expat))))
(define-public dotnet-7
(let ((dotnet-sdk-version "7.0.8"))
(package
(inherit dotnet-6)
(version "7.0.305")
(source
(origin
(method url-fetch/tarbomb)
(uri
(string-append "https://download.visualstudio.microsoft.com/download/pr/87a55ae3-917d-449e-a4e8-776f82976e91/03380e598c326c2f9465d262c6a88c45/dotnet-sdk-"
version
"-linux-x64.tar.gz"))
(sha256
(base32
"13hhvi3qb72hjw9v71fyf0mdrp5kj09qjxqg04pca3avif1zdcmv"))))
(arguments
`(#:install-plan
`(("." "share/dotnet/"))
#:patchelf-plan
`(("dotnet"
("gcc:lib" "zlib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libSystem.Net.Security.Native.so")
("mit-krb5"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libSystem.Security.Cryptography.Native.OpenSsl.so")
("openssl"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libSystem.IO.Compression.Native.so")
("zlib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version
"/libcoreclrtraceptprovider.so")
("gcc:lib" "lttng-ust"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/createdump")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libclrjit.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libcoreclr.so")
("gcc:lib" "icu4c"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libhostpolicy.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libmscordaccore.so")
("gcc:lib"))
(,,(string-append "shared/Microsoft.NETCore.App/"
dotnet-sdk-version "/libmscordbi.so")
("gcc:lib"))
(,,(string-append "packs/Microsoft.NETCore.App.Host.linux-x64/"
dotnet-sdk-version
"/runtimes/linux-x64/native/singlefilehost")
("gcc:lib" "openssl" "mit-krb5" "zlib" "icu4c"))
(,,(string-append "packs/Microsoft.NETCore.App.Host.linux-x64/"
dotnet-sdk-version
"/runtimes/linux-x64/native/apphost")
("gcc:lib"))
(,,(string-append "packs/Microsoft.NETCore.App.Host.linux-x64/"
dotnet-sdk-version
"/runtimes/linux-x64/native/libnethost.so")
("gcc:lib"))
(,,(string-append "sdk/" version "/AppHostTemplate/apphost")
("gcc:lib"))
(,,(string-append "host/fxr/" dotnet-sdk-version "/libhostfxr.so")
("gcc:lib")))
#:phases
(modify-phases %standard-phases
(add-before 'patchelf 'patchelf-writable
(lambda _
(for-each make-file-writable (find-files "."))))
(add-after 'install 'install-wrapper
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin-dir (string-append out "/bin"))
(dotnet-target (string-append out "/share/dotnet/dotnet"))
(dotnet-dest (string-append bin-dir "/dotnet")))
(mkdir-p bin-dir)
(symlink dotnet-target dotnet-dest)
;; First symlink, then wrap-program: dotnet cannot run when renamed
(wrap-program dotnet-dest
;; Ensure the `dotnet' program does not phone home to share telemetry
`("DOTNET_CLI_TELEMETRY_OPTOUT" = ("1"))))))))))))
(define-public dotnet dotnet-6)
(define-public dotnet-core-3.1 (define-public dotnet-core-3.1
(let ((dotnet-sdk-version "3.1.25")) (let ((dotnet-sdk-version "3.1.25"))
(package (package