blob: 7fae87a7241ce19ac6caca54d1f0c90f2634fd8d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
inherit eutils
MY_PV="${PV}"
DESCRIPTION="Common files shared between multiple slots of .NET Core"
HOMEPAGE="https://www.microsoft.com/net/core"
LICENSE="MIT"
SRC_URI="
amd64? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${MY_PV}/dotnet-sdk-${MY_PV}-linux-x64.tar.gz )
arm? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${MY_PV}/dotnet-sdk-${MY_PV}-linux-arm.tar.gz )
arm64? ( https://dotnetcli.azureedge.net/dotnet/Sdk/${MY_PV}/dotnet-sdk-${MY_PV}-linux-arm64.tar.gz )
"
SLOT="0"
KEYWORDS=""
QA_PREBUILT="*"
RESTRICT="splitdebug"
# The sdk includes the runtime-bin and aspnet-bin so prevent from installing at the same time
# dotnetcore-sdk is the source based build
RDEPEND="
~dev-dotnet/dotnetcore-sdk-bin-${PV}
!dev-dotnet/dotnet-sdk[dotnet-symlink(+)]
!dev-dotnet/dotnet-sdk-bin[dotnet-symlink(+)]
"
S=${WORKDIR}
src_prepare() {
default
# For current .NET Core versions, all the directories contain versioned files,
# but the top-level files (the dotnet binary for example) are shared between versions,
# and those are backward-compatible.
# The exception from this above rule is packs/NETStandard.Library.Ref which is shared between >=3.0 versions.
# These common files are installed by the non-slotted dev-dotnet/dotnetcore-sdk-bin-common
# package, while the directories are installed by dev-dotnet/dotnetcore-sdk-bin which uses
# slots depending on major .NET Core version.
# This makes it possible to install multiple major versions at the same time.
# Skip the versioned files (which are located inside sub-directories)
find . -maxdepth 1 -type d ! -name . ! -name packs -exec rm -rf {} \; || die
find ./packs -maxdepth 1 -type d ! -name packs ! -name NETStandard.Library.Ref -exec rm -rf {} \; || die
}
src_install() {
local dest="opt/dotnet_core"
dodir "${dest}"
local ddest="${D}/${dest}"
cp -a "${S}"/* "${ddest}/" || die
dosym "/${dest}/dotnet" "/usr/bin/dotnet"
# set an env-variable for 3rd party tools
echo -n "DOTNET_ROOT=/${dest}" > "${T}/90dotnet"
doenvd "${T}/90dotnet"
}
|