summaryrefslogtreecommitdiff
path: root/dev-dotnet
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-02 11:45:20 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-02 11:45:20 +0000
commit7e3d6dcede5749fe6a1adef4e673a9dde7703b7b (patch)
treed4b1fc995691d4c2cde45fc9d9875e80e85fda73 /dev-dotnet
parentcc4bdc5d184af171efd67a1b32de966071ee18d3 (diff)
gentoo auto-resync : 02:02:2024 - 11:45:20
Diffstat (limited to 'dev-dotnet')
-rw-r--r--dev-dotnet/Manifest.gzbin4295 -> 4300 bytes
-rw-r--r--dev-dotnet/dotnet-sdk/Manifest6
-rw-r--r--dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.100-r2.ebuild43
-rw-r--r--dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.101.ebuild172
-rw-r--r--dev-dotnet/dotnet-sdk/files/dotnet-sdk-8.0.101-runtime-64.patch23
5 files changed, 226 insertions, 18 deletions
diff --git a/dev-dotnet/Manifest.gz b/dev-dotnet/Manifest.gz
index dce227ead5a4..a01cdffccefb 100644
--- a/dev-dotnet/Manifest.gz
+++ b/dev-dotnet/Manifest.gz
Binary files differ
diff --git a/dev-dotnet/dotnet-sdk/Manifest b/dev-dotnet/dotnet-sdk/Manifest
index 6200d66b9f9f..057e8080b5ae 100644
--- a/dev-dotnet/dotnet-sdk/Manifest
+++ b/dev-dotnet/dotnet-sdk/Manifest
@@ -1,3 +1,7 @@
+AUX dotnet-sdk-8.0.101-runtime-64.patch 1059 BLAKE2B 9420e05c877024c694bf8f469ffb6369f7639828ca4d1017f3098c480a669ff334aeb7fd7425f4e2d8a720c83fef0a2e906d6da68bcb71f02aa50d6a8a200fcc SHA512 685f1b8bc77b1dcd266ef2d6cb8644fb7b49cfd2ac4c94cba3d36e68877fce087e7e0753430a76a474d204731514b24e778f77100538a14ea59945b9aca4a934
DIST dotnet-sdk-8.0.100-prepared-gentoo-amd64.tar.xz 1714535960 BLAKE2B fd6027b86168d8801b1d8a7bbb08e9c358918a7693b03fa4e7e43e2a58568a65d71e2c5907ec7c7a03b83685608cd16aa010706fb4d14cd44ab0f0669654c8c2 SHA512 75efdcf44383445bc81981e2077be03c7311db316e295aa7f960f50d65367cde9bd86351f345072feb827a569c8de4fa8c9829d92000d2cbeb312ee9ddc17b44
-EBUILD dotnet-sdk-8.0.100-r2.ebuild 4212 BLAKE2B 158ed41ee90860f1c942ff170cced99f378d46d50e1c78000a410ea87dce2212906459db37d4f6b871f2a7bbc90e590e59e08334d7eae9787b3e2fb1fec39596 SHA512 755171a0dc355fcccb06094ef5a166774b4b342a41e2ad26e30f05ed320ebcd7182ff6b6675275905990402f2f6919e0955246e5207ad48acbb9e37e9f860466
+DIST dotnet-sdk-8.0.101-prepared-gentoo-amd64.tar.xz 1734234148 BLAKE2B 6fe6b9db8e8399d741c1c7c4b09f7047519fc61e452cc5b319a7e8070acf75685d409741a6fec6f020355a1e003585832c4900dd852d0554d4a456cdb9876598 SHA512 f2f07c647c607d02fc19eb045fa98224636ea5ba79cf9b2b8c28a1c0cbc77cc57bf5886268e94684ddaf5e3895c6c82fa62db11d53d7b8ffd1d31a0371eb4613
+DIST dotnet-sdk-8.0.101-prepared-gentoo-musl-amd64.tar.xz 1736552596 BLAKE2B f533603b2d18aedb0c2715b0597973342cab0927f41215f93b6e139df7b666ad32d3cf92866388329d0a5ccd9b169c242a4d9179e03c14856f2572a1363d693b SHA512 0bf9c83fdd310425cb553b798357d0cb9a16608f1341f149a84acf66aa16ec4ff6f81d047c84c06f610d3a861e522c78005b63cec63f78e7e1eebdc80b8ec5a2
+EBUILD dotnet-sdk-8.0.100-r2.ebuild 4363 BLAKE2B 7d272fa2b99574cc801bffbd7dd66ba8b4c9513b86f5b1cdd1c99e3f6c9c497215d553dd37681c48bbeb36e0729706c75881f9b11c92728b4d1edec7c35738c3 SHA512 b0bf62358782766203a41805ed1a0e88b1cca1ab4e8f08c72fccb4c797d9b8a8764ba7a7affec4fffce735b1eef6f4e6f6dd3e5bdc2b05964d3a22a2488a9d96
+EBUILD dotnet-sdk-8.0.101.ebuild 4259 BLAKE2B c87cfe316950196fdad7f1c51c269d2c99916ab7065cf17b6b489e80e6d8b288858aa6a03ee3f1aa6457829bc99b22a71c6c86b090404ddf03dc2fad82cd143f SHA512 a61113d4f375fa2081cb5eabf877365aa330dffbc140a8616817ae36bece9043fdfd8cacb544d894672e5fd6730d43ea2cb1e99d2a36bb7167b11713a8782851
MISC metadata.xml 518 BLAKE2B f9733bd3b6b343126c400ce35dc7e4e57421a6643219341c4beab83d47beb1182306f3d0c5f1e7ff0854fd49818b2c6af37598170b88e2eb82b62d478735abf0 SHA512 940830b1208c39e4cfd72817d399156b027e5ac51dcc7bb983c9ec973f8f2ef76e440a2d358d15f7a2e185c42ae98c986210224f1477923967e3dc70eb0cfde9
diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.100-r2.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.100-r2.ebuild
index 75ac94521502..2132c04306d6 100644
--- a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.100-r2.ebuild
+++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.100-r2.ebuild
@@ -28,7 +28,9 @@ DESCRIPTION=".NET is a free, cross-platform, open-source developer platform"
HOMEPAGE="https://dotnet.microsoft.com/
https://github.com/dotnet/dotnet/"
SRC_URI="
- amd64? ( https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-amd64.tar.xz )
+amd64? (
+ https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-amd64.tar.xz
+)
"
SDK_SLOT="$(ver_cut 1-2)"
@@ -36,14 +38,14 @@ RUNTIME_SLOT="${SDK_SLOT}.0"
SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
# SDK reports it is version "8.0.100" but the tag .NET SDK team had given
-# it is "8.0.100". I feel that the pattern is to tag based on "RUNTIME_SLOT".
+# it is "8.0.0". I feel that the pattern is to tag based on "RUNTIME_SLOT".
S="${WORKDIR}/${PN}-${RUNTIME_SLOT}"
LICENSE="MIT"
KEYWORDS="amd64"
-# STRIP="llvm-strip" corrupts some executables when using the patchelf hack,
-# bug https://bugs.gentoo.org/923430
+# 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="
@@ -87,17 +89,22 @@ pkg_setup() {
python-any-r1_pkg_setup
if [[ "${MERGE_TYPE}" != binary ]] ; then
- local 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
+ 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
- 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."
+ LC_ALL=en_US.UTF-8
fi
export LC_ALL
@@ -139,10 +146,12 @@ src_compile() {
local source_repository="https://github.com/dotnet/dotnet"
ebegin "Building the .NET SDK ${SDK_SLOT}"
- bash ./build.sh \
- --clean-while-building \
- --source-repository "${source_repository}" \
+ local -a buildopts=(
+ --clean-while-building
+ --source-repository "${source_repository}"
--source-version "${COMMIT}"
+ )
+ bash ./build.sh "${buildopts[@]}"
eend ${?} || die "build failed"
}
diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.101.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.101.ebuild
new file mode 100644
index 000000000000..7595aa29a8ac
--- /dev/null
+++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.101.ebuild
@@ -0,0 +1,172 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Build the tarball:
+# git clone --depth 1 -b v8.0.1 https://github.com/dotnet/dotnet dotnet-sdk-8.0.1
+# cd dotnet-sdk-8.0.1
+# git rev-parse HEAD
+# ./prep.sh
+# rm -fr .git
+# cd ..
+# tar -acf dotnet-sdk-8.0.101-prepared-gentoo-amd64.tar.xz dotnet-sdk-8.0.1
+# Upload dotnet-sdk-8.0.101-prepared-gentoo-amd64.tar.xz
+
+EAPI=8
+
+COMMIT=b27976e5a6850466ee5b4ce24f91ee93bef645f7
+SDK_SLOT="$(ver_cut 1-2)"
+RUNTIME_SLOT="${SDK_SLOT}.1"
+
+LLVM_MAX_SLOT=17
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit check-reqs flag-o-matic llvm 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.26
+ ~dev-dotnet/dotnet-runtime-nugets-7.0.15
+"
+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:0/2.12
+ sys-libs/zlib:0/1
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ <sys-devel/clang-$(( LLVM_MAX_SLOT + 1 ))
+ dev-build/cmake
+ dev-vcs/git
+"
+IDEPEND="
+ app-eselect/eselect-dotnet
+"
+PDEPEND="
+ ${NUGETS_DEPEND}
+"
+
+CHECKREQS_DISK_BUILD="20G"
+PATCHES=(
+ "${FILESDIR}/${PN}-8.0.101-runtime-64.patch"
+)
+
+# QA_PREBUILT="*" # TODO: Which binaries are created by dotnet itself?
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+
+ 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
+}
+
+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"
+
+ ebegin "Building the .NET SDK ${SDK_SLOT}"
+ local -a buildopts=(
+ --clean-while-building
+ --source-repository "${source_repository}"
+ --source-version "${COMMIT}"
+ )
+ 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/files/dotnet-sdk-8.0.101-runtime-64.patch b/dev-dotnet/dotnet-sdk/files/dotnet-sdk-8.0.101-runtime-64.patch
new file mode 100644
index 000000000000..9a683a851c69
--- /dev/null
+++ b/dev-dotnet/dotnet-sdk/files/dotnet-sdk-8.0.101-runtime-64.patch
@@ -0,0 +1,23 @@
+--- a/src/runtime/src/coreclr/debug/createdump/crashinfounix.cpp
++++ b/src/runtime/src/coreclr/debug/createdump/crashinfounix.cpp
+@@ -469,7 +469,7 @@ CrashInfo::ReadProcessMemory(void* address, void* buffer, size_t size, size_t* r
+ // performance optimization.
+ m_canUseProcVmReadSyscall = false;
+ assert(m_fdMem != -1);
+- *read = pread64(m_fdMem, buffer, size, (off64_t)address);
++ *read = pread(m_fdMem, buffer, size, (off_t)address);
+ }
+
+ if (*read == (size_t)-1)
+--- a/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp
++++ b/src/runtime/src/coreclr/debug/createdump/crashinfo.cpp
+@@ -760,7 +760,7 @@ CrashInfo::PageMappedToPhysicalMemory(uint64_t start)
+ }
+
+ uint64_t pagemapOffset = (start / PAGE_SIZE) * sizeof(uint64_t);
+- uint64_t seekResult = lseek64(m_fdPagemap, (off64_t) pagemapOffset, SEEK_SET);
++ uint64_t seekResult = lseek(m_fdPagemap, (off_t) pagemapOffset, SEEK_SET);
+ if (seekResult != pagemapOffset)
+ {
+ int seekErrno = errno;
+