diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-08-25 14:56:25 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-08-25 14:56:25 +0100 |
commit | 5c42677148c717eb9f4673237db807f74740b4e9 (patch) | |
tree | ee9f721e91477693459f31721790f2f41839a74c /dev-dotnet/dotnet-sdk-bin | |
parent | c9b5a916efac64df2a39870a92cc6b67116d1b9f (diff) |
gentoo auto-resync : 25:08:2024 - 14:56:25
Diffstat (limited to 'dev-dotnet/dotnet-sdk-bin')
-rw-r--r-- | dev-dotnet/dotnet-sdk-bin/Manifest | 14 | ||||
-rw-r--r-- | dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.108.ebuild | 158 | ||||
-rw-r--r-- | dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.401.ebuild | 158 |
3 files changed, 330 insertions, 0 deletions
diff --git a/dev-dotnet/dotnet-sdk-bin/Manifest b/dev-dotnet/dotnet-sdk-bin/Manifest index 78014dd9c43c..57a356151aee 100644 --- a/dev-dotnet/dotnet-sdk-bin/Manifest +++ b/dev-dotnet/dotnet-sdk-bin/Manifest @@ -28,16 +28,30 @@ DIST dotnet-sdk-8.0.107-linux-musl-arm.tar.gz 209094033 BLAKE2B ecc7f6ea32a71ecb DIST dotnet-sdk-8.0.107-linux-musl-arm64.tar.gz 208907068 BLAKE2B 0ee7875279dd37572c6d0b6360d76efa1078ffd8a67822c587a60e9ca50fee6c35418d7ddb92f182d2bbc8fc2c11bb015ea2790e668103b9f6c486b3414169d6 SHA512 5b99a07607cae652e4b392c17a7856ffb5df939e95d741d07c385d422e5511394567b5102213da1dc65183680d0e908d83c43c95b14bfabec305ca7731d9d676 DIST dotnet-sdk-8.0.107-linux-musl-x64.tar.gz 213639420 BLAKE2B ee877963955c1ae23b69c3fce1b2ab1d799b646e5917d5a1eb19e707bfeacd0118fca79a91993b97a40aafdacffe259a5c94b303c0b277e3202d2bfc75a99b33 SHA512 f25c95f9acff4db16593541fda517c32477eb618dc9ad5b3983a4ab5bd62fdd3c03c7d9f56afe1132aff5137bbdc4161e0b83f7c8101cb1766b82ed4072becef DIST dotnet-sdk-8.0.107-linux-x64.tar.gz 213608643 BLAKE2B 716886da2c5a2190dc81e031b9e439eb31f6318418fdf47d487f3aacad99368f642f13d80aa6dd961517939d3e7e6f59efc4563a5ac62c4d7fc3a798e709e32a SHA512 10e0fbdc589e5e0de4fb0fe0e9c839bb2257c51948037a224d4358b8328b6791014ab4cb164beb617c83531a6ed774acb37b08e4a1b53f165e3eb853fd41a959 +DIST dotnet-sdk-8.0.108-linux-arm.tar.gz 208945195 BLAKE2B e5e2c06ef316da57b7fb39fdd7fa6865b1d5b9040ba1f89cda67bb8bb0039f6c8f41beafc1c180e0317b92c5dcdff21212b2ae312a675b5b48cc50f74efb5abd SHA512 fafa8564b34b524b4209e1047ce7cf1190a5d42e7ba1b13524f5de602b075e630cdd229567f14eb2f0ae6c96ac910ae9dbb4fc4e528df958c9d31471341eedca +DIST dotnet-sdk-8.0.108-linux-arm64.tar.gz 208922242 BLAKE2B 76cc7262e503ebec87e665aa393dad704e8a38ce5c4b886c204ef96a9be18935ecc80b59f04c49a81cda152641bbbe17ba41120e4f56d0ce70e679808aafaa16 SHA512 6cc723f2b139d19b2e17da5936698d388a5b64638b75ef78c40c407ed3cfd3dea745c2916f03efc9e66479fc55d608eb3a89305727ecdb1c999b183b58de258d +DIST dotnet-sdk-8.0.108-linux-musl-arm.tar.gz 209001685 BLAKE2B 3f788ab4a10c7372942764150b1e3845fa54bb253095d6ab303ad93bd69dc2c9038c49d7b2d5c132979c15ad70040394d9c8d5fe34fbba092e99a99c4c0e653d SHA512 efb308d81ac1020962f14d03e7ca9419a2901a0846120e07cd95c65407fe2981a26360c2ffea141d80581aac6d2c36a7379c76c07b2fb37d4efb836905f8ff68 +DIST dotnet-sdk-8.0.108-linux-musl-arm64.tar.gz 209077243 BLAKE2B 1b2ca78c62c16dd50aee5946276eb3f578433fa20c6a18d391049dd7adffd8099191c1709e4d913337254cbf2fc063d68ea8f46b7c726f38cfddd7ec60f46cfa SHA512 e7009ba373b043ccb469557271ac8ae518ab9c9b5b364e9841d8b97305b6036f33240e672e7c483798616a233429748d5038fdfd336352b82060afd645747045 +DIST dotnet-sdk-8.0.108-linux-musl-x64.tar.gz 213832674 BLAKE2B fdd7b4c442f1ee2aa410275222892d5845946b125c60c63c6da968cf5efef65550ac4f92f764e6f09e10ce519ea995c7387fb17b83442317aa01f0d9cb405553 SHA512 744715501de3946f06cd316f35cabc0e363e0af651044c976708c0d48d4eb0d09489d92cceb283c751b2eed0e293ceaaabddcbabf7c25e21d658ebff9dc304aa +DIST dotnet-sdk-8.0.108-linux-x64.tar.gz 213752759 BLAKE2B d2e2218e3770d023e2661b9b54e9fdb81ed1512cf08808216282cca9a064de23da5c2f5bc32b7e91e95a381656da7ddf6d5593bd01fe3f6297441174ed3769be SHA512 5666ddf6fa9b65deaba4d7c5fcc2e2d56f631c4f5f6fb2a9f5919af0616ab2b420b12a828becc2e4b8628a76ac3dae824b55abde5c6d5ac59ee131d7eceae7c2 DIST dotnet-sdk-8.0.303-linux-arm.tar.gz 218288787 BLAKE2B 7f689b9c695b2622f2489a9bb3b7d080e7f488d8c3dc63cf8bc1df0bba6fc7b97fd6407308c9998de40dcacfeea2e23eebbd4dafc7cd57ddb30b34819273c2eb SHA512 03b3730d1fd5e1955b8a23e69695c975e88e781513b1f47027ce4ed96a8743ba2560ca87ae2e937ebd89ef69a3aa05c4ca2f39eede5a27bd937775f372b9feba DIST dotnet-sdk-8.0.303-linux-arm64.tar.gz 218493906 BLAKE2B 2018811bbbde7835da9634635e479856e55a851eed0e6eed966cb8a125638c6f10f2a4687bc4134a895cbc4c8363b5ce878b8f8ebd2c5f37622452590f225f62 SHA512 09cb6b12770febe186e36971afdbcea6e8bf5fb34b7701cd8c416f597d3b7e930d05e51ccef1985e5598291540ef2d721187904587469300bb39772317e2be5c DIST dotnet-sdk-8.0.303-linux-musl-arm.tar.gz 218348934 BLAKE2B 4461a1b2cd3229e91cdffe315b04561029694f5425b80d00b57a3517c56952a3b93245ef7b4ccf156089252f3558b5324cfb9b25af1ba26dca293590528cdde8 SHA512 5e119bf1496bebd3b62d0c0c837bb8e8695784c91f9042771b01b47953d82e59605d7c04f2b821340792ace2966587a10d980bebeb8f9a39f1e8e4588ab59a6c 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 EBUILD dotnet-sdk-bin-6.0.417-r4.ebuild 3648 BLAKE2B cae115deee48b38c6ebb1eba1a4eea60d4d21d5378702aa1a72dd3569b548f1bbdfbe0f0030ec0911eb9f564d208c49fbba14712651d2da555cc778b5399a435 SHA512 36011a4300685da89ece02df2f3f4193e34976e3e38ea41c88937a1b90e4ba21fb0fa908e5544b90b4e3ccde89af9b15d86fdf9969233ca4e2a85e267cb45b0a EBUILD dotnet-sdk-bin-7.0.404-r4.ebuild 3827 BLAKE2B ebeeaad4a1a335fff5ea6f07e0a28d65337b0d948626636bbe8435cc4fa7a8ef356fbd78b294dad0f9913b595775d45bc5a0ed45cfc0daf7705280b492224d18 SHA512 9d841acc5259e8c5f1ad98b1864bdec93b972c797ff7cfad17bd1ab03ad35a25554868f20167de622513ac47ab49f5e492fd9bad97256f7db5598abd6f994cc0 EBUILD dotnet-sdk-bin-8.0.105.ebuild 3868 BLAKE2B 4f2f27f6130dee4fb0b952a4dfcb124b107c9724a2a1752e5b6bdca426be10b5849be8370775eb820c1df90940abfb9bf1a5cba99020480003875d82ca3a0b17 SHA512 252f9736ce7d5baaa166a7bc32f8676095bf2fab82679039ef0755e262dc7fbad4840bb3491070572b0e3ba4165f2f71964a2ee0f6de2a8b9b6e54983de6297c EBUILD dotnet-sdk-bin-8.0.106.ebuild 3909 BLAKE2B 5f7e570c94a2413e1d9991f8c9dda2d85e2c29a397982116b65e38c52eed5d1b632356e19d0178bdd361b3e7b06ac74f488eda6d0f99fe2a08ad7f3220fce7d4 SHA512 c60dced438a8b038e76cb7627a17b2a5265f2e13c823ea9be8f1df303b57339741bb38f99a7e9bae52c182a63b9764122d1041c4a497149b59752abdb7b0dac3 EBUILD dotnet-sdk-bin-8.0.107.ebuild 3912 BLAKE2B f6cd700ccdcaec8791d1803e6fd1260b0afd8ef71f2cd26d30e89d153d59bcc75cabe09139fa471cbf714e20f86c6c7b61613e3700e7f00626e872dae346565c SHA512 295bb77f6fc7f9e7eaa7869bfd33fe4264b5b899474f3637a99fc0894a9636dfddd807acd35820ccbe739abab31ba3043ff922b85a79372ee9da77cd38b6f6bb +EBUILD dotnet-sdk-bin-8.0.108.ebuild 3912 BLAKE2B 1cd706ed7e9361667a25e4ef28af14fe4f4ac3ddcfca0e71069835c68c945eda453faaccc328e6fa6d180a9aeadd17e551b84724e1da9736cc82f6a5b0f723f2 SHA512 ddb4a460e967583ddeb87719fa5ca39d13c28e939cb13929abacd539cb20a59467fbf5dbbb6628e1a57b13e606d056d780aadf8dd64bbb98ee18a90bde46cd7d EBUILD dotnet-sdk-bin-8.0.303.ebuild 3896 BLAKE2B ed47259ae1c611cc0f5df6dc24ee5b54ac67b754145687d51e54a47a985549936b56a44692f7075c983a60b89d4c799799d87b9713a88844f50efec9313a99ec SHA512 29a8f1006c9232f3b9ef63846276ad54b39b7be4652f870e5d223b5eef1bd1f0cc09035e44f94dd6efad2675dac41d8d02b31cb596e32cd64db71057228fdd35 +EBUILD dotnet-sdk-bin-8.0.401.ebuild 3896 BLAKE2B b08d3277039a39e30d23afab5eae61adfd33bb35a6f11b07450916b85585907da521a158f2e155f0329db82fd061c68c3306d050a2306f18fa363f0d0a9029db SHA512 d9a4357439343a92b0bf059ba9791b8d282d031282c9eafc399f6d1aa4c81bf4fd971270098325f91bd19421c855e23c2c46c5bb922a18f29d18e1bf6f6bc197 MISC metadata.xml 399 BLAKE2B 77e69a42625154f791fdf1e9559921a4e7aa077e91f78d3ec52779818287d05612080ca21a4199a3531e8d1af34a78f362a07b3cd89cd027dc1f0b6cf84fbbdf SHA512 d0b85e5ea0a2a4aa361d21a81218ef5dd68f6d51972addc771681208342075a860436a135e8f219cb5b4424f8a40d1dace8260c6c0eb1da3ef1a0dd13811c1d0 diff --git a/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.108.ebuild b/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.108.ebuild new file mode 100644 index 000000000000..077e0cb0100d --- /dev/null +++ b/dev-dotnet/dotnet-sdk-bin/dotnet-sdk-bin-8.0.108.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="~amd64 ~arm ~arm64" + +# 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 +} 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 +} |