commit:     ad27cfc9c4044789991ba3a21e09440b1e5a7add
Author:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  2 09:35:57 2024 +0000
Commit:     Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Fri Feb  2 09:36:48 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad27cfc9

dev-dotnet/dotnet-sdk: bump to 8.0.101

Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>

 dev-dotnet/dotnet-sdk/Manifest                     |   2 +
 dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.101.ebuild    | 172 +++++++++++++++++++++
 .../files/dotnet-sdk-8.0.101-runtime-64.patch      |  23 +++
 3 files changed, 197 insertions(+)

diff --git a/dev-dotnet/dotnet-sdk/Manifest b/dev-dotnet/dotnet-sdk/Manifest
index 9529a5a6497a..9cc1b9d0d364 100644
--- a/dev-dotnet/dotnet-sdk/Manifest
+++ b/dev-dotnet/dotnet-sdk/Manifest
@@ -1 +1,3 @@
 DIST dotnet-sdk-8.0.100-prepared-gentoo-amd64.tar.xz 1714535960 BLAKE2B 
fd6027b86168d8801b1d8a7bbb08e9c358918a7693b03fa4e7e43e2a58568a65d71e2c5907ec7c7a03b83685608cd16aa010706fb4d14cd44ab0f0669654c8c2
 SHA512 
75efdcf44383445bc81981e2077be03c7311db316e295aa7f960f50d65367cde9bd86351f345072feb827a569c8de4fa8c9829d92000d2cbeb312ee9ddc17b44
+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

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;
+

Reply via email to