summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-dotnet/dotnet-sdk/Manifest1
-rw-r--r--dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.0_rc1234194.ebuild132
2 files changed, 133 insertions, 0 deletions
diff --git a/dev-dotnet/dotnet-sdk/Manifest b/dev-dotnet/dotnet-sdk/Manifest
index 1ef44346ab87..165673a9a1fd 100644
--- a/dev-dotnet/dotnet-sdk/Manifest
+++ b/dev-dotnet/dotnet-sdk/Manifest
@@ -1 +1,2 @@
DIST dotnet-sdk-7.0.105-prepared-gentoo-amd64.tar.xz 1617916684 BLAKE2B 729d2027e3c356581f7db763d7da09cba512a1a48ddf6492e632dd15eaa547efa8153abeec73c37b5e31e0b8d94c54e0495dd0e67dbe8d1592dbb93b5484e830 SHA512 f45366830435a3adb03221a684818337b3ad6af6b3d46edbf0a664af1c49e7b949c0d2c4507b61c767fdddfa492d32d341cd22e2e4ad28657504ed34757c6aff
+DIST dotnet-sdk-8.0.0_rc1234194-prepared-gentoo-amd64.tar.xz 1561594596 BLAKE2B c4baf38371fc6f93255dd59a7e00d48dc456eb1c03c480375e37045d79feae26c7bb54d99d0c1660f440115bd6224df6f0b8a23cced7a687272f02d3eb8370a2 SHA512 9a75a83d10cce7fa5c887438e194f0b29baa79b56e7b97ba7f5b8b8a65b0e52a08b7cd9f7b7c3eb93cd1afb03c0eb2e1034b0577379e070cfb8ccf23cf9297f5
diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.0_rc1234194.ebuild b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.0_rc1234194.ebuild
new file mode 100644
index 000000000000..0451091d9c84
--- /dev/null
+++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-8.0.0_rc1234194.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Build the tarball:
+# - "$" - shell command,
+# - ">" - manual action.
+# $ git clone --depth 1 \
+# -b v8.0.0-rc.1.23419.4 \
+# https://github.com/dotnet/dotnet \
+# dotnet-sdk-8.0.0_rc1234194
+# $ cd dotnet-sdk-8.0.0_rc1234194
+# > Note the checkout tag hash.
+# $ ./prep.sh
+# $ rm -fr .git
+# $ cd ..
+# $ tar --create --auto-compress --file \
+# dotnet-sdk-8.0.0_rc1234194-prepared-gentoo-amd64.tar.xz \
+# dotnet-sdk-8.0.0_rc1234194
+# > Upload dotnet-sdk-8.0.0_rc1234194-prepared-gentoo-amd64.tar.xz
+
+EAPI=8
+
+inherit check-reqs
+
+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 )
+"
+
+SDK_SLOT="$(ver_cut 1-2)"
+RUNTIME_SLOT="${SDK_SLOT}.0_rc1234194"
+SLOT="${SDK_SLOT}/${RUNTIME_SLOT}"
+
+LICENSE="MIT"
+KEYWORDS="~amd64"
+
+CURRENT_NUGETS_DEPEND="
+ ~dev-dotnet/dotnet-runtime-nugets-${RUNTIME_SLOT}
+"
+EXTRA_NUGETS_DEPEND="
+ ~dev-dotnet/dotnet-runtime-nugets-3.1.32
+ ~dev-dotnet/dotnet-runtime-nugets-6.0.22
+ ~dev-dotnet/dotnet-runtime-nugets-7.0.11
+"
+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="
+ dev-util/cmake
+ dev-vcs/git
+ sys-devel/clang
+"
+IDEPEND="
+ app-eselect/eselect-dotnet
+"
+PDEPEND="
+ ${NUGETS_DEPEND}
+"
+
+CHECKREQS_DISK_BUILD="20G"
+
+# QA_PREBUILT="*" # TODO: Which binaries are created by dotnet itself?
+
+src_prepare() {
+ default
+
+ unset DOTNET_DATA DOTNET_ROOT
+ unset NUGET_DATA NUGET_PACKAGES
+
+ export DOTNET_CLI_TELEMETRY_OPTOUT=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"
+ # The "source_version" is dependent on the checkout tag commit.
+ local source_version="113d797bc90104bb4f1cc51e1a462cf3d4ef18fc"
+
+ ebegin "Building the .NET SDK ${SDK_SLOT}"
+ bash ./build.sh \
+ --clean-while-building \
+ --source-repository "${source_repository}" \
+ --source-version "${source_version}"
+ 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
+}