diff --git a/nongnu/packages/dotnet.scm b/nongnu/packages/dotnet.scm index 4a0fc4b..11f02e9 100644 --- a/nongnu/packages/dotnet.scm +++ b/nongnu/packages/dotnet.scm @@ -178,6 +178,95 @@ various IDEs and plugins.") building different types of applications.") (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