From 494168b06b81a32b889c3cb1f721f925d0a6824f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 8 Dec 2024 02:07:29 +0000 Subject: gentoo auto-resync : 08:12:2024 - 02:07:28 --- dev-dotnet/Manifest.gz | Bin 3802 -> 3800 bytes dev-dotnet/csharp-gentoodotnetinfo/Manifest | 11 + .../csharp-gentoodotnetinfo-2.9999.ebuild | 70 ++++++ dev-dotnet/dotnet-sdk/Manifest | 4 +- dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r1.ebuild | 228 ------------------ dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r2.ebuild | 248 ++++++++++++++++++++ dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild | 258 -------------------- dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r2.ebuild | 261 +++++++++++++++++++++ 8 files changed, 592 insertions(+), 488 deletions(-) create mode 100644 dev-dotnet/csharp-gentoodotnetinfo/csharp-gentoodotnetinfo-2.9999.ebuild delete mode 100644 dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r2.ebuild delete mode 100644 dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild create mode 100644 dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r2.ebuild (limited to 'dev-dotnet') diff --git a/dev-dotnet/Manifest.gz b/dev-dotnet/Manifest.gz index f791505ea3e7..17ee7d9ffbde 100644 Binary files a/dev-dotnet/Manifest.gz and b/dev-dotnet/Manifest.gz differ diff --git a/dev-dotnet/csharp-gentoodotnetinfo/Manifest b/dev-dotnet/csharp-gentoodotnetinfo/Manifest index 6a532ace4b85..eb1f3e64d0bf 100644 --- a/dev-dotnet/csharp-gentoodotnetinfo/Manifest +++ b/dev-dotnet/csharp-gentoodotnetinfo/Manifest @@ -1,5 +1,16 @@ +DIST coverlet.collector.6.0.2.nupkg 2243339 BLAKE2B 6c169dee185f31b9b47b2ab042fad4f2386c6b8e5843f208d3e7d878820483d9387963ec61a90ab4c29512889f1a94d9c918d4da450040fdd9e226bafa638cf6 SHA512 9060ec586906992aa906154d05e8af0592b145d46b40cfbbfc097236e81faf48d9ec6a437c5642cc094f7eaff2642dd036d58f7823c65cdf10e13705e1a3d904 DIST csharp-gentoodotnetinfo-1.1.1.tar.bz2 19051 BLAKE2B e55042c43c956d7a7cef999f92ce131aaeccc10db6a248d154aabd01f9072d71baed29f1ccfdd8c3f96d094f3eab491e4a9e04e1239ae23ba22695363cd35e6a SHA512 372a61251a3a8f0df2cf2b5dc83fc6348b7551c3101646ad10086cd324363e63589d056d7f260058c5ab2f01ba759d231b078c923a592f7d11a7b81b6004fcd1 +DIST microsoft.codecoverage.17.12.0.nupkg 9421347 BLAKE2B 46afd5c4c8352005700e0541dc87c2ac76d8726f60589ec9a84d6fdd52eb28bf7d4e33b032daddecd0dca9bf6854efe958dc903ef2af8be63eddc08db301e60d SHA512 3ce06a83bf3caeb2c0a6f9dccbcaefb72277ca7b01754d3f4865170febcfab244333f69425b3d95b1d35a9a9462512b519c02b4a4bbc40377d01531ad1390290 DIST microsoft.dotnet.platformabstractions.3.1.6.nupkg 72146 BLAKE2B 08d852b5e6558b499f2d780284aa747e5cf39886d86fa378128fae9f71741bd57c5bc75c0077948f193b7e8ea03a520d8ef3bd3b4fc80779adb4a84a4b44fe8c SHA512 55b87f544874686bed96889953b7e99e43426b79b0fac31cc452e0f4a27ca5cc08522c0ac967bf9df649f7c04137a5e2553d134ad79d5c1e69578367c2b4b4c6 +DIST microsoft.net.test.sdk.17.12.0.nupkg 34293 BLAKE2B 30424196c85fb2d0fe44d013e21df5e94d7314148d54e626930c0a177c4002cffc5186bd1c477023e9c9d4371f19be1aeb20ea93779b5217314eba29b8f3d8b1 SHA512 8467fc23cfb2a35e5eb5abe831dfbb39770e1bafc6ec760f0c4260e5a42784ccecc5a529abeb9d359cd2c6610df6b19358c64e01515cc8d5cd2fb601b0de9c87 +DIST microsoft.testplatform.objectmodel.17.12.0.nupkg 1660190 BLAKE2B d38c48a3b28a4eef0e11d0724904c35bb0bf5ca48bed4d69666c743afb2ea522adb577709d7f12a16f02208be173dc5a260e0f1b67f7a1dc5a4d375cc1ffebe5 SHA512 925b1732000f356628ddc79a90b928778c18ae4e25015d84862ebbeb350a822569439623eaadefb0c864ff7a66f7b2ed93f85d7125b4ac9289bdc42f4f33e060 +DIST microsoft.testplatform.testhost.17.12.0.nupkg 2882125 BLAKE2B 3e8d45c7f955cb051dfd569bd3e754cf016691a78ea4f52c07febf733094e823eb0c63f3e2230a81901bb1fa9c78b538ece61a3a2fb06e098381f6a54c5c42bb SHA512 81833604e190bc510fd9f66deb57f77f91aefa298bd46d5bbc652b6c98e961c97ae91eaecece721128345cc9fc22052095dcfc46574e39a6268e4d8a712786d5 +DIST newtonsoft.json.13.0.1.nupkg 2065787 BLAKE2B 000c38ce26a2a00bb25a9c1d6fb069ada521ff089bb624a5c1255b25767c10616cc51821524e7bc3d8b45eb8f8ee54c97454db1db9ae5e5c78eb6300a99f979d SHA512 83731b662eaf05379a23f8446ef47bbc111349dd4358b7bd8b51383fe9cf637e2fe62f78cea52a0d7bdd582dc6fbbb5837d4a7b1d53dcf37a0ae7473e21ee7b1 +DIST nunit.4.2.2.nupkg 702845 BLAKE2B b289c1a8d598eb24251a072aed9325a0f5bca528eb8b39a8099952ee72de6f68dc4f97723aa602b2272300b86f91e43e4a7450bdc572831aca044616bf11fadb SHA512 9056ad5b6e459a7d3b80c51556ecaa086b0e5d28133a3031d23546aab9247375d283244e68a75f5f301c74ed1fb3e0ddb12644de41022e78867be293fe846620 +DIST nunit.analyzers.4.4.0.nupkg 133429 BLAKE2B d6253da4d59e2eeca47a744b4f38701f3a4e6f15bfdad7d7327c583b33872a856caaa112c5e0e12bcce35acd959b8b0a5587deda147d2c515c12c7958919b48f SHA512 1c22a07269a7f396e54cdbed4a6925ca05c3ca0697fb38f9e92fcbce73da4bfebc1aa7e320226eab5699871315cb1aa9c4fb48ecb44d72d16127fb6b59c300cd +DIST nunit3testadapter.4.6.0.nupkg 512620 BLAKE2B ab251ac7d56407d35cfb352956ae153f4052a4e6c014a50becdc31ed9b2c325d0b6fcb61752e3b11e435b61c86b1f7ea51415e72f1ae894dd35acb17410fb23b SHA512 4e489dea089cbf32e01b74105003eaf64a11e11a488aefba50553f856afde2940a2659d0017055b8a86a7aa79247d5572bee41b497ceb0efe7074e8b9c86294a DIST system.commandline.2.0.0-beta4.22272.1.nupkg 616636 BLAKE2B 5252560598c4cd67348520cea086c37b4151b984a61238de1984838975340247b16050113422b1765931bdfc1dee38e226789b6427e56ab7c3a36bf07d0bcc20 SHA512 979a7e66ba29e17bc5bec42e926ed15362e23ae403e498c955e09dffc4d3baa14777a06f95e25d591fc9757a0eaa18deb9e4662a1ca1663fa300f509a4a0383c +DIST system.reflection.metadata.1.6.0.nupkg 852113 BLAKE2B 4d15704a1fe00501c1bd8c945d02cd2e2d77c12ce86aa628edd18383838c9dbbfc449b8026707bb1ac570e55369e988aa6068f57acdea28f519bd3bdfd5b9304 SHA512 f5227666edc6bb1da78b8a8e86a68e9bd647caa2ec6a1580c14a4a5e1fe5cfde3bdaf0d8c23dc210c405a55f83ceb6add1a9adab149dc065b38cfddc9b01ba20 EBUILD csharp-gentoodotnetinfo-1.1.1-r1.ebuild 1047 BLAKE2B 9c44a7d6ed937352967287898b6e086e23c6a432eff5620a25229c90a2e7318bfbf48cf24c303b811490b3e9728d9bebd01200dd93b3f896cbaa3bcbf5a30633 SHA512 a1ccf7b846a6cfb0d6f04b70a7c0a9bb95295e8a76bc2f34ca8efa11039b9d17209e04d7240350c98114be0c797aa070efbf9749dfa6bfdf259ff2ada2232120 +EBUILD csharp-gentoodotnetinfo-2.9999.ebuild 1512 BLAKE2B 41ee136a25b229fd31e22834f772de027faa2e9eddf31fa4588addcc17312de1687ddbc1cd8e7054e43529752ef65365b84c4b4cd3f7c07d9629416298e0a23b SHA512 8b62f45777832b14f9161f06428fa11bf0ec5fd030a8ca71e28c3e3fb5ad5865b5035edd35dcdae4a76a9d25590e2d3c9592fdb6861e6bda8821c72c1c8a4b31 MISC metadata.xml 441 BLAKE2B 19f6f9bf53a7f2cbadd053dafa583aefa466e23b17cd2dc2c6f31af5b2432a3191341730569cedff2358d47c612f27476d67b8fe1c3b6df32022d41543ef1661 SHA512 8979243a5a0db2fdc61bb0fa3c0e3a7771d2ed7da49ef8e6cd6ba4d770e855a1d3604b275568e97719e1cedaa817a85d3a8778daf37f0d980e6d3d64ef218f93 diff --git a/dev-dotnet/csharp-gentoodotnetinfo/csharp-gentoodotnetinfo-2.9999.ebuild b/dev-dotnet/csharp-gentoodotnetinfo/csharp-gentoodotnetinfo-2.9999.ebuild new file mode 100644 index 000000000000..2736499c82fc --- /dev/null +++ b/dev-dotnet/csharp-gentoodotnetinfo/csharp-gentoodotnetinfo-2.9999.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MAJOR="$(ver_cut 1)" + +DOTNET_PKG_COMPAT="9.0" +NUGETS=" +coverlet.collector@6.0.2 +microsoft.codecoverage@17.12.0 +microsoft.dotnet.platformabstractions@3.1.6 +microsoft.net.test.sdk@17.12.0 +microsoft.testplatform.objectmodel@17.12.0 +microsoft.testplatform.testhost@17.12.0 +newtonsoft.json@13.0.1 +nunit.analyzers@4.4.0 +nunit3testadapter@4.6.0 +nunit@4.2.2 +system.commandline@2.0.0-beta4.22272.1 +system.reflection.metadata@1.6.0 +" + +inherit dotnet-pkg + +DESCRIPTION=".NET information tool for Gentoo" +HOMEPAGE="https://gitlab.gentoo.org/dotnet/csharp-gentoodotnetinfo/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://gitlab.gentoo.org/dotnet/${PN}.git" +else + SRC_URI="https://gitlab.gentoo.org/dotnet/${PN}/-/archive/${PV}/${P}.tar.bz2" + + KEYWORDS="~amd64 ~arm ~arm64" +fi + +SRC_URI+=" ${NUGET_URIS} " +S="${WORKDIR}/${P}/Source/v${MAJOR}" + +LICENSE="GPL-2+" +SLOT="0/${MAJOR}" + +DOTNET_PKG_PROJECTS=( gentoo-dotnet-info-app/GentooDotnetInfo ) + +src_unpack() { + dotnet-pkg_src_unpack + + if [[ -n "${EGIT_REPO_URI}" ]] ; then + git-r3_src_unpack + fi +} + +src_test() { + dotnet-pkg_src_test + + # Test-run. + edotnet exec "${DOTNET_PKG_OUTPUT}/GentooDotnetInfo.dll" +} + +src_install() { + local launcher_dll="/usr/share/${P}/GentooDotnetInfo.dll" + + dotnet-pkg-base_install + dotnet-pkg-base_dolauncher_portable "${launcher_dll}" gentoo-dotnet-info + + cd ../.. || die # Project root. + einstalldocs +} diff --git a/dev-dotnet/dotnet-sdk/Manifest b/dev-dotnet/dotnet-sdk/Manifest index 9f8d98e49213..4ab85732e760 100644 --- a/dev-dotnet/dotnet-sdk/Manifest +++ b/dev-dotnet/dotnet-sdk/Manifest @@ -2,6 +2,6 @@ DIST dotnet-sdk-8.0.107-prepared-gentoo-amd64.tar.xz 1792165680 BLAKE2B 08d38009 DIST dotnet-sdk-8.0.107-prepared-gentoo-musl-amd64.tar.xz 1785364676 BLAKE2B 50782e24f48484e0e4bfb03f08e3a67060eb5eb15e03f09036147b041828c1ddd039cf1eae03e9c48e0197c78f68532ff4e74b7cbfbbeaf59e70262190868aa5 SHA512 b196c7fea4f75bd39093148cf4d5034773fd1aa03024ca0fddc6a117c009555b8b125d7452df071181947957ba042f964e63e8ec6d18cebb62a766add7de50db DIST dotnet-sdk-9.0.100-prepared-gentoo-amd64.tar.xz 1911541760 BLAKE2B 0b215fad40ff48774b7c89ee83a74ec81e03b6efb19ffd6a8f934aecf38752ae74596bdb6612ded71ba40f1026b70d181a70ecd1db2af9e3dc8e0ce31c7502a6 SHA512 6b7429eef112fd18ba8bd3f3c38d0aa7d8b5337de3c0623e967d8e76f1d6efc8c645fbb89593fa95bec8b70f2e289f1f650a96912687bc3339c08a582d4ea31c DIST dotnet-sdk-9.0.100-prepared-gentoo-musl-amd64.tar.xz 1916495488 BLAKE2B 2d4d489fdb31ad51df03fd8b1755d2062e448ed069e92507f0115122b8490338bd717082019808f8a6be64415681ac794e4e3d1cf3ad5016d783d46016b07fa5 SHA512 bfd04e3d9cef832e7f7fd95e62730f8b5382d797020512a2cdcb239db3e24d54bb087e5cbcd40a73932486b8b48daf3941974f83e55ff3f99ca4969e31f23584 -EBUILD dotnet-sdk-8.0.107-r1.ebuild 5529 BLAKE2B 9a9890931a6303490c8d9f698a71d53726006b41322be1cc7cab5af70866ec7ae7cd2baf32ee7b04904d1acd45b77e08093689400b5ad0528264aaee817ce606 SHA512 a638bf80800b55f9dde3192b32fbb7bce7c5babe02efb5af4469cb0b3cbee338dad2b66a79e6fda0609f96219981492190045b27305b3bb8bb8fb21ec8e7ee62 -EBUILD dotnet-sdk-9.0.100-r1.ebuild 6388 BLAKE2B a8cae5236346a4c88fcde80b000bb74418b9cfe3f9140a37ab0786b608a8a0425e6612fb44edd7824eb42297b990f2eb353e0451f0cf3d4e08dbb03517ff323d SHA512 c7d127558de0211e14de2e274364f1954e2a0278214d00fd59599e5713183ae3f5a4ac814024e85a7130b650928833b02b309cb1f6c52646873a852ae0a5c987 +EBUILD dotnet-sdk-8.0.107-r2.ebuild 6006 BLAKE2B 2e05a803dbc57d5275730778d5d7cac530d48677aab953881581c562494fae07fd13cbff9119b5f3bdb1e772e4035e3bfcd4b99db1186887041a0fdf5117724c SHA512 1bb8e6c738a2ea5285295f883788deec2d10a1cd8ebc5e7cf0ca46d39b3598ea6da1e8330b90ccedafe749007197be96de4a3f00f396ed25df867bb96f03dde6 +EBUILD dotnet-sdk-9.0.100-r2.ebuild 6411 BLAKE2B eb0266a55367497acb859d901f480de852530ccecc876ca015b2db0cad913dcf80cd7d73e34cba3b2d03d7f80be6179d77b354d404c091c65d7053429e0f1108 SHA512 3146abfd1c62189f696dfbad81c60621f67ec6cc99f2ad20b9d67a75ce2ee3a9ab4c7e444a96a580bb49d7d3e49aee80388e1d11b64da366e944cd39434a2107 MISC metadata.xml 518 BLAKE2B f9733bd3b6b343126c400ce35dc7e4e57421a6643219341c4beab83d47beb1182306f3d0c5f1e7ff0854fd49818b2c6af37598170b88e2eb82b62d478735abf0 SHA512 940830b1208c39e4cfd72817d399156b027e5ac51dcc7bb983c9ec973f8f2ef76e440a2d358d15f7a2e185c42ae98c986210224f1477923967e3dc70eb0cfde9 diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r1.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r1.ebuild deleted file mode 100644 index 99624dbcdea8..000000000000 --- a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r1.ebuild +++ /dev/null @@ -1,228 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Pre-build (and distribution preparation) -# Build the tarball: -# git clone --depth 1 -b v8.0.7 https://github.com/dotnet/dotnet dotnet-sdk-8.0.7 -# cd dotnet-sdk-8.0.7 -# git rev-parse HEAD -# ./prep.sh -# rm -fr .git -# cd .. -# tar -acf dotnet-sdk-8.0.107-prepared-gentoo-amd64.tar.xz dotnet-sdk-8.0.7 -# Upload dotnet-sdk-8.0.107-prepared-gentoo-amd64.tar.xz - -# Build ("src_compile") -# To learn about arguments that are passed to the "build.sh" script see: -# https://github.com/dotnet/source-build/discussions/4082 -# User variable: GENTOO_DOTNET_BUILD_VERBOSITY - set other verbosity log level. - -EAPI=8 - -COMMIT="8be139ddde52d33e24c7d82f813248ff9fc54b97" -SDK_SLOT="$(ver_cut 1-2)" -RUNTIME_SLOT="${SDK_SLOT}.7" - -LLVM_COMPAT=( {17..18} ) -PYTHON_COMPAT=( python3_{11..13} ) - -inherit check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 - -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://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-amd64.tar.xz - ) - elibc_musl? ( - https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-musl-amd64.tar.xz - ) -) -" -S="${WORKDIR}/${PN}-${RUNTIME_SLOT}" - -LICENSE="MIT" -SLOT="${SDK_SLOT}/${RUNTIME_SLOT}" -KEYWORDS="amd64" - -# STRIP="llvm-strip" corrupts some executables when using the patchelf hack. -# Be safe and restrict it for source-built too, 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.32 - ~dev-dotnet/dotnet-runtime-nugets-7.0.20 -" -NUGETS_DEPEND=" - ${CURRENT_NUGETS_DEPEND} - ${EXTRA_NUGETS_DEPEND} -" -RDEPEND=" - app-arch/brotli - app-crypt/mit-krb5:0/0 - dev-libs/icu - dev-libs/openssl:= - dev-libs/rapidjson - dev-util/lttng-ust:= - sys-libs/libunwind - sys-libs/zlib:0/1 -" -BDEPEND=" - ${PYTHON_DEPS} - dev-build/cmake - dev-vcs/git - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') -" -IDEPEND=" - app-eselect/eselect-dotnet -" -PDEPEND=" - ${NUGETS_DEPEND} -" - -CHECKREQS_DISK_BUILD="20G" - -# Created by dotnet itself: -QA_PREBUILT=" -usr/lib.*/dotnet-sdk-.*/dotnet -" - -# .NET runtime, better to not touch it if they want some specific flags. -QA_FLAGS_IGNORED=" -.*/apphost -.*/createdump -.*/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 -.*/libhostfxr.so -.*/libhostpolicy.so -.*/libmscordaccore.so -.*/libmscordbi.so -.*/libnethost.so -.*/singlefilehost -" - -check_requirements_locale() { - if [[ "${MERGE_TYPE}" != binary ]] ; then - if use elibc_glibc ; then - local locales - locales="$(locale -a)" - - if has en_US.utf8 ${locales} ; then - LC_ALL="en_US.utf8" - elif has en_US.UTF-8 ${locales} ; then - LC_ALL="en_US.UTF-8" - else - eerror "The locale en_US.utf8 or en_US.UTF-8 is not available." - eerror "Please generate en_US.UTF-8 before building ${CATEGORY}/${P}." - - die "Could not switch to the en_US.UTF-8 locale." - fi - else - LC_ALL="en_US.UTF-8" - fi - - export LC_ALL - einfo "Successfully switched to the ${LC_ALL} locale." - fi -} - -pkg_pretend() { - check-reqs_pkg_pretend - - check_requirements_locale -} - -pkg_setup() { - check-reqs_pkg_setup - llvm-r1_pkg_setup - python-any-r1_pkg_setup - - check_requirements_locale -} - -src_prepare() { - default - - filter-lto - - unset DOTNET_ROOT - unset NUGET_PACKAGES - - export DOTNET_CLI_TELEMETRY_OPTOUT="1" - export DOTNET_SKIP_FIRST_TIME_EXPERIENCE="1" - export MSBUILDDISABLENODEREUSE="1" - export UseSharedCompilation="false" - - local dotnet_sdk_tmp_directory="${WORKDIR}/dotnet-sdk-tmp" - mkdir -p "${dotnet_sdk_tmp_directory}" || die - - # This should fix the "PackageVersions.props" problem, - # see below, in src_compile. - sed -e "s|/tmp|${dotnet_sdk_tmp_directory}|g" -i build.sh || die -} - -src_compile() { - # Remove .NET leftover files that can be blocking the build. - # Keep this nonfatal! - local package_versions_path="/tmp/PackageVersions.props" - if [[ -f "${package_versions_path}" ]] ; then - rm "${package_versions_path}" || - ewarn "Failed to remove ${package_versions_path}, build may fail!" - fi - - # The "source_repository" should always be the same. - local source_repository="https://github.com/dotnet/dotnet" - local verbosity="${GENTOO_DOTNET_BUILD_VERBOSITY:-minimal}" - - ebegin "Building the .NET SDK ${SDK_SLOT}" - local -a buildopts=( - --clean-while-building - --source-repository "${source_repository}" - --source-version "${COMMIT}" - - -- - -maxCpuCount:"$(makeopts_jobs)" - -verbosity:"${verbosity}" - -p:ContinueOnPrebuiltBaselineError="true" - -p:LogVerbosity="${verbosity}" - -p:MinimalConsoleLogOutput="false" - -p:verbosity="${verbosity}" - ) - bash ./build.sh "${buildopts[@]}" - eend ${?} || die "build failed" -} - -src_install() { - local dest="/usr/$(get_libdir)/${PN}-${SDK_SLOT}" - dodir "${dest}" - - ebegin "Extracting the .NET SDK archive" - tar xzf artifacts/*/Release/${PN}-${SDK_SLOT}.*.tar.gz -C "${ED}/${dest}" - eend ${?} || die "extraction failed" - - fperms 0755 "${dest}" - dosym -r "${dest}/dotnet" "/usr/bin/dotnet-${SDK_SLOT}" -} - -pkg_postinst() { - eselect dotnet update ifunset -} - -pkg_postrm() { - eselect dotnet update ifunset -} diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r2.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r2.ebuild new file mode 100644 index 000000000000..1686abfd6443 --- /dev/null +++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r2.ebuild @@ -0,0 +1,248 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Pre-build (and distribution preparation) +# Build the tarball: +# git clone --depth 1 -b v8.0.7 https://github.com/dotnet/dotnet dotnet-sdk-8.0.7 +# cd dotnet-sdk-8.0.7 +# git rev-parse HEAD +# ./prep.sh +# rm -fr .git +# cd .. +# tar -acf dotnet-sdk-8.0.107-prepared-gentoo-amd64.tar.xz dotnet-sdk-8.0.7 +# Upload dotnet-sdk-8.0.107-prepared-gentoo-amd64.tar.xz + +# Build ("src_compile") +# To learn about arguments that are passed to the "build.sh" script see: +# https://github.com/dotnet/source-build/discussions/4082 +# User variable: GENTOO_DOTNET_BUILD_VERBOSITY - set other verbosity log level. + +EAPI=8 + +COMMIT="8be139ddde52d33e24c7d82f813248ff9fc54b97" +SDK_SLOT="$(ver_cut 1-2)" +RUNTIME_SLOT="${SDK_SLOT}.7" + +LLVM_COMPAT=( {17..18} ) +PYTHON_COMPAT=( python3_{11..13} ) + +inherit check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 + +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://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-amd64.tar.xz + ) + elibc_musl? ( + https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-musl-amd64.tar.xz + ) +) +" +S="${WORKDIR}/${PN}-${RUNTIME_SLOT}" + +LICENSE="MIT" +SLOT="${SDK_SLOT}/${RUNTIME_SLOT}" +KEYWORDS="amd64" + +# STRIP="llvm-strip" corrupts some executables when using the patchelf hack. +# Be safe and restrict it for source-built too, 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.32 + ~dev-dotnet/dotnet-runtime-nugets-7.0.20 +" +NUGETS_DEPEND=" + ${CURRENT_NUGETS_DEPEND} + ${EXTRA_NUGETS_DEPEND} +" +PDEPEND=" + ${NUGETS_DEPEND} +" +RDEPEND=" + app-arch/brotli + app-crypt/mit-krb5:0/0 + dev-libs/icu + dev-libs/openssl:= + dev-libs/rapidjson + dev-util/lttng-ust:= + sys-libs/libunwind + sys-libs/zlib:0/1 +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-build/cmake + dev-vcs/git + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') +" +IDEPEND=" + app-eselect/eselect-dotnet +" + +CHECKREQS_DISK_BUILD="20G" +CHECKREQS_DISK_USR="650M" + +# Created by dotnet itself: +QA_PREBUILT=" +.*/dotnet +.*/ilc +" + +# .NET runtime, better to not touch it if they want some specific flags. +QA_FLAGS_IGNORED=" +.*/apphost +.*/createdump +.*/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 +.*/libhostfxr.so +.*/libhostpolicy.so +.*/libmscordaccore.so +.*/libmscordbi.so +.*/libnethost.so +.*/singlefilehost +" + +check_requirements_locale() { + if [[ "${MERGE_TYPE}" != binary ]] ; then + if use elibc_glibc ; then + local locales + locales="$(locale -a)" + + if has en_US.utf8 ${locales} ; then + LC_ALL="en_US.utf8" + elif has en_US.UTF-8 ${locales} ; then + LC_ALL="en_US.UTF-8" + else + eerror "The locale en_US.utf8 or en_US.UTF-8 is not available." + eerror "Please generate en_US.UTF-8 before building ${CATEGORY}/${P}." + + die "Could not switch to the en_US.UTF-8 locale." + fi + else + LC_ALL="en_US.UTF-8" + fi + + export LC_ALL + einfo "Successfully switched to the ${LC_ALL} locale." + fi +} + +pkg_pretend() { + check-reqs_pkg_pretend + + check_requirements_locale +} + +pkg_setup() { + check-reqs_pkg_setup + llvm-r1_pkg_setup + python-any-r1_pkg_setup + + check_requirements_locale +} + +src_prepare() { + default + + filter-lto + + unset DOTNET_ROOT + unset NUGET_PACKAGES + + unset CLR_ICU_VERSION_OVERRIDE + unset USER_CLR_ICU_VERSION_OVERRIDE + + export DOTNET_CLI_TELEMETRY_OPTOUT="1" + export DOTNET_NUGET_SIGNATURE_VERIFICATION="false" + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE="1" + export MSBUILDDISABLENODEREUSE="1" + export MSBUILDTERMINALLOGGER="off" + export UseSharedCompilation="false" + + local dotnet_sdk_tmp_directory="${WORKDIR}/dotnet-sdk-tmp" + mkdir -p "${dotnet_sdk_tmp_directory}" || die + + # This should fix the "PackageVersions.props" problem, + # see below, in src_compile. + sed -e "s|/tmp|${dotnet_sdk_tmp_directory}|g" -i build.sh || die +} + +src_compile() { + # Remove .NET leftover files that can be blocking the build. + # Keep this nonfatal! + local package_versions_path="/tmp/PackageVersions.props" + if [[ -f "${package_versions_path}" ]] ; then + rm "${package_versions_path}" || + ewarn "Failed to remove ${package_versions_path}, build may fail!" + fi + + # The "source_repository" should always be the same. + local source_repository="https://github.com/dotnet/dotnet" + local verbosity="${GENTOO_DOTNET_BUILD_VERBOSITY:-minimal}" + + ebegin "Building the .NET SDK ${SDK_SLOT}" + local -a buildopts=( + # URLs, version specification, etc. ... + --source-repository "${source_repository}" + --source-version "${COMMIT}" + + # How it should be built. + --clean-while-building + + # Auxiliary options. + -- + -maxCpuCount:"$(makeopts_jobs)" + -p:MaxCpuCount="$(makeopts_jobs)" + -p:ContinueOnPrebuiltBaselineError="true" + + # Verbosity settings. + -verbosity:"${verbosity}" + -p:LogVerbosity="${verbosity}" + -p:verbosity="${verbosity}" + -p:MinimalConsoleLogOutput="false" + ) + bash ./build.sh "${buildopts[@]}" + eend ${?} || die "build failed" +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SDK_SLOT}" + dodir "${dest}" + + ebegin "Extracting the .NET SDK archive" + tar xzf artifacts/*/Release/${PN}-${SDK_SLOT}.*.tar.gz -C "${ED}/${dest}" + eend ${?} || die "extraction failed" + + fperms 0755 "${dest}" + dosym -r "${dest}/dotnet" "/usr/bin/dotnet-${SDK_SLOT}" + + # Fix permissions again for what is already marked as executable. + find "${ED}" -type f -executable -exec chmod +x {} + || die +} + +pkg_postinst() { + eselect dotnet update ifunset +} + +pkg_postrm() { + eselect dotnet update ifunset +} diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild deleted file mode 100644 index 6adb9c88564e..000000000000 --- a/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Pre-build (and distribution preparation) -# Build the tarball: -# git clone --depth 1 -b v9.0.0 https://github.com/dotnet/dotnet ./dotnet-sdk-9.0.0 -# cd ./dotnet-sdk-9.0.0 -# git rev-parse HEAD -# bash ./prep-source-build.sh -# rm -f -r ./.git -# cd .. -# tar -acf dotnet-sdk-9.0.100-prepared-gentoo-amd64.tar.xz dotnet-sdk-9.0.0 -# Upload "dotnet-sdk-9.0.100-prepared-gentoo-amd64.tar.xz". - -# Build ("src_compile") -# To learn about arguments that are passed to the "build.sh" script see: -# https://github.com/dotnet/source-build/discussions/4082 -# User variable: GENTOO_DOTNET_BUILD_VERBOSITY - set other verbosity log level. - -EAPI=8 - -COMMIT="a2bc464e40415d625118f38fbb0556d1803783ff" -SDK_SLOT="$(ver_cut 1-2)" -RUNTIME_SLOT="${SDK_SLOT}.0" - -LLVM_COMPAT=( {17..18} ) -PYTHON_COMPAT=( python3_{11..13} ) - -inherit check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 - -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://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-amd64.tar.xz - ) - elibc_musl? ( - https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-musl-amd64.tar.xz - ) - ) -" -S="${WORKDIR}/${PN}-${RUNTIME_SLOT}" - -LICENSE="MIT" -SLOT="${SDK_SLOT}/${RUNTIME_SLOT}" -KEYWORDS="~amd64" - -# STRIP="llvm-strip" corrupts some executables when using the patchelf hack. -# Be safe and restrict it for source-built too, 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.36 - ~dev-dotnet/dotnet-runtime-nugets-7.0.20 - ~dev-dotnet/dotnet-runtime-nugets-8.0.11 -" -NUGETS_DEPEND=" - ${CURRENT_NUGETS_DEPEND} - ${EXTRA_NUGETS_DEPEND} -" -RDEPEND=" - app-arch/brotli - app-crypt/mit-krb5:0/0 - dev-libs/icu - dev-libs/openssl:= - dev-libs/rapidjson - dev-util/lttng-ust:= - sys-libs/libunwind - sys-libs/zlib:0/1 -" -BDEPEND=" - ${PYTHON_DEPS} - dev-build/cmake - dev-vcs/git - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') -" -IDEPEND=" - app-eselect/eselect-dotnet -" -PDEPEND=" - ${NUGETS_DEPEND} -" - -CHECKREQS_DISK_BUILD="20G" -CHECKREQS_DISK_USR="1200M" - -# Created by dotnet itself: -QA_PREBUILT=" -.*/dotnet -.*/ilc -" - -# .NET runtime, better to not touch it if they want some specific flags. -QA_FLAGS_IGNORED=" -.*/apphost -.*/createdump -.*/dotnet -.*/ilc -.*/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 -.*/libclrgcexp.so -.*/libclrjit.so -.*/libclrjit_universal_arm64_x64.so -.*/libclrjit_universal_arm_x64.so -.*/libclrjit_unix_x64_x64.so -.*/libclrjit_win_x64_x64.so -.*/libclrjit_win_x86_x64.so -.*/libcoreclr.so -.*/libcoreclrtraceptprovider.so -.*/libhostfxr.so -.*/libhostpolicy.so -.*/libjitinterface_x64.so -.*/libmscordaccore.so -.*/libmscordbi.so -.*/libnethost.so -.*/singlefilehost -" - -check_requirements_locale() { - if [[ "${MERGE_TYPE}" != binary ]] ; then - if use elibc_glibc ; then - local locales - locales="$(locale -a)" - - if has en_US.utf8 ${locales} ; then - LC_ALL="en_US.utf8" - elif has en_US.UTF-8 ${locales} ; then - LC_ALL="en_US.UTF-8" - else - eerror "The locale en_US.utf8 or en_US.UTF-8 is not available." - eerror "Please generate en_US.UTF-8 before building ${CATEGORY}/${P}." - - die "Could not switch to the en_US.UTF-8 locale." - fi - else - LC_ALL="en_US.UTF-8" - fi - - export LC_ALL - einfo "Successfully switched to the ${LC_ALL} locale." - fi -} - -pkg_pretend() { - check-reqs_pkg_pretend - - check_requirements_locale -} - -pkg_setup() { - check-reqs_pkg_setup - llvm-r1_pkg_setup - python-any-r1_pkg_setup - - check_requirements_locale -} - -src_prepare() { - default - - filter-lto - - unset DOTNET_ROOT - unset NUGET_PACKAGES - - unset CLR_ICU_VERSION_OVERRIDE - unset USER_CLR_ICU_VERSION_OVERRIDE - - export DOTNET_CLI_TELEMETRY_OPTOUT="1" - export DOTNET_NUGET_SIGNATURE_VERIFICATION="false" - export DOTNET_SKIP_FIRST_TIME_EXPERIENCE="1" - export MSBUILDDISABLENODEREUSE="1" - export MSBUILDTERMINALLOGGER="off" - export UseSharedCompilation="false" - - local dotnet_sdk_tmp_directory="${WORKDIR}/dotnet-sdk-tmp" - mkdir -p "${dotnet_sdk_tmp_directory}" || die - - # This should fix the "PackageVersions.props" problem, - # see below, in src_compile. - sed -e "s|/tmp|${dotnet_sdk_tmp_directory}|g" -i build.sh || die -} - -src_compile() { - # Remove .NET leftover files that can be blocking the build. - # Keep this nonfatal! - local package_versions_path="/tmp/PackageVersions.props" - if [[ -f "${package_versions_path}" ]] ; then - rm "${package_versions_path}" || - ewarn "Failed to remove ${package_versions_path}, build may fail!" - fi - - # The "source_repository" should always be the same. - local source_repository="https://github.com/dotnet/dotnet" - local verbosity="${GENTOO_DOTNET_BUILD_VERBOSITY:-minimal}" - - ebegin "Building the .NET SDK ${SDK_SLOT}" - local -a buildopts=( - # URLs, version specification, etc. ... - --source-repository "${source_repository}" - --source-version "${COMMIT}" - - # How it should be built. - --source-build - --clean-while-building - --with-system-libs "+brotli+icu+libunwind+rapidjson+zlib+" - --configuration "Release" - - # Auxiliary options. - -- - -maxCpuCount:"$(makeopts_jobs)" - -p:MaxCpuCount="$(makeopts_jobs)" - -p:ContinueOnPrebuiltBaselineError="true" - - # Verbosity settings. - -verbosity:"${verbosity}" - -p:LogVerbosity="${verbosity}" - -p:verbosity="${verbosity}" - -p:MinimalConsoleLogOutput="false" - ) - bash ./build.sh "${buildopts[@]}" - eend ${?} || die "build failed" -} - -src_install() { - local dest="/usr/$(get_libdir)/${PN}-${SDK_SLOT}" - dodir "${dest}" - - ebegin "Extracting the .NET SDK archive" - tar xzf ./artifacts/*/Release/${PN}-${SDK_SLOT}.*.tar.gz -C "${ED}/${dest}" - eend ${?} || die "extraction failed" - - fperms 0755 "${dest}" - dosym -r "${dest}/dotnet" "/usr/bin/dotnet-${SDK_SLOT}" - - # Fix permissions again for what is already marked as executable. - find "${ED}" -type f -executable -exec chmod +x {} + || die -} - -pkg_postinst() { - eselect dotnet update ifunset -} - -pkg_postrm() { - eselect dotnet update ifunset -} diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r2.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r2.ebuild new file mode 100644 index 000000000000..c146ac8530e0 --- /dev/null +++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r2.ebuild @@ -0,0 +1,261 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Pre-build (and distribution preparation) +# Build the tarball: +# git clone --depth 1 -b v9.0.0 https://github.com/dotnet/dotnet ./dotnet-sdk-9.0.0 +# cd ./dotnet-sdk-9.0.0 +# git rev-parse HEAD +# bash ./prep-source-build.sh +# rm -f -r ./.git +# cd .. +# tar -acf dotnet-sdk-9.0.100-prepared-gentoo-amd64.tar.xz dotnet-sdk-9.0.0 +# Upload "dotnet-sdk-9.0.100-prepared-gentoo-amd64.tar.xz". + +# Build ("src_compile") +# To learn about arguments that are passed to the "build.sh" script see: +# https://github.com/dotnet/source-build/discussions/4082 +# User variable: GENTOO_DOTNET_BUILD_VERBOSITY - set other verbosity log level. + +EAPI=8 + +COMMIT="a2bc464e40415d625118f38fbb0556d1803783ff" +SDK_SLOT="$(ver_cut 1-2)" +RUNTIME_SLOT="${SDK_SLOT}.0" + +LLVM_COMPAT=( {17..18} ) +PYTHON_COMPAT=( python3_{11..13} ) + +inherit check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 + +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://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-amd64.tar.xz + ) + elibc_musl? ( + https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-musl-amd64.tar.xz + ) + ) +" +S="${WORKDIR}/${PN}-${RUNTIME_SLOT}" + +LICENSE="MIT" +SLOT="${SDK_SLOT}/${RUNTIME_SLOT}" +KEYWORDS="~amd64" + +# STRIP="llvm-strip" corrupts some executables when using the patchelf hack. +# Be safe and restrict it for source-built too, 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.36 + ~dev-dotnet/dotnet-runtime-nugets-7.0.20 + ~dev-dotnet/dotnet-runtime-nugets-8.0.11 +" +NUGETS_DEPEND=" + ${CURRENT_NUGETS_DEPEND} + ${EXTRA_NUGETS_DEPEND} +" +PDEPEND=" + ${NUGETS_DEPEND} +" +RDEPEND=" + app-arch/brotli + app-crypt/mit-krb5:0/0 + dev-libs/icu + dev-libs/openssl:= + dev-libs/rapidjson + dev-util/lttng-ust:= + sys-libs/libunwind + sys-libs/zlib:0/1 +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} + dev-build/cmake + dev-vcs/git + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') +" +IDEPEND=" + app-eselect/eselect-dotnet +" + +CHECKREQS_DISK_BUILD="20G" +CHECKREQS_DISK_USR="1200M" + +# Created by dotnet itself: +QA_PREBUILT=" +.*/dotnet +.*/ilc +" + +# .NET runtime, better to not touch it if they want some specific flags. +QA_FLAGS_IGNORED=" +.*/apphost +.*/createdump +.*/dotnet +.*/ilc +.*/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 +.*/libclrgcexp.so +.*/libclrjit.so +.*/libclrjit_universal_arm64_x64.so +.*/libclrjit_universal_arm_x64.so +.*/libclrjit_unix_x64_x64.so +.*/libclrjit_win_x64_x64.so +.*/libclrjit_win_x86_x64.so +.*/libcoreclr.so +.*/libcoreclrtraceptprovider.so +.*/libhostfxr.so +.*/libhostpolicy.so +.*/libjitinterface_x64.so +.*/libmscordaccore.so +.*/libmscordbi.so +.*/libnethost.so +.*/singlefilehost +" + +check_requirements_locale() { + if [[ "${MERGE_TYPE}" != binary ]] ; then + if use elibc_glibc ; then + local locales + locales="$(locale -a)" + + if has en_US.utf8 ${locales} ; then + LC_ALL="en_US.utf8" + elif has en_US.UTF-8 ${locales} ; then + LC_ALL="en_US.UTF-8" + else + eerror "The locale en_US.utf8 or en_US.UTF-8 is not available." + eerror "Please generate en_US.UTF-8 before building ${CATEGORY}/${P}." + + die "Could not switch to the en_US.UTF-8 locale." + fi + else + LC_ALL="en_US.UTF-8" + fi + + export LC_ALL + einfo "Successfully switched to the ${LC_ALL} locale." + fi +} + +pkg_pretend() { + check-reqs_pkg_pretend + + check_requirements_locale +} + +pkg_setup() { + check-reqs_pkg_setup + llvm-r1_pkg_setup + python-any-r1_pkg_setup + + check_requirements_locale +} + +src_prepare() { + default + + filter-lto + + unset DOTNET_ROOT + unset NUGET_PACKAGES + + unset CLR_ICU_VERSION_OVERRIDE + unset USER_CLR_ICU_VERSION_OVERRIDE + + export DOTNET_CLI_TELEMETRY_OPTOUT="1" + export DOTNET_NUGET_SIGNATURE_VERIFICATION="false" + export DOTNET_SKIP_FIRST_TIME_EXPERIENCE="1" + export MSBUILDDISABLENODEREUSE="1" + export MSBUILDTERMINALLOGGER="off" + export UseSharedCompilation="false" + + local dotnet_sdk_tmp_directory="${WORKDIR}/dotnet-sdk-tmp" + mkdir -p "${dotnet_sdk_tmp_directory}" || die + + # This should fix the "PackageVersions.props" problem, + # see below, in src_compile. + sed -e "s|/tmp|${dotnet_sdk_tmp_directory}|g" -i build.sh || die +} + +src_compile() { + # Remove .NET leftover files that can be blocking the build. + # Keep this nonfatal! + local package_versions_path="/tmp/PackageVersions.props" + if [[ -f "${package_versions_path}" ]] ; then + rm "${package_versions_path}" || + ewarn "Failed to remove ${package_versions_path}, build may fail!" + fi + + # The "source_repository" should always be the same. + local source_repository="https://github.com/dotnet/dotnet" + local verbosity="${GENTOO_DOTNET_BUILD_VERBOSITY:-minimal}" + + ebegin "Building the .NET SDK ${SDK_SLOT}" + local -a buildopts=( + # URLs, version specification, etc. ... + --source-repository "${source_repository}" + --source-version "${COMMIT}" + + # How it should be built. + --source-build + --clean-while-building + --with-system-libs "+brotli+icu+libunwind+rapidjson+zlib+" + --configuration "Release" + + # Auxiliary options. + -- + -maxCpuCount:"$(makeopts_jobs)" + -p:MaxCpuCount="$(makeopts_jobs)" + -p:ContinueOnPrebuiltBaselineError="true" + + # Verbosity settings. + -verbosity:"${verbosity}" + -p:LogVerbosity="${verbosity}" + -p:verbosity="${verbosity}" + -p:MinimalConsoleLogOutput="false" + ) + bash ./build.sh "${buildopts[@]}" + eend ${?} || die "build failed" +} + +src_install() { + local dest="/usr/$(get_libdir)/${PN}-${SDK_SLOT}" + dodir "${dest}" + + ebegin "Extracting the .NET SDK archive" + tar xzf ./artifacts/*/Release/${PN}-${SDK_SLOT}.*.tar.gz -C "${ED}/${dest}" + eend ${?} || die "extraction failed" + + fperms 0755 "${dest}" + dosym -r "${dest}/dotnet" "/usr/bin/dotnet-${SDK_SLOT}" + + # Fix permissions again for what is already marked as executable. + find "${ED}" -type f -executable -exec chmod +x {} + || die +} + +pkg_postinst() { + eselect dotnet update ifunset +} + +pkg_postrm() { + eselect dotnet update ifunset +} -- cgit v1.2.3