dev-dotnet/dotnet-sdk: bump to 8.0.107

Signed-off-by: Maciej Barć <xgqt@gentoo.org>
This commit is contained in:
Maciej Barć
2024-07-31 00:40:02 +02:00
parent 61cb79cd5c
commit 19674cd1ec
2 changed files with 227 additions and 0 deletions

View File

@@ -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

View File

@@ -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
}