summaryrefslogtreecommitdiff
path: root/dev-dotnet/dotnet-sdk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-03 02:07:18 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-03 02:07:18 +0000
commit7f4b508a2da3c371c7e770aa6ab83b0c4237cd1c (patch)
tree81d78cbf05f5daa7d57418d32f44b0149a56a765 /dev-dotnet/dotnet-sdk
parentd4f65848c7ecabb56e2f93889cbd20078cd347f7 (diff)
gentoo auto-resync : 03:12:2024 - 02:07:18
Diffstat (limited to 'dev-dotnet/dotnet-sdk')
-rw-r--r--dev-dotnet/dotnet-sdk/Manifest2
-rw-r--r--dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild247
2 files changed, 249 insertions, 0 deletions
diff --git a/dev-dotnet/dotnet-sdk/Manifest b/dev-dotnet/dotnet-sdk/Manifest
index d2c4b70bafff..081ea43369a6 100644
--- a/dev-dotnet/dotnet-sdk/Manifest
+++ b/dev-dotnet/dotnet-sdk/Manifest
@@ -1,4 +1,6 @@
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
MISC metadata.xml 518 BLAKE2B f9733bd3b6b343126c400ce35dc7e4e57421a6643219341c4beab83d47beb1182306f3d0c5f1e7ff0854fd49818b2c6af37598170b88e2eb82b62d478735abf0 SHA512 940830b1208c39e4cfd72817d399156b027e5ac51dcc7bb983c9ec973f8f2ef76e440a2d358d15f7a2e185c42ae98c986210224f1477923967e3dc70eb0cfde9
diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild
new file mode 100644
index 000000000000..dd6753552499
--- /dev/null
+++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.100.ebuild
@@ -0,0 +1,247 @@
+# 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
+}