forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-dotnet/dotnet-sdk: bump to 8.0.100
Signed-off-by: Maciej Barć <[email protected]>
- Loading branch information
Showing
2 changed files
with
145 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
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 | ||
DIST dotnet-sdk-8.0.100-prepared-gentoo-amd64.tar.xz 1714535960 BLAKE2B fd6027b86168d8801b1d8a7bbb08e9c358918a7693b03fa4e7e43e2a58568a65d71e2c5907ec7c7a03b83685608cd16aa010706fb4d14cd44ab0f0669654c8c2 SHA512 75efdcf44383445bc81981e2077be03c7311db316e295aa7f960f50d65367cde9bd86351f345072feb827a569c8de4fa8c9829d92000d2cbeb312ee9ddc17b44 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
# 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 https://github.com/dotnet/dotnet \ | ||
# dotnet-sdk-8.0.0 | ||
# $ cd dotnet-sdk-8.0.0 | ||
# > Note the checkout tag hash. | ||
# $ ./prep.sh | ||
# $ rm -fr .git | ||
# $ cd .. | ||
# $ tar --create --auto-compress --file \ | ||
# dotnet-sdk-8.0.100-prepared-gentoo-amd64.tar.xz dotnet-sdk-8.0.0 | ||
# > Upload dotnet-sdk-8.0.0_rc1234194-prepared-gentoo-amd64.tar.xz | ||
|
||
EAPI=8 | ||
|
||
COMMIT=113d797bc90104bb4f1cc51e1a462cf3d4ef18fc | ||
|
||
LLVM_MAX_SLOT=16 | ||
PYTHON_COMPAT=( python3_{10..12} ) | ||
|
||
inherit check-reqs 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? ( https://dev.gentoo.org/~xgqt/distfiles/repackaged/${P}-prepared-gentoo-amd64.tar.xz ) | ||
" | ||
|
||
SDK_SLOT="$(ver_cut 1-2)" | ||
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". | ||
S="${WORKDIR}/${PN}-${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.25 | ||
~dev-dotnet/dotnet-runtime-nugets-7.0.14 | ||
" | ||
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-util/cmake | ||
dev-vcs/git | ||
" | ||
IDEPEND=" | ||
app-eselect/eselect-dotnet | ||
" | ||
PDEPEND=" | ||
${NUGETS_DEPEND} | ||
" | ||
|
||
CHECKREQS_DISK_BUILD="20G" | ||
|
||
# QA_PREBUILT="*" # TODO: Which binaries are created by dotnet itself? | ||
|
||
pkg_setup() { | ||
check-reqs_pkg_setup | ||
llvm_pkg_setup | ||
python-any-r1_pkg_setup | ||
} | ||
|
||
src_prepare() { | ||
default | ||
|
||
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}" | ||
bash ./build.sh \ | ||
--clean-while-building \ | ||
--source-repository "${source_repository}" \ | ||
--source-version "${COMMIT}" | ||
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 | ||
} |