From a6764d56b1c85c8272783500983011c143c72d80 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 5 Dec 2024 02:07:17 +0000 Subject: gentoo auto-resync : 05:12:2024 - 02:07:17 --- dev-dotnet/dotnet-sdk/Manifest | 5 +- dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r1.ebuild | 228 ++++++++++++++++++ dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild | 225 ------------------ dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild | 257 +++++++++++++++++++++ dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild | 247 -------------------- 5 files changed, 488 insertions(+), 474 deletions(-) create mode 100644 dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r1.ebuild delete mode 100644 dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild create mode 100644 dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild delete mode 100644 dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild (limited to 'dev-dotnet/dotnet-sdk') diff --git a/dev-dotnet/dotnet-sdk/Manifest b/dev-dotnet/dotnet-sdk/Manifest index 081ea43369a6..22bf49add703 100644 --- a/dev-dotnet/dotnet-sdk/Manifest +++ b/dev-dotnet/dotnet-sdk/Manifest @@ -1,6 +1,7 @@ DIST dotnet-sdk-8.0.107-prepared-gentoo-amd64.tar.xz 1792165680 BLAKE2B 08d380090ef6475cae9a102383d0d925089733cb69f0cc97fa8fedb39ed17fcd50d5e17e5a10009640b30476220588bfd254de0c49362bfca8c015d677d58d87 SHA512 2362487033b6401e578918feabecb7d981fd87b4ab6bf09d61e5d62482c44ea6d6dd9f7fa5957abba7c537a8931d4487dd8c01ad86122af9b716bc817bed1564 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 -EBUILD dotnet-sdk-8.0.107.ebuild 5472 BLAKE2B 870e8eb72556f2fbfe25b59aa5f9291b10d278bd1a03085c96815bf830e10a9e9cf2aeb5d697fc52ec891b0ec766465389e8cd0e3478749242f28ec3fe63cc11 SHA512 e9cce43c0162910f0c24c19399ec7ddd3a06c3545e9d56844bc1887fc5c4da6642d9e243614c72dd2554ee137ff5245ab255640c81ae94c2f4a1979f4884e3fc -EBUILD dotnet-sdk-9.0.100.ebuild 6107 BLAKE2B e6e64301ea71a332a23077d09790ef59cd6dd17af5fb12963a63c2fbb1f05081600b24827ab62382c08ea9362b43def8442d0cc3d1f537d4128a7d57dfb7e1fc SHA512 cf1961c52f07851d3db7f4b17d054c3ec11863262efb984b03750091ad3e6176302b5186391e7c43eb85d4e356c83e39b26e9f0b9b93dc9be2ca969f7f3deeec +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 6430 BLAKE2B 0cb032bc97672a8e3f283812db7715902407040b10e2fe5605dedc403456cc6fc49dc06aff81c5b715ce6a20f813c8a367b3ead81ac579e1fc6d4d51b8c21d67 SHA512 cc53d1da953c2612eca74c10d09caddd25e7e1cbc8c2e8586226916dfa7c1cd8f7a6e7d15e7e12acc7c484af2ac2ba85d7c667eb11105fbe7bd578e9452dcfd4 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 new file mode 100644 index 000000000000..99624dbcdea8 --- /dev/null +++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107-r1.ebuild @@ -0,0 +1,228 @@ +# 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.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild deleted file mode 100644 index 4a7ebe2b4a70..000000000000 --- a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild +++ /dev/null @@ -1,225 +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-crypt/mit-krb5:0/0 - dev-libs/icu - dev-libs/openssl:= - dev-util/lttng-ust:= - 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-9.0.100-r1.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild new file mode 100644 index 000000000000..627f5e5a482e --- /dev/null +++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100-r1.ebuild @@ -0,0 +1,257 @@ +# 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" # KEYWORD-less for testing. + +# 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=" +usr/lib.*/dotnet-sdk-.*/dotnet +.*/ilc +" + +# .NET runtime, better to not touch it if they want some specific flags. +QA_FLAGS_IGNORED=" +.*/apphost +.*/createdump +.*/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.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild deleted file mode 100644 index dd6753552499..000000000000 --- a/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild +++ /dev/null @@ -1,247 +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 - ) -) -" -S="${WORKDIR}/${PN}-${RUNTIME_SLOT}" - -LICENSE="MIT" -SLOT="${SDK_SLOT}/${RUNTIME_SLOT}" -# KEYWORDS="~amd64" # KEYWORD-less for testing and since musl is not prepared yet. - -# 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=" -usr/lib.*/dotnet-sdk-.*/dotnet -.*/ilc -" - -# .NET runtime, better to not touch it if they want some specific flags. -QA_FLAGS_IGNORED=" -.*/apphost -.*/createdump -.*/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 - - 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+libunwind+rapidjson+zlib+" - --configuration "Release" - - # Auxiliary options. - -- - -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}" -} - -pkg_postinst() { - eselect dotnet update ifunset -} - -pkg_postrm() { - eselect dotnet update ifunset -} -- cgit v1.2.3