From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 40A5D159C9C for ; Wed, 31 Jul 2024 00:03:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 8C7262BC08D; Wed, 31 Jul 2024 00:03:09 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 6CDDB2BC08D for ; Wed, 31 Jul 2024 00:03:09 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7E5D734133B for ; Wed, 31 Jul 2024 00:03:08 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 1ACAB1E81 for ; Wed, 31 Jul 2024 00:03:07 +0000 (UTC) From: "Maciej Barć" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Maciej Barć" Message-ID: <1722384172.19674cd1eccec7acfff868e6b01eebcd44fde972.xgqt@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-dotnet/dotnet-sdk/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-dotnet/dotnet-sdk/Manifest dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild X-VCS-Directories: dev-dotnet/dotnet-sdk/ X-VCS-Committer: xgqt X-VCS-Committer-Name: Maciej Barć X-VCS-Revision: 19674cd1eccec7acfff868e6b01eebcd44fde972 X-VCS-Branch: master Date: Wed, 31 Jul 2024 00:03:07 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 2567cbab-8ca3-4521-b5a9-753f43cb88a1 X-Archives-Hash: 463e2565d80dcd3eb628ec8fe30d36da commit: 19674cd1eccec7acfff868e6b01eebcd44fde972 Author: Maciej Barć gentoo org> AuthorDate: Tue Jul 30 22:40:02 2024 +0000 Commit: Maciej Barć gentoo org> CommitDate: Wed Jul 31 00:02:52 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=19674cd1 dev-dotnet/dotnet-sdk: bump to 8.0.107 Signed-off-by: Maciej Barć gentoo.org> dev-dotnet/dotnet-sdk/Manifest | 2 + dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild | 225 ++++++++++++++++++++++++ 2 files changed, 227 insertions(+) diff --git a/dev-dotnet/dotnet-sdk/Manifest b/dev-dotnet/dotnet-sdk/Manifest index 2af82484db67..30f0ba089773 100644 --- a/dev-dotnet/dotnet-sdk/Manifest +++ b/dev-dotnet/dotnet-sdk/Manifest @@ -1,2 +1,4 @@ DIST dotnet-sdk-8.0.105-prepared-gentoo-amd64.tar.xz 1774585908 BLAKE2B c8c14bb513e9421ed04df81bf4388a7b84333ff76cf678f5adfb658d4c32d4e3c90ad8f78676261cb0148d1f1a3f4763e4a4aad9e7d822f94c943ec6ca81f872 SHA512 6032f34c92c046fade8edf1e4c86b315e6f51ae38b7d505084b2903f6a883dcb9c3b17a67d2da28daffcf6f3bc4e2ebd19b481f2842716fad910fbc663980c8a DIST dotnet-sdk-8.0.105-prepared-gentoo-musl-amd64.tar.xz 1788053336 BLAKE2B 5cf9328ec19413ed6c82adb48f70346197e2d76926ab752c81c77fde94782c19a30f52aab07e2ddc7545280821bf64251de42afece08b5bcd0d52eceefca3064 SHA512 73b906a282d059e3829841f78e45b58beab980eb8a1c23857746af20630b1070ce9fca1e38d837d78ab039dc40273dc732be4b3ba10978df00dfdaa320dfd77e +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 diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild new file mode 100644 index 000000000000..0009a1c7aedc --- /dev/null +++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.107.ebuild @@ -0,0 +1,225 @@ +# 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 +}