diff options
-rw-r--r-- | dev-dotnet/dotnet-sdk-bin/Manifest | 6 | ||||
-rw-r--r-- | dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.401.ebuild | 158 |
2 files changed, 164 insertions, 0 deletions
diff --git a/dev-dotnet/dotnet-sdk-bin/Manifest b/dev-dotnet/dotnet-sdk-bin/Manifest index 0aa633de631d..a7ddb658f163 100644 --- a/dev-dotnet/dotnet-sdk-bin/Manifest +++ b/dev-dotnet/dotnet-sdk-bin/Manifest @@ -34,3 +34,9 @@ DIST dotnet-sdk-8.0.303-linux-musl-arm.tar.gz 218348934 BLAKE2B 4461a1b2cd3229e9 DIST dotnet-sdk-8.0.303-linux-musl-arm64.tar.gz 218434418 BLAKE2B 2ca5f6999542f39325b6fe4c80a202d3e8fd931c958c97b6c08a2d8a27c509ee3c876b739ad3bca3acc951d73a10a25ce1a6315217c4080a7a4302198d80bd7d SHA512 88a42a0a9f0b6981eeb0d2cdbde0fd98631d57c09ddca566bc1b4d4b99a9165e276a3434f6804bd54628387edae99c8f0025e889c0e06ade0defaf2fa5858d65 DIST dotnet-sdk-8.0.303-linux-musl-x64.tar.gz 223120552 BLAKE2B 7a8c257cd1c723d7232481a134b499afa0825f561957ccb0c2aa5baa6b20114e4db0d19fcec25a54ac8020799b6fd7afa582c9d221fc2a9208cd4f2b495e5e58 SHA512 5696332dcfa1dd16f897f68dd190e45f6604fd8228d563394ef9da09f2ff99214ba23b80fa416b7748a5c34912eb42523ba83138d5cbc4468e1efc15b747630a DIST dotnet-sdk-8.0.303-linux-x64.tar.gz 223236164 BLAKE2B 3008c5b3f84a965b717b2f51733cbf6d5ba218f5ae97dc250a2e7279e645b8577d8b6d5443f73e8130385d2263196f954ba6bfa64a2b33a8685d0c5a4035ed19 SHA512 814ff07ccdfc8160c4a24adfda6c815e7feace88c59722f827a5a27041719067538754911fc15cb46978e16566fe0938695891723d182055190e876131faedda +DIST dotnet-sdk-8.0.401-linux-arm.tar.gz 206587208 BLAKE2B 3ed67670a302f182fd0e8d2887a6bb775f31b427b9ae610c843e7b8ed421822b45aa330e1b0ef9eae9c8cd4ac551cd46e6c23e9290094e26ec8f120bbf8ab4bb SHA512 fb90a8e52f5dd29e5953e4662cc9d57caa96dc6a8f6ff6cfae17947aa8a3f53b5fef1bb35b8c05815fa1cafbdc73179f7296ce846bf5769ee12c9daf5bd27941 +DIST dotnet-sdk-8.0.401-linux-arm64.tar.gz 207131531 BLAKE2B 0f66e106939fb57c4d8340bc3678f535f497366485ebe2718762a873259afaf4c7da8c3176feb30827895b62d7b4055bfb4e604cfb4aa566917d67dfcaaf464c SHA512 e8738b21351d030a83be644571f3674c8dda9e6fbd360b221907a7108fab02becd18e1331907535a1294d8c4d0f608519674c27c77dc2c2803cc53cce3e10e0d +DIST dotnet-sdk-8.0.401-linux-musl-arm.tar.gz 206681269 BLAKE2B 70b0ccf05cfba79ffc44dffc4b795eb77cbf13e355837ce2d080bd895478b00f3c63fc146af55bcb4ab6e155b000f128a8828c58562c0da6307b6fd0dfcf4cbe SHA512 c5c547eb301dc965eef1d9bcc64231678e209591b80197a78249d35d1655a5469f39ce6de65436375f6e42d22d159c3dc487be17f6dbe7634040095fc988db21 +DIST dotnet-sdk-8.0.401-linux-musl-arm64.tar.gz 207159631 BLAKE2B 6147ce5db03adc6fcf565411d86dc4afa4e777ed11dc2da5760f7d7b74b268239f0e897152ace3aa39763d72c84975380945c88f7764b00f43a4752e90c44b00 SHA512 2faab93dd38a49386032083a0f4a3a5a5661d6ecff4a98f068ed7aa07b201233804fa0e5efa4911b6eebedc9994d59c4d5d843deb773e7e2627b2aa97e634a82 +DIST dotnet-sdk-8.0.401-linux-musl-x64.tar.gz 211854109 BLAKE2B 26eed64cc8fdc5e54dd14fc70ee4555909d0308317823c6dc424bbddc6196a99e7cc27b4e6a40f77d8efa659273be03b3387c37f688a254db5ebe4e8f47b0d6f SHA512 e711b74832269463e27f98b049c442d3684cdc213115133285a2b189ef4564b65127747cdd3a900de53581019bdf8f47426f2cfc9bfc1c0c3a83106f9bb54ea5 +DIST dotnet-sdk-8.0.401-linux-x64.tar.gz 211866896 BLAKE2B 48700c9b7c0044992c0e5fb32e99f2e57fb7ce27a21b8e1619f92545b426d5f53047ac8400e34fd6e36c2211fd3f675a8bd008da7aed2caf1166962ced3061b2 SHA512 4d2180e82c963318863476cf61c035bd3d82165e7b70751ba231225b5575df24d30c0789d5748c3a379e1e6896b57e59286218cacd440ffb0075c9355094fd8c diff --git a/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.401.ebuild b/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.401.ebuild new file mode 100644 index 000000000000..af517c5a943e --- /dev/null +++ b/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.401.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +SDK_SLOT="$(ver_cut 1-2)" +RUNTIME_SLOT="${SDK_SLOT}.8" + +DESCRIPTION=".NET is a free, cross-platform, open-source developer platform" +HOMEPAGE="https://dotnet.microsoft.com/ + https://github.com/dotnet/dotnet/" +SRC_URI=" +amd64? ( + elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-x64.tar.gz ) + elibc_musl? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-x64.tar.gz ) +) +arm? ( + elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm.tar.gz ) + elibc_musl? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm.tar.gz ) +) +arm64? ( + elibc_glibc? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-arm64.tar.gz ) + elibc_musl? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${PV}/dotnet-sdk-${PV}-linux-musl-arm64.tar.gz ) +) +" +S="${WORKDIR}" + +LICENSE="MIT" +SLOT="${SDK_SLOT}/${RUNTIME_SLOT}" +# See bug https://bugs.gentoo.org/932377 +# KEYWORDS="" + +# STRIP="llvm-strip" corrupts some executables when using the patchelf hack, +# bug https://bugs.gentoo.org/923430 +RESTRICT="splitdebug strip" + +CURRENT_NUGETS_DEPEND=" + ~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT} +" +EXTRA_NUGETS_DEPEND=" + ~dev-dotnet/dotnet-runtime-nugets-6.0.33 + ~dev-dotnet/dotnet-runtime-nugets-7.0.20 +" +NUGETS_DEPEND=" + ${CURRENT_NUGETS_DEPEND} + ${EXTRA_NUGETS_DEPEND} +" + +RDEPEND=" + app-crypt/mit-krb5:0/0 + dev-libs/icu + dev-util/lttng-ust:0/2.12 + sys-libs/zlib:0/1 +" +BDEPEND=" + dev-util/patchelf +" +IDEPEND=" + app-eselect/eselect-dotnet +" +PDEPEND=" + ${NUGETS_DEPEND} +" + +QA_PREBUILT="*" + +MUSL_BAD_LINKS=( + apphost + createdump + dotnet + libSystem.Globalization.Native.so + libSystem.IO.Compression.Native.so + libSystem.Native.so + libSystem.Net.Security.Native.so + libSystem.Security.Cryptography.Native.OpenSsl.so + libclrgc.so + libclrjit.so + libcoreclr.so + libcoreclrtraceptprovider.so + libdbgshim.so + libhostfxr.so + libhostpolicy.so + libmscordaccore.so + libmscordbi.so + libnethost.so + singlefilehost +) +MUSL_BAD_SONAMES=( + libc.musl-aarch64.so.1 + libc.musl-armv7.so.1 + libc.musl-x86_64.so.1 +) + +src_prepare() { + default + + # Fix musl libc SONAME links, bug https://bugs.gentoo.org/894760 + if use elibc_musl ; then + local musl_bad_link + local musl_bad_link_path + local musl_bad_soname + + for musl_bad_link in "${MUSL_BAD_LINKS[@]}" ; do + while read -r musl_bad_link_path ; do + # Skip if file either does not end with ".so" or is not executable. + # Using "case" here for easier matching in case we have to add + # a special exception. + case "${musl_bad_link_path}" in + *.so ) + : + ;; + * ) + if [[ ! -x "${musl_bad_link_path}" ]] ; then + continue + fi + ;; + esac + + einfo "Fixing musl libc link for ${musl_bad_link_path}" + + for musl_bad_soname in "${MUSL_BAD_SONAMES[@]}" ; do + patchelf --remove-needed "${musl_bad_soname}" "${musl_bad_link_path}" || die + done + + patchelf --add-needed libc.so "${musl_bad_link_path}" || die + done < <(find . -type f -name "${musl_bad_link}") + done + fi + + # Remove static libraries, bug https://bugs.gentoo.org/825774 + find ./packs -type f -name "libnethost.a" -delete || die +} + +src_install() { + local dest="opt/${PN}-${SDK_SLOT}" + dodir "${dest%/*}" + + # Create a magic workloads file, bug #841896 + local featureband="$(( $(ver_cut 3) / 100 * 100 ))" # e.g. 404 -> 400 + local workloads="metadata/workloads/${SDK_SLOT}.${featureband}" + + mkdir -p "${S}/${workloads}" || die + touch "${S}/${workloads}/userlocal" || die + + mv "${S}" "${ED}/${dest}" || die + mkdir "${S}" || die + + fperms 0755 "/${dest}" + dosym "../../${dest}/dotnet" "/usr/bin/dotnet-bin-${SDK_SLOT}" +} + +pkg_postinst() { + eselect dotnet update ifunset +} + +pkg_postrm() { + eselect dotnet update ifunset +} |