This commit is contained in:
build@apk-groulx 2022-01-23 02:53:35 +00:00
parent b3b450252b
commit c1ad1ccbc7
161 changed files with 6241 additions and 3031 deletions

View file

@ -2,7 +2,7 @@
pkgname=airsonic
pkgver=10.6.2
pkgrel=0
pkgrel=1
pkgdesc="A free, web-based media streamer and jukebox."
arch='noarch'
url="https://github.com/Airsonic/airsonic/"
@ -17,6 +17,36 @@ source="$pkgname-$pkgver.war::https://github.com/airsonic/airsonic/releases/down
subpackages="$pkgname-openrc"
options="!check"
apk_up2date() {
getpkgver || return 1
local allpackages="$pkgname"
local i s
for i in $allpackages; do
subpkg_set "$i"
if [ ! -f "$REPODEST/$repo/${subpkgarch/noarch/$CARCH}/$subpkgname-$pkgver-r$pkgrel.apk" ]; then
subpkg_unset
return 1
fi
done
subpkg_unset
[ -n "$keep" ] && return 0
cd "$startdir"
for i in $source APKBUILD; do
if is_remote "$i"; then
s="$SRCDEST/$(filename_from_uri $i)"
else
s="$startdir/${i##*/}"
fi
echo $s
if [ "$s" -nt "$REPODEST/$repo/${pkgarch/noarch/$CARCH}/$pkgname-$pkgver-r$pkgrel.apk" ]; then
return 1
fi
done
return 0
}
package() {
cd ${srcdir}
mkdir -p $pkgdir/var/lib/airsonic

View file

@ -1,240 +0,0 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Build vars
_llvmver=12
pkgname=dotnet21
pkgdesc="The .NET Core SDK"
pkgver=2.1.524
pkgrel=0
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
bash
clang
cmake
git
icu-dev
inetutils-syslogd
krb5-dev
libgit2-dev
libunwind-dev
libxml2-dev
libxml2-utils
libintl
lldb-dev
llvm$_llvmver-dev
lttng-ust-dev
linux-headers
nodejs
openssl-dev
zlib-dev
dotnet21-bootstrap-sdk
dotnet21-bootstrap-runtime
"
subpackages="
dotnet21-host:host
dotnet21-sdk:sdk
dotnet21-runtime:runtime
aspnet21-runtime:aspnet_runtime:noarch
dotnet21-targeting-pack:targeting_pack
aspnet21-targeting-pack:aspnet_targeting_pack:noarch
netstandard21-targeting-pack:netstandard_targeting_pack:noarch
"
_gittag=v$pkgver-SDK
_giturl=https://github.com/dotnet/source-build
options="!check" # No test suite
source="
$pkgname-$_gittag.tar.gz::$_giturl/archive/refs/tags/$_gittag.tar.gz
dotnet.sh
"
_srcbld="source-build-$(echo $_gittag | sed 's|v||')"
builddir="$srcdir/$_srcbld"
# Disables dependency tracing for symlinks, thus fixing per-subpkg pkgver setting
scan_symlink_targets() {
return
}
_patch() {
local i failed=
if ! have_patches; then
return 0
fi
[ -d "$builddir" ] || { error "Is \$builddir set correctly?"; return 1; }
msg "Deploying patches"
for i in $source; do
case ${i%::*} in
build_*.patch)
patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i"
;;
*.patch)
local _package=$(echo $i | sed 's|_.*||')
local _patch=$(echo $i | sed "s|$_package\_||")
echo "cp $_patch -> $_package"
[ -d patches/$_package ] || mkdir patches/$_package
cp "$srcdir"/"$i" patches/$_package/$_patch
;;
esac
done
if [ -z "$failed" ]; then
return 0
fi
error "The following patches failed to apply:"
for i in $failed; do
printf " %s\n" "$i"
done
}
prepare() {
_patch
msg "Settings up bootstrap SDK"
cp -r /usr/share/dotnet/* ./
if [ "$(find sdk -type d -not -name '2.1.*' -maxdepth 1 -mindepth 1)" ]; then
find sdk -type d -not -name '2.1.*' -maxdepth 1 -mindepth 1 -print0 | xargs -0 rm -R --
fi
# disable warnings
sed -i "s|skiptests|skiptests ignorewarnings|" repos/coreclr.proj
# darc git init
git init
}
build() {
msg "Building $pkgname-$pkgver"
export SOURCE_BUILD_SKIP_SUBMODULE_CHECK=1
./build.sh \
--with-sdk ../$_srcbld \
/p:ArchiveDownloadedPackages=true \
/p:ContinueOnPrebuiltBaselineError=true \
/p:SkipPortableRuntimeBuild=true \
/p:SkipPrebuiltEnforcement=true \
/p:UseSystemLibraries=true \
/p:UseSystemLibunwind=true
}
package() {
depends="
dotnet21-sdk
dotnet-host
dotnet21-runtime
dotnet21-targeting-pack
aspnet21-runtime
aspnet21-targeting-pack
netstandard21-targeting-pack
"
export _runtimever=$(xmllint --xpath "//Dependency[@Name='Microsoft.NETCore.App.Runtime.linux-x64']/@Version" "$builddir"/eng/Version.Details.xml | cut -d '=' -f 2 | sed 's/^"//; s/"$//')
export _sdkver=$(xmllint --xpath "//Dependency[@Name='Microsoft.NET.Sdk']/@Version" "$builddir"/eng/Version.Details.xml | cut -d '=' -f 2 | sed 's/^"//; s/"$//; s/-rtm.*//; s/-servicing.*//')
mkdir -p "$pkgdir"
}
sdk() {
depends="
dotnet21-runtime
dotnet21-targeting-pack
netstandard21-targeting-pack
aspnet21-targeting-pack
"
pkgver=$_sdkver
provider_priority=100
provides="dotnet21-bootstrap-sdk"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet21-sdk
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
pkgver=$_runtimever
provides="dotnet-host"
provider_priority=2
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet ./host
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
ln -s /usr/share/dotnet/host/fxr/$pkgver/libhostfxr.so "$subpkgdir"/usr/lib/libhostfxr.so
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
runtime() {
pkgdesc="The .NET Core runtime"
pkgver=$_runtimever
depends="dotnet-host"
provider_priority=100
provides="dotnet21-bootstrap-runtime"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet21-runtime
}
aspnet_runtime() {
pkgdesc="The ASP.NET Core runtime"
pkgver=$_runtimever
depends="dotnet21-runtime"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.AspNetCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnet21-runtime
}
targeting_pack() {
pkgdesc="The .NET Core targeting pack"
pkgver=$_runtimever
depends="netstandard21-targeting-pack"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner --wildcards ./packs/Microsoft.NETCore.App.Host.* ./packs/Microsoft.NETCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet21-targeting-pack
}
netstandard_targeting_pack() {
pkgdesc="The .NET Standard targeting pack"
pkgver=$_runtimever
provides="netstandard21-targeting-pack"
provider_priority=100
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/NETStandard.Library.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/netstandard21-targeting-pack
}
aspnet_targeting_pack() {
pkgdesc="The ASP.NET Core targeting pack"
pkgver=$_runtimever
depends="dotnet21-targeting-pack"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnet21-targeting-pack
}
sha512sums="
feb388f7a0f3dfebbee85a8e27ada8f275a2cde0ff28540ba2c7438e3e834577fb2c12fcc168c5ff834042b10e5779ae42875f06ccc4628874274d118d6abf8a dotnet21-v2.1.524-SDK.tar.gz
e61b9e3e5a2305646a616d598378230c9755c5dd5363692cc363f8f4add3807563c324dd86f3a7ae9d358c82d730608e7b293935a2b6c81c0c0f62d752a0a1cf dotnet.sh
"

View file

@ -1,55 +0,0 @@
# Description
APKBUILD for dotnet31.
# How to build dotnet31 stack
* Build testing/dotnet31-stage0 first (provides binary
dotnet31-bootstrap-runtime / sdk and dotnet-host)
* Build testing/dotnet31 once (with binary bootstraps, provides repo versions
of above packages, and more)
* Build testing/dotnet31 again (with repo bootstraps, provides full repo
versions)
# Known issues
* Build oddities here and there that the patches fix. In the process of
upstreaming to clear them out
* No check() mechanism, havn't found any docs for source-build tests
* Tested only build for x86_64. While dotnet supports x86, aarch64 and
armv7, I have not attempted a build on these architectures due to apparent
lack of -stage0 binaries for dotnet31
# Patch notes
## application-insights_fix-net40-location.patch
Because paths on Linux are case sensitive. Applications insights looks
for <dotnet/applications-insights>/src/Core/Managed/net40 in net40
while the repo has a Net40. Patch moves whatever is in Net40 to net40.
## build_coreclr-tools-path.patch
Various steps in the build process looks for ilasm in ildasm in
$builddir/src/dotnet-3.1/Tools/source-built/coreclr-tools/x64 while they are
built to $builddir/src/dotnet-3.1/Tools/source-built/coreclr-tools.
This patches <dotnet/source-build> to look for ilasm and ildasm
in correct path.
## build_darc-fix-alpine.patch
Darc has a segmentation fault on Alpine due to not chosing the correct
binary architecture. This patch deletes all the wrong ones so that it
is forced to chose the correct one. See issue dotnet/source-build #1868
## coreclr_fix-build-on-Alpine-edge-45352.patch
Fixes a build error for Alpine Linux. It has since been fixed in dotnet-5.0,
see issue dotnet/runtime 45352.
## corefx_fix-build-clang10.patch
Fixes a build error for clang 10
## core-setup_rid-plat-generation-on-alpine-fix.patch
<dotnet/core-setup>/src/corehost/build.sh generates wrong plat_rid on Alpine
Generated RID is expected to be alpine.x.xx-xx, while the computed RID
is linux-musl-xxx. This patches it by matching what's expected.
## coreclr_non-portable-distrorid-fix-alpine.patch
<dotnet/coreclr>/init-distro-id.sh generates incorrect DistroRid on Alpine.
While the expected DistroRid (alpine-x.xx-xxx) should only include macro
version, init-distro-id.sh includes the micro version. This patches it
to cut off the trailing subversion off of VERSION_ID by treating it
the same way RHEL's VERSION_ID is treated.
## installer_generate-layout-core-setup-blob-path-fix.patch
<dotnet/core-setup> blobs are written to $builddir/artifacts/obj/x64/Release/
blobs/Runtime/3.1.20-alpine.3.15 while installer expects them in 3.1.20.
This patches <dotnet/installer>/src/redist/targets/GenerateLayout.targets
to point to actual path.

View file

@ -1,62 +0,0 @@
From 4603257752b01b60f1c1f2d1c2a77e07ae814647 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sun, 5 Dec 2021 15:46:08 +0000
Subject: [PATCH 1/1] Ildasm and ilasm paths changed to where they actually
apper
---
Directory.Build.props | 4 ++--
repos/coreclr-portable.proj | 2 +-
repos/coreclr.common.props | 2 +-
repos/coreclr.proj | 4 ++--
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index f6a6f54..8247c3e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -133,8 +133,8 @@
<AspNetRazorBuildServerLogDir>$(BaseOutputPath)aspnet-debug</AspNetRazorBuildServerLogDir>
<AspNetRazorBuildServerLogFile>$(AspNetRazorBuildServerLogDir)razor-build-server.log</AspNetRazorBuildServerLogFile>
<IlasmPath Condition="'$(OfflineBuild)' != 'true'">invalid: ILAsm is not expected to be needed in the online build</IlasmPath>
- <IlasmPath Condition="'$(OfflineBuild)' == 'true'">$(PrebuiltSourceBuiltPackagesPath)coreclr-tools/$(BuildArchitecture)/ilasm</IlasmPath>
- <IldasmPath Condition="'$(OfflineBuild)' != 'true'">$(ToolPackageExtractDir)coreclr-tools/$(BuildArchitecture)/ildasm</IldasmPath>
+ <IlasmPath Condition="'$(OfflineBuild)' == 'true'">$(PrebuiltSourceBuiltPackagesPath)coreclr-tools/ilasm</IlasmPath>
+ <IldasmPath Condition="'$(OfflineBuild)' != 'true'">$(ToolPackageExtractDir)coreclr-tools/ildasm</IldasmPath>
<IldasmPath Condition="'$(OfflineBuild)' == 'true'">invalid: ILDasm is not expected to be needed in the offline build</IldasmPath>
<!-- Dir where git info is generated during online builds. -->
<GitInfoOutputDir>$(BaseOutputPath)git-info/</GitInfoOutputDir>
diff --git a/repos/coreclr-portable.proj b/repos/coreclr-portable.proj
index 78adc14..378547e 100644
--- a/repos/coreclr-portable.proj
+++ b/repos/coreclr-portable.proj
@@ -19,7 +19,7 @@
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(RepoCompletedSemaphorePath)CopyTools.complete">
<PropertyGroup>
- <CoreClrDestinationDir>$(ToolPackageExtractDir)coreclr-tools/$(BuildArchitecture)</CoreClrDestinationDir>
+ <CoreClrDestinationDir>$(ToolPackageExtractDir)coreclr-tools</CoreClrDestinationDir>
<AssemblyExtension Condition="'$(TargetOS)' == 'Linux'">so</AssemblyExtension>
<AssemblyExtension Condition="'$(TargetOS)' == 'FreeBSD'">so</AssemblyExtension>
<AssemblyExtension Condition="'$(TargetOS)' == 'OSX'">dylib</AssemblyExtension>
diff --git a/repos/coreclr.proj b/repos/coreclr.proj
index 7e67b28..037c68a 100644
--- a/repos/coreclr.proj
+++ b/repos/coreclr.proj
@@ -15,11 +15,11 @@
<!-- OSX and portable only build this and not coreclr-portable, so we need to copy its tools here -->
<Target Name="CopyTools"
AfterTargets="Package"
- Condition="'$(TargetOS)' == 'OSX' or '$(PortableBuild)' == 'true'"
+ Condition="'$(TargetOS)' == 'OSX' or '$(PortableBuild)' == 'true' or '$(TargetRid)' == 'linux-musl-x64'"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(RepoCompletedSemaphorePath)CopyTools.complete">
<PropertyGroup>
- <CoreClrDestinationDir>$(ToolPackageExtractDir)coreclr-tools/$(BuildArchitecture)</CoreClrDestinationDir>
+ <CoreClrDestinationDir>$(ToolPackageExtractDir)coreclr-tools</CoreClrDestinationDir>
<AssemblyExtension Condition="'$(TargetOS)' == 'Linux'">so</AssemblyExtension>
<AssemblyExtension Condition="'$(TargetOS)' == 'FreeBSD'">so</AssemblyExtension>
<AssemblyExtension Condition="'$(TargetOS)' == 'OSX'">dylib</AssemblyExtension>
--
2.34.0

View file

@ -0,0 +1,53 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=dotnet31-references
pkgver=3.1.20420
pkgrel=0
_gittag=045b2888ccfaf4c203c945a09b3f41f0e6393d1c
_pkgver_macro=${pkgver%.*}
_pkgver_prior=${pkgver%.*.*}
_pkgver_name=${_pkgver_macro//[.0]}
pkgdesc="Reference packages needed by the .NET $_pkgver_name SDK build"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
bash
dotnet$_pkgver_name-stage1
dotnet$_pkgver_name-bootstrap-sdk
dotnet$_pkgver_name-bootstrap-runtime
dotnet$_pkgver_name-bootstrap-artifacts
findutils
icu-dev
"
provides=dotnet$_pkgver_name-bootstrap-references
provider_priority=$_pkgver_prior
options="!check" # No test suite
source="
source-build-reference-packages-$_gittag.tar.gz::https://github.com/dotnet/source-build-reference-packages/archive/$_gittag.tar.gz
sh-build-fix.patch
"
builddir="$srcdir"/source-build-reference-packages-$_gittag
prepare() {
default_prepare
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
tar cvzf Private.SourceBuilt.Artifacts.tar.gz -C "/usr/share/dotnet/artifacts/$_artifactsver" . >/dev/null 2>&1
}
build() {
export COMPlus_LTTng=0
msg "Building $pkgname-$pkgver"
cd "$srcdir"/source-build-reference*
./build.sh \
--with-sdk "/usr/share/dotnet" \
--with-packages "$builddir"/Private.SourceBuilt.Artifacts.tar.gz \
| tee -a build.log
}
package() {
install -dm 755 "$pkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro "$pkgdir"/usr/share/licenses
cd $builddir/artifacts/reference-packages
install ./* "$pkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro/.
ln -s dotnet-host "$pkgdir"/usr/share/licenses/dotnet$_pkgver_name-references
}
sha512sums="
9d7ae29c311cd9550389225cab891df359385e098aaccb8100c77832ea7b7b1f6a7984d811cb1f45bd323182149246c33f2016b4ee85d97ee9b29243acc644bc source-build-reference-packages-045b2888ccfaf4c203c945a09b3f41f0e6393d1c.tar.gz
175eb7b8121cdf36569580e0d3ddd96f2ff8d280e4f72bcb0e8bfcdbb81a10b1302b7d0e1b0fc64c16481b9c6035f266265ab214069403cfc8f8a701a216f480 sh-build-fix.patch
"

View file

@ -0,0 +1,19 @@
# Description
APKBUILD for dotnet31-references
# Generated packages
* dotnet31-references (provides dotnet31-bootstrap-references)
# How to build dotnet31 stack
* Build testing/dotnet31-stage0 (provides dotnet31-bootstrap-runtime / sdk)
* Build testing/dotnet31-stage1 (dotnet31-stage0 runtime / sdk bootstrap)
* Build testing/dotnet31-references (dotnet31 bootstrap and artifacts)
* Build testing/dotnet31 (with repo bootstraps, provides full repo
versions)
# Special functions
* ./build_apkbuild: Builds APKBUILD using scripts in lib
# Known issues
* While dotnet31 supports musl-arm64, builds for that architecture hasn't been
attempted due to lack of bootstrap SDK

View file

@ -0,0 +1,9 @@
#/bin/bash
echo "# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>" > APKBUILD
apkbuild-lint lib/*
# Build APKBUILD
sed 's:^\s*#.*$::g' lib/* >> APKBUILD
sed -i '/^[[:space:]]*$/d' APKBUILD
abuild checksum

View file

@ -0,0 +1,8 @@
#
# Main variables for dotnet-references build version 3.1
#
pkgname=dotnet31-references
pkgver=3.1.20420
pkgrel=0
_gittag=045b2888ccfaf4c203c945a09b3f41f0e6393d1c

View file

@ -0,0 +1,63 @@
#
# Build functions for dotnet-references version 5.0 and under
#
_pkgver_macro=${pkgver%.*}
_pkgver_prior=${pkgver%.*.*}
_pkgver_name=${_pkgver_macro//[.0]}
pkgdesc="Reference packages needed by the .NET $_pkgver_name SDK build"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
bash
dotnet$_pkgver_name-stage1
dotnet$_pkgver_name-bootstrap-sdk
dotnet$_pkgver_name-bootstrap-runtime
dotnet$_pkgver_name-bootstrap-artifacts
findutils
icu-dev
"
provides=dotnet$_pkgver_name-bootstrap-references
provider_priority=$_pkgver_prior
options="!check" # No test suite
source="
source-build-reference-packages-$_gittag.tar.gz::https://github.com/dotnet/source-build-reference-packages/archive/$_gittag.tar.gz
sh-build-fix.patch
"
builddir="$srcdir"/source-build-reference-packages-$_gittag
prepare() {
default_prepare
# Link source-built-artifacts
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
tar cvzf Private.SourceBuilt.Artifacts.tar.gz -C "/usr/share/dotnet/artifacts/$_artifactsver" . >/dev/null 2>&1
}
build() {
# Disable tracing, which is incompatible with certain versions of
# lttng See https://github.com/dotnet/runtime/issues/57784. The
# suggested compile-time change doesn't work, unfrotunately.
export COMPlus_LTTng=0
msg "Building $pkgname-$pkgver"
cd "$srcdir"/source-build-reference*
./build.sh \
--with-sdk "/usr/share/dotnet" \
--with-packages "$builddir"/Private.SourceBuilt.Artifacts.tar.gz \
| tee -a build.log
}
package() {
install -dm 755 "$pkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro "$pkgdir"/usr/share/licenses
cd $builddir/artifacts/reference-packages
install ./* "$pkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro/.
ln -s dotnet-host "$pkgdir"/usr/share/licenses/dotnet$_pkgver_name-references
}
sha512sums="
9d7ae29c311cd9550389225cab891df359385e098aaccb8100c77832ea7b7b1f6a7984d811cb1f45bd323182149246c33f2016b4ee85d97ee9b29243acc644bc source-build-reference-packages-045b2888ccfaf4c203c945a09b3f41f0e6393d1c.tar.gz
6f4dbf64a190dd0676cbd4fc8d0e6e20f673e0c52bf572039057ce7712fc71d358b81d816493c8b2f79b4a7e3e4e5ec06479a8dbeb257ebefb8b87abc20e6fdc sh-build-fix.patch
"

View file

@ -0,0 +1,28 @@
From 7b1f102db70fd8c86f21c722669c9f7337367eee Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 8 Jan 2022 17:02:38 +0000
Subject: [PATCH 1/1] patched for sh
Exec Command issue with bad character for busybox sh.
This patches by removing bad character so that it can run with busybox
---
src/targetPacks/assemble.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/targetPacks/assemble.targets b/src/targetPacks/assemble.targets
index 6b884ce2..e5009793 100644
--- a/src/targetPacks/assemble.targets
+++ b/src/targetPacks/assemble.targets
@@ -13,7 +13,7 @@
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Assemble TargetingPacks src." />
<MakeDir Directories="@(TargetingPackSrc->'$(ArtifactsTFMPackTemp)$(MSBuildProjectName)/%(RecursiveDir)')" />
<!-- Note: Hack below to not fill up build logs. Ilasm produces warning on validly disassembled il src. The awk below eats just that warning -->
- <Exec Command="set -o pipefail;$(IlasmToolPathSB)ilasm %(TargetingPackSrc.Identity) -dll -quiet -nologo -output=$(ArtifactsTFMPackTemp)$(MSBuildProjectName)/%(RecursiveDir)%(TargetingPackSrc.Filename).dll |&amp; awk '!/warning : Method has no body/'" IgnoreStandardErrorWarningFormat="true"/>
+ <Exec Command="set -o pipefail;$(IlasmToolPathSB)ilasm %(TargetingPackSrc.Identity) -dll -quiet -nologo -output=$(ArtifactsTFMPackTemp)$(MSBuildProjectName)/%(RecursiveDir)%(TargetingPackSrc.Filename).dll | awk '!/warning : Method has no body/'" IgnoreStandardErrorWarningFormat="true"/>
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Done assembling TargetPacks src." />
</Target>
</Project>
--
2.34.1

View file

@ -1,99 +1,221 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=dotnet31-stage0
pkgdesc="The .NET Core SDK"
pkgver=3.1.120
_runtimever=3.1.22
pkgrel=2
arch="x86_64 aarch64"
pkgrel=0
_runtimever=3.1.20
_source_artifactsver=0.1.0-3.1.119-1372838-20210920.4
_source_referencesver=1.0.0-beta.21479.1
_nappo_get=''
_pkgver_macro=${pkgver%.*}
_pkgver_prior=1
_pkgver_name=${_pkgver_macro//[.0]}
_artifactsver=${_source_artifactsver:6:7}
_referencesver=$_pkgver_macro.${_source_referencesver:11:5}
pkgdesc="The .NET $_pkgver_macro SDK, Microsoft build for use by dotnet$_pkgver_name aport"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
libcurl
krb5-libs
libintl
lttng-ust
zlib
"
subpackages="
dotnet31-stage0-runtime:runtime
dotnet31-stage0-host:host
"
options="!check" # No test suite
case $CARCH in
x86_64)
_arch=x64
source="https://dotnetcli.azureedge.net/dotnet/Sdk/$pkgver/dotnet-sdk-$pkgver-linux-musl-$_arch.tar.gz"
subpackages="$subpackages dotnet31-stage0-sdk:sdk"
;;
aarch64)
_arch=arm64
source="https://dotnetcli.azureedge.net/dotnet/Runtime/$_runtimever/dotnet-runtime-$_runtimever-linux-musl-$_arch.tar.gz"
;;
esac
source="
$source
_default_source="
https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.$_source_artifactsver.tar.gz
https://dotnetfeed.blob.core.windows.net/dotnet-core/assets/Private.SourceBuild.ReferencePackages.$_source_referencesver.tar.gz
https://gist.githubusercontent.com/omajid/c04b6025de49d0b7b18ab4a7e789484e/raw/b33c57f6bf9c00bb8633375123d2d3594fe81c26/nappo.py
dotnet.sh
"
makedepends="
krb5-libs
libcurl
libintl
lttng-ust
py3-packaging
zlib
"
options="!strip !check" # No test suite
builddir="$srcdir"
# Disables dependency tracing for symlinks, thus fixing per-subpkg pkgver setting
scan_symlink_targets() {
return
_get_arch() {
case $1 in
x86_64) local arch=x64;;
aarch64) local arch=arm64;;
armv7) local arch=arm;;
esac
echo $arch
}
unpack() {
verify
initdcheck
mkdir -p "$srcdir"
msg "Unpacking Private.SourceBuilt.Artifacts"
gunzip Private.SourceBuilt.Artifacts.*.tar.gz
msg "Unpacking Private.SourceBuild.Reference.Packages"
gunzip Private.SourceBuild.Reference*.tar.gz
}
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}
_update_source() {
[ -z "$source" ] \
&& msg "Removing source from APKBUILD"
sed -E -i \
-e '/^source=".*"$/d' \
-e '/^source="/,/"$/d' \
\
-e "/^source='.*'\$/d" \
-e "/^source='/,/'\$/d" \
APKBUILD
source="$_default_source"
fetch
local nuget_source="$_default_source"
msg "Updating source"
local nappo_get="$_nappo_get $(tar --list -f "$srcdir"/Private.SourceBuilt.Artifacts.*.tar.gz --wildcards '*.linux-x64.*' --exclude '*Intermediate*' --exclude 'runtime.linux-x64.Microsoft.NETCore.Runtime.CoreCLR*' 2>/dev/null)"
for package in $nappo_get; do
for _arch in $arch; do
local filename=${package##*/} # Extracts just filename
local suffix=${filename##*[0-9]} # Extracts what's after version number
local nupkg=${filename/$suffix} # Extracts nupkg name with version
[ -z "${filename##*servicing*}" ] && local nupkg=${filename%%-servicing*}
local name=${nupkg%*.*.*.*} # Extracts name without version
local version=${nupkg/$name.} # Extracts version out of nupkg using name
local name=${name/linux-x64/linux-musl-$(_get_arch $_arch)} # Converts to current arch
[ -z "${filename##*servicing*}" ] && local version=''
echo "Getting url for $name version $version, replaces $package"
local nappo_out=$(python3 "$srcdir"/nappo.py download --verbose "$name" "$version")
local nupkg="${nappo_out#*.nupkg}"
local uri=${nappo_out/$nupkg}
local nupkg=$(echo $nupkg | tr -d '\n')
[ -f "$nupkg" ] && mv $nupkg "$SRCDEST"/.
local nuget_source="$nuget_source $uri"
[ -z "${name##*linux*}" ] || break
done
done
for _arch in $arch; do
local nuget_source="$nuget_source https://dotnetcli.azureedge.net/dotnet/Sdk/$pkgver/dotnet-sdk-$pkgver-linux-musl-$(_get_arch $_arch).tar.gz"
done
local nuget_source="$(printf '%s\n' $nuget_source)"
printf 'source="\n%s\n"\n' "$nuget_source" >>"$APKBUILD"
}
subpackages="
dotnet$_pkgver_name-stage0-runtime:runtime
dotnet$_pkgver_name-stage0-sdk:sdk
dotnet$_pkgver_name-stage0-host:host
dotnet$_pkgver_name-stage0-hostfxr:hostfxr
dotnet$_pkgver_name-stage0-artifacts:artifacts
dotnet$_pkgver_name-stage0-references:references
"
package() {
export _runtimever=$("$srcdir"/dotnet --list-runtimes | awk '($1 == "Microsoft.NETCore.App"){print $2}')
export _sdkver=$("$srcdir"/dotnet --list-sdks | awk '{print $1}')
depends="
dotnet31-stage0-runtime
dotnet31-stage0-host
"
[ $CARCH == "x86_64" ] && depends="$depends dotnet31-stage0-sdk"
mkdir -p "$pkgdir"
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
pkgdesc="A generic driver for the .NET Core Command Line Interface, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_runtimever
provides=dotnet-host
provider_priority=1
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet ./host
provides="dotnet-host"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
sdk() {
provides=dotnet31-bootstrap-sdk
depends="dotnet31-bootstrap-runtime"
pkgver=$_sdkver
provider_priority=1
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet31-sdk
}
runtime() {
pkgdesc="The .NET Core runtime"
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provides=dotnet31-bootstrap-runtime
provider_priority=1
provides="dotnet$_pkgver_name-hostfxr"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
sdk() {
depends="dotnet$_pkgver_name-bootstrap-runtime"
provides="dotnet$_pkgver_name-bootstrap-sdk"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_runtimever
depends="dotnet$_pkgver_name-hostfxr"
provides="dotnet$_pkgver_name-bootstrap-runtime"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet31-runtime
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
sha512sums="
d1f5565fef5a496643ef5c67cc54d8bf33bb7b59d9d04c24a91f54624a8cd673ddf98e4369a7c10ef9f31aa30041b20ef04cb6be563f2043bf123460c9e7f4a5 dotnet-sdk-3.1.120-linux-musl-x64.tar.gz
f58bd83b709dcb4b0b67830756069c34258a167b33cb290cbf30f21d69d75402d38e013fd7bbf00640fe19e397f78df6ff787cf8484ee8967d5b8809f033eafb dotnet.sh
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_artifactsver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuilt.Artifacts.*.tar -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/ --no-same-owner --exclude '*.linux-x64*'
install -m 644 "$srcdir"/*"$(_get_arch $CARCH)"*.nupkg "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/.
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
references() {
pkgdesc="Reference packages needed by the .NET $_pkgver_macro SDK build, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_referencesver
provides="dotnet$_pkgver_name-bootstrap-references"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuild.Reference*.tar -C "$subpkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro/ --no-same-owner
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-reference
}
source="
https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.0.1.0-3.1.119-1372838-20210920.4.tar.gz
https://dotnetfeed.blob.core.windows.net/dotnet-core/assets/Private.SourceBuild.ReferencePackages.1.0.0-beta.21479.1.tar.gz
https://gist.githubusercontent.com/omajid/c04b6025de49d0b7b18ab4a7e789484e/raw/b33c57f6bf9c00bb8633375123d2d3594fe81c26/nappo.py
dotnet.sh
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.AspNetCore.App.Runtime.linux-musl-x64/3.1.19/microsoft.aspnetcore.app.runtime.linux-musl-x64.3.1.19.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Host.linux-musl-x64/3.1.19/microsoft.netcore.app.host.linux-musl-x64.3.1.19.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Runtime.linux-musl-x64/3.1.19/microsoft.netcore.app.runtime.linux-musl-x64.3.1.19.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.App/2.2.0-preview2-26905-02/runtime.linux-musl-x64.microsoft.netcore.app.2.2.0-preview2-26905-02.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost/3.1.19/runtime.linux-musl-x64.microsoft.netcore.dotnetapphost.3.1.19.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost/3.1.19/runtime.linux-musl-x64.microsoft.netcore.dotnethost.3.1.19.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy/3.1.19/runtime.linux-musl-x64.microsoft.netcore.dotnethostpolicy.3.1.19.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver/3.1.19/runtime.linux-musl-x64.microsoft.netcore.dotnethostresolver.3.1.19.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.ILAsm/5.0.0-alpha1.19459.9/runtime.linux-musl-x64.microsoft.netcore.ilasm.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm/5.0.0-alpha1.19459.9/runtime.linux-musl-x64.microsoft.netcore.ildasm.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.Jit/5.0.0-alpha1.19459.9/runtime.linux-musl-x64.microsoft.netcore.jit.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.Native/5.0.0-alpha1.19459.9/runtime.linux-musl-x64.microsoft.netcore.native.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.TestHost/5.0.0-alpha1.19459.9/runtime.linux-musl-x64.microsoft.netcore.testhost.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.Private.CoreFx.NETCoreApp/5.0.0-alpha1.19457.3/runtime.linux-musl-x64.microsoft.private.corefx.netcoreapp.5.0.0-alpha1.19457.3.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//transport.runtime.linux-musl-x64.Microsoft.NETCore.ILAsm/5.0.0-alpha1.19459.9/transport.runtime.linux-musl-x64.microsoft.netcore.ilasm.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//transport.runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm/5.0.0-alpha1.19459.9/transport.runtime.linux-musl-x64.microsoft.netcore.ildasm.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//transport.runtime.linux-musl-x64.Microsoft.NETCore.Jit/5.0.0-alpha1.19459.9/transport.runtime.linux-musl-x64.microsoft.netcore.jit.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//transport.runtime.linux-musl-x64.Microsoft.NETCore.Native/5.0.0-alpha1.19459.9/transport.runtime.linux-musl-x64.microsoft.netcore.native.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//transport.runtime.linux-musl-x64.Microsoft.NETCore.Runtime.CoreCLR/5.0.0-alpha1.19459.9/transport.runtime.linux-musl-x64.microsoft.netcore.runtime.coreclr.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//transport.runtime.linux-musl-x64.Microsoft.NETCore.TestHost/5.0.0-alpha1.19459.9/transport.runtime.linux-musl-x64.microsoft.netcore.testhost.5.0.0-alpha1.19459.9.nupkg
https://dotnetcli.azureedge.net/dotnet/Sdk/3.1.120/dotnet-sdk-3.1.120-linux-musl-x64.tar.gz
"
sha512sums="
f349e52745305ec3a853d16968e1f415b70a8fb7cf8640f9a19586a36ecccba015fd623c85f851f3ab2a5c13b05a3a5d0357d0d188046493db371596ed212ac5 Private.SourceBuilt.Artifacts.0.1.0-3.1.119-1372838-20210920.4.tar.gz
bf2b971537f2aeb0d391686794026837f3603da17f2463f2e684af0bf5a3475af22293f67ad34e874eae2b5fb793eb4552b3ad5a086fc5f5641c3a13d88fc3f4 Private.SourceBuild.ReferencePackages.1.0.0-beta.21479.1.tar.gz
90b3ec14fd02cbef8af2086c26ef2f4f23c4c5ce83dac39cacbb36e506ea9914aae6c3b3580af2e71141b8f0435b4910f60970333011b4ddd594839f5fd7ec8e nappo.py
f58bd83b709dcb4b0b67830756069c34258a167b33cb290cbf30f21d69d75402d38e013fd7bbf00640fe19e397f78df6ff787cf8484ee8967d5b8809f033eafb dotnet.sh
9070aa3b2416abb0d2a213b6bd85f28c6afd06ebfaeed3d63b8b5dc4e43573bba704ceb4cedc3fb136fc15f34dca913b39ccea96432f5f7d719628a4807d1503 microsoft.aspnetcore.app.runtime.linux-musl-x64.3.1.19.nupkg
13e847c935c4356bb4882c2aa801a30da7837762b3d7ba30fcc137a5b4303ba9a954a42e98e3246f80e3a3f5b5a6991c6cd49d26c7c37622dc3a509e6f3c9b9f microsoft.netcore.app.host.linux-musl-x64.3.1.19.nupkg
24d08bd21fbfbb5cf982e46309fd8ff683f67d66f7a0c34ac5b413ccc6c2674f07146d486bcf4a7c52eb1d6deda531d6eb5ad92f26324b47a5d23364c5a86122 microsoft.netcore.app.runtime.linux-musl-x64.3.1.19.nupkg
ec01c7482f040c06726ca7bf67fd9c83e83b6af4f46ccd16f7892c1034ae408c0d9220e24952060316e19df38f15f86b8d5ae8f1f52d3e38d658b4e94304d42b runtime.linux-musl-x64.microsoft.netcore.app.2.2.0-preview2-26905-02.nupkg
c18349fcc70880b8d8e7299297c53d6622ee8d35849cbc5dca6a1fa20659f65bd9b55778701d2c0d8db40ad6b2190e555e80ef8149294b67c156371676a43670 runtime.linux-musl-x64.microsoft.netcore.dotnetapphost.3.1.19.nupkg
464c24592b928f6a8449b914194a90f92288e315ccd73c4e220354dd3fc1c524ed265d3908a43484998816dc6a6d9e83c94e3e69d45e32e37b33cd19b5222ec8 runtime.linux-musl-x64.microsoft.netcore.dotnethost.3.1.19.nupkg
d1280b21d84b127684fc6fd1a71ba2228a38d1fa2818bb2a42029e04ee832ed937d95ae43771669502f53748ed9a32a8d6ea5adae923d3bcfbcbd774fbe192d3 runtime.linux-musl-x64.microsoft.netcore.dotnethostpolicy.3.1.19.nupkg
98317c8d12ff071059d3e8608b71d39efe436d328169d91ed0ebc8f3a93b3c68659e5a41d969a26ba8099a4522cb0bf7858f8e39d03237ffdfecb20b66f1b66c runtime.linux-musl-x64.microsoft.netcore.dotnethostresolver.3.1.19.nupkg
b5c03376ed2e56955463a4c8328ec8682d11fca5085c091025df989b1add13ef5510d5079c1c541238610180d5871ad0a7ec2b4a617d40ca4fdbdf85500769b2 runtime.linux-musl-x64.microsoft.netcore.ilasm.5.0.0-alpha1.19459.9.nupkg
44609e872e0aa76c682ffa34951cbdbe2e590686342263e71b8ec012ef3e5d242f17ab23576679dc27d451b3a5a59f1a1bf9abd8a620e777e8552486d366058c runtime.linux-musl-x64.microsoft.netcore.ildasm.5.0.0-alpha1.19459.9.nupkg
f7266e2da619eacea2855cc131245711966f54115cf763ea338213ab029e138a84dc1daf0a7692fc9879337a6a490f4c76849ad51ed20f3b3e649573ce25b79b runtime.linux-musl-x64.microsoft.netcore.jit.5.0.0-alpha1.19459.9.nupkg
65607d7cb01d2ebeef6795af9694fd485b24e9b773287f75b99c1e89cfa1d1fc883d4c2b733afe4885adf2d6366866045c0277f66b48321f8c58b9e2c01096db runtime.linux-musl-x64.microsoft.netcore.native.5.0.0-alpha1.19459.9.nupkg
7d9f6f15fa66ee512989d63ccfb996171f046aa6c853d4856284ec696042676ffee24027595fa358ea8c01083370548f2a1f8b42a422a86b99c10d31114dc9f1 runtime.linux-musl-x64.microsoft.netcore.testhost.5.0.0-alpha1.19459.9.nupkg
6f4b46a20cfc68b7838741767aa97617cbd654ad3876ff0909e72dd7d8720e4586816b620205491a6b81b0e96ec6340d192e8a62a2551866320ad9362fd0d49e runtime.linux-musl-x64.microsoft.private.corefx.netcoreapp.5.0.0-alpha1.19457.3.nupkg
8ee53783e0747b805dc6e6544dfabd52f6d30cdc0ae70f56dfc711c6d063f17bda82c6ce4cf18871fe05d8bf98391b15a50f2557b09d3875b2366cab3da199f8 transport.runtime.linux-musl-x64.microsoft.netcore.ilasm.5.0.0-alpha1.19459.9.nupkg
640c7f0f22a1652bfd3bb522266bba46af368e421b29b3feece438684ef88db23b92c6aba45c576475f2ad8a65182ffbf9ce473593e17f3bc542ec01e1400842 transport.runtime.linux-musl-x64.microsoft.netcore.ildasm.5.0.0-alpha1.19459.9.nupkg
c701fc3ec4f4c1a29bca2a45d752207fedb6c4437ded9ea5ae928d184772ee6b63432ae214e5ef1a5e99d14ab2f9a9aa6da694cdda277adbcf3b2f3c0686c5f3 transport.runtime.linux-musl-x64.microsoft.netcore.jit.5.0.0-alpha1.19459.9.nupkg
98061582947420e265a28fb2eedf4d6bb3420e8fb9baf6660f6c7489110cbe1683024a3882b4d7faecbb3f85a30e1552ff3fdf67fd7b28c8bb028db0c100a18e transport.runtime.linux-musl-x64.microsoft.netcore.native.5.0.0-alpha1.19459.9.nupkg
097bf3c61b855ddf97e254be5cd982603ca8e90af5c018a8d090d95f727ae1a3c023b6154cdc031af6ed1371a7f20ae60de96c5ff136bdf10b40cb5f36d99c2d transport.runtime.linux-musl-x64.microsoft.netcore.runtime.coreclr.5.0.0-alpha1.19459.9.nupkg
e6b6928a30a1eae6b0d91dfdcc9ed0e91615ed4f01fe7a73d66f72569a6f4feb001d6cf79437fa2ae7269039e9e50a9afed86f0cd9fc6fa343174a39450720a2 transport.runtime.linux-musl-x64.microsoft.netcore.testhost.5.0.0-alpha1.19459.9.nupkg
d1f5565fef5a496643ef5c67cc54d8bf33bb7b59d9d04c24a91f54624a8cd673ddf98e4369a7c10ef9f31aa30041b20ef04cb6be563f2043bf123460c9e7f4a5 dotnet-sdk-3.1.120-linux-musl-x64.tar.gz
"

View file

@ -1,15 +1,26 @@
# Description
APKBUILD for dotnet31-stage0
# Generated packages
* dotnet31-stage0-host (provides dotnet-host)
* dotnet31-stage0-runtime (provides dotnet31-bootstrap-runtime)
* dotnet31-stage0-sdk (provides dotnet31-bootstrap-sdk)
* dotnet31-stage0-artifacts (provides dotnet31-bootstrap-artifacts
* dotnet31-stage0-references (provides dotnet31-bootstrap-references)
# How to build dotnet31 stack
* Build testing/dotnet31-stage0 first (provides binary
dotnet31-bootstrap-runtime / sdk and dotnet-host)
* Build testing/dotnet31 once (with binary bootstraps, provides repo versions
of above packages, and more)
* Build testing/dotnet31 again (with repo bootstraps, provides full repo
* Build testing/dotnet31-stage0 (provides dotnet31-bootstrap-runtime / sdk)
* Build testing/dotnet31-stage1 (dotnet31-stage0 runtime / sdk bootstrap)
* Build testing/dotnet31-references (dotnet31 bootstrap and artifacts)
* Build testing/dotnet31 (with repo bootstraps, provides full repo
versions)
# Special functions
* ./build_apkbuild.sh: Builds APKBUILD using scripts in lib
* abuild _update_source: Stage0 adapts prebuilt artifacts packages by replacing
linux-x64 nupkgs with linux-musl-x64 versions. Any updates to artifacts will
require executing this function to update source with up to date nuget packages
# Known issues
* Havn't tested for builds with armv7 and aarch64 as dotnet31-stage0 doesn't
have bootstrap binaries available for those architectures, need to figure this
out
* While dotnet31 supports musl-arm64 musl-arm32 and musl-x64, builds for those
architectures will not be supported. Please use dotnet6 for those architectures

View file

@ -0,0 +1,14 @@
#/bin/bash
source APKBUILD
echo "# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>" > APKBUILD
apkbuild-lint lib/*
# Build APKBUILD
sed 's:^\s*#.*$::g' lib/* >> APKBUILD
source="$(printf '%s\n' $source)"
printf 'source="\n%s\n"\n' "$source" >> APKBUILD
printf 'sha512sums="%s\n"\n' "$sha512sums" >> APKBUILD
# Strip whitespace
sed -i '/^[[:space:]]*$/d' APKBUILD

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
#
# Build variables for dotnet-stage0 version 3.1
#
pkgname=dotnet31-stage0
pkgver=3.1.120
pkgrel=0
_runtimever=3.1.20
_source_artifactsver=0.1.0-3.1.119-1372838-20210920.4
_source_referencesver=1.0.0-beta.21479.1
_nappo_get=''

View file

@ -0,0 +1,29 @@
#
# Building variables for dotnet-stage0 version 5.0 and under
#
_pkgver_macro=${pkgver%.*}
_pkgver_prior=1
_pkgver_name=${_pkgver_macro//[.0]}
_artifactsver=${_source_artifactsver:6:7}
_referencesver=$_pkgver_macro.${_source_referencesver:11:5}
pkgdesc="The .NET $_pkgver_macro SDK, Microsoft build for use by dotnet$_pkgver_name aport"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
_default_source="
https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.$_source_artifactsver.tar.gz
https://dotnetfeed.blob.core.windows.net/dotnet-core/assets/Private.SourceBuild.ReferencePackages.$_source_referencesver.tar.gz
https://gist.githubusercontent.com/omajid/c04b6025de49d0b7b18ab4a7e789484e/raw/b33c57f6bf9c00bb8633375123d2d3594fe81c26/nappo.py
dotnet.sh
"
makedepends="
krb5-libs
libcurl
libintl
lttng-ust
py3-packaging
zlib
"
options="!strip !check" # No test suite
builddir="$srcdir"

View file

@ -0,0 +1,22 @@
#
# Building functions for dotnet-stage0 version 5.0 and under
#
_get_arch() {
case $1 in
x86_64) local arch=x64;;
aarch64) local arch=arm64;;
armv7) local arch=arm;;
esac
echo $arch
}
unpack() {
verify
initdcheck
mkdir -p "$srcdir"
msg "Unpacking Private.SourceBuilt.Artifacts"
gunzip Private.SourceBuilt.Artifacts.*.tar.gz
msg "Unpacking Private.SourceBuild.Reference.Packages"
gunzip Private.SourceBuild.Reference*.tar.gz
}

View file

@ -0,0 +1,23 @@
# abuild / buildrepo gets confused when setting pkgver var from within subpkgs
# This expresses itself in two ways:
# 1) scan_symlink_targets, when it detects symlink dependencies between subpkgs
# sets a hard dependency to that specific version of subpackage. Fixing this
# involves simply neutralizing scan_symlink_targets, leaving the maintainer
# to set those dependencies explicitely
# 2) abuild / buildrepo has logics to determine if a package should be rebuilt
# abuild uses apk_up2date and abuildindex_up2date, and buildrepo uses
# pkg.each_need_rebuild, then pkg.apk_file_exists. All of these rely on if
# there's a readable file at $repo/$CARCH/$name-$pkgver-r$pkgrel.apk
# Fixing this involves creating a symbolic link at that location that points
# to where the subpackage actually is.
# Fortunately, scan_symlink_targes has all the hooks necessary to create a
# symbolic link: it resides within a for loop that's based around subpkgdir,
# and feeds function with .PKGINFO info that allows for creation of symbolic
# link when necessary
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}

View file

@ -0,0 +1,48 @@
# Prebuilt artifacts only provides linux-x64 nukgs. As Alpine uses linux-musl,
# the below scripts updates source to fetch the musl version of those packages,
# allowing packaging of the correct architecture. Thus, everytime Artifacts
# is updated, or new architectures are added, this function needs to be
# executed using 'abuild _update_source'
_update_source() {
[ -z "$source" ] \
&& msg "Removing source from APKBUILD"
sed -E -i \
-e '/^source=".*"$/d' \
-e '/^source="/,/"$/d' \
\
-e "/^source='.*'\$/d" \
-e "/^source='/,/'\$/d" \
APKBUILD
source="$_default_source"
fetch
local nuget_source="$_default_source"
msg "Updating source"
local nappo_get="$_nappo_get $(tar --list -f "$srcdir"/Private.SourceBuilt.Artifacts.*.tar.gz --wildcards '*.linux-x64.*' --exclude '*Intermediate*' --exclude 'runtime.linux-x64.Microsoft.NETCore.Runtime.CoreCLR*' 2>/dev/null)"
for package in $nappo_get; do
for _arch in $arch; do
local filename=${package##*/} # Extracts just filename
local suffix=${filename##*[0-9]} # Extracts what's after version number
local nupkg=${filename/$suffix} # Extracts nupkg name with version
[ -z "${filename##*servicing*}" ] && local nupkg=${filename%%-servicing*}
local name=${nupkg%*.*.*.*} # Extracts name without version
local version=${nupkg/$name.} # Extracts version out of nupkg using name
local name=${name/linux-x64/linux-musl-$(_get_arch $_arch)} # Converts to current arch
[ -z "${filename##*servicing*}" ] && local version=''
echo "Getting url for $name version $version, replaces $package"
local nappo_out=$(python3 "$srcdir"/nappo.py download --verbose "$name" "$version")
local nupkg="${nappo_out#*.nupkg}"
local uri=${nappo_out/$nupkg}
local nupkg=$(echo $nupkg | tr -d '\n')
[ -f "$nupkg" ] && mv $nupkg "$SRCDEST"/.
local nuget_source="$nuget_source $uri"
[ -z "${name##*linux*}" ] || break
done
done
for _arch in $arch; do
local nuget_source="$nuget_source https://dotnetcli.azureedge.net/dotnet/Sdk/$pkgver/dotnet-sdk-$pkgver-linux-musl-$(_get_arch $_arch).tar.gz"
done
local nuget_source="$(printf '%s\n' $nuget_source)"
printf 'source="\n%s\n"\n' "$nuget_source" >>"$APKBUILD"
}

View file

@ -0,0 +1,87 @@
#
# Packaging functions for dotnet-stage0 version 5.0 and under
#
subpackages="
dotnet$_pkgver_name-stage0-runtime:runtime
dotnet$_pkgver_name-stage0-sdk:sdk
dotnet$_pkgver_name-stage0-host:host
dotnet$_pkgver_name-stage0-hostfxr:hostfxr
dotnet$_pkgver_name-stage0-artifacts:artifacts
dotnet$_pkgver_name-stage0-references:references
"
package() {
mkdir -p "$pkgdir"
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_runtimever
provides="dotnet-host"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet$_pkgver_name-hostfxr"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
sdk() {
depends="dotnet$_pkgver_name-bootstrap-runtime"
provides="dotnet$_pkgver_name-bootstrap-sdk"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_runtimever
depends="dotnet$_pkgver_name-hostfxr"
provides="dotnet$_pkgver_name-bootstrap-runtime"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_artifactsver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuilt.Artifacts.*.tar -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/ --no-same-owner --exclude '*.linux-x64*'
install -m 644 "$srcdir"/*"$(_get_arch $CARCH)"*.nupkg "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/.
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
references() {
pkgdesc="Reference packages needed by the .NET $_pkgver_macro SDK build, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_referencesver
provides="dotnet$_pkgver_name-bootstrap-references"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuild.Reference*.tar -C "$subpkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro/ --no-same-owner
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-reference
}

View file

@ -0,0 +1,44 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
. ../dotnet31/APKBUILD
#
# Main functions for dotnet build version 3.1
#
pkgname=dotnet31-stage1
pkgver=3.1.120
pkgrel=0
_pkgrel="-SDK"
_runtimever=3.1.20
_sdkver=$pkgver
_aspnetver=$_runtimever
_llvmver=12
_patches="
application-insights_fix-net40-location.patch
build_darc-fix-alpine.patch
build_ignore-warnings.patch
coreclr_non-portable-distrorid-fix-alpine.patch
coreclr_fix-build-on-Alpine-edge-45352.patch
core-sdk_generate-layout-core-setup-blob-path-fix.patch
core-setup_rid-plat-generation-on-alpine-fix.patch
corefx_fix-build-clang10.patch
corefx_added-alpine-315-rid.patch
"
# Custom prepare
default_prepare() {
return
}
makedepends="${makedepends//31-bootstrap/31-stage0}"
sha512sums="
33b0f76ca72e6b2ebef50338b6c4208e02f513ebfc67525481f945c12359ea030fe48017971d9f64522dc2f829beff790f10ba79e3b579c2ef90703fe9b4b27d source-build-v3.1.120-SDK.tar.gz
d0aecbf13e6781ef867021085e0d4a55e5f24dddfd175e4d0ce651fdb9c8e330636b2c69e3c4491442e5dd32c6859f38388006b3fe36fac2226837e1bc4107c9 completions.zsh
e61b9e3e5a2305646a616d598378230c9755c5dd5363692cc363f8f4add3807563c324dd86f3a7ae9d358c82d730608e7b293935a2b6c81c0c0f62d752a0a1cf dotnet.sh
09e8ba94973d4ab1017818eba7e13c4bda97b658dc6e0c15becb5211d15cad42df484b4c18f25f5dca1a02e647221013378ceb5c77a4046a107ff36df92641d2 application-insights_fix-net40-location.patch
42a52f1e47acf71287c13fadd9ddcd1481b88f9a3dbcebf6b43fc6cf712b19036020b544db582fb63ab9bb9e94d13b88938c5c82df3cb760a4d5cb14098653dd build_darc-fix-alpine.patch
eddb4c2ea4788c74b290112751831c0cced057470c0f514f103d8efd583e555fddb63544a9c1b1afee87f7ad96d8b3546ac46e60744aca25a1d977f7b1341f61 build_ignore-warnings.patch
6fb903f5abb0c377f1eac6df7e1eef8e15090a0dc1b6b4d65b887290e44e5ea525110c506e8d93dedc1f9ec9299e44a4091dea809210dd8cb40ee26e302e54dc coreclr_non-portable-distrorid-fix-alpine.patch
3eb003e31ac4dc782c0724c92be626279accddb589455d6457b18ad4afd5b97304de93a309359bccb7000f379aad9648cd07f0e047458875643e22182dfeb891 coreclr_fix-build-on-Alpine-edge-45352.patch
64de5c40ea00f725d570b60304b1017681fe6f7915c8c854f6892838505561e577e93904c03fd626a37dac3a1dcf000f1dcea5560cd3498b18c58d705b252776 core-sdk_generate-layout-core-setup-blob-path-fix.patch
0ebbf375936ffa1c274746139127a361bec065f7a7f729ab98ba6252f06b59ceaba17f981e36722d34a652f8e704a9ffe08bf381bc9c82a2b7cdbe910ef54397 core-setup_rid-plat-generation-on-alpine-fix.patch
b15845a35b6b8232d492c0df172bcf7d4a8abd0f1d4c3678aa7ea25175075b89b6bec2481c7fc63d57c922bc0f6f5a5d5411e88981138c01dc724cee938f93af corefx_fix-build-clang10.patch
d1ed367df3842df4aa06917bfcf849e4b87b6c2b6c8f94c148d16dd813d8e55beca599ed431c23c8ee398385e3ee2010341dda1f459f68c8db1943383a57e5f2 corefx_added-alpine-315-rid.patch
"

View file

@ -0,0 +1,8 @@
# Description
APKBUILD for dotnet31, acting as intermediary between stage1 and actual package
This is a workaround for buildrepo, allowing automatic build of dotnet after
stage0, insuring that end-user doesn't have any binariers "tainted" by
Microsoft prebuilt binaries
# Special functions
To update, execute 'abuild _update_stage1'

View file

@ -3,6 +3,11 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Fri, 4 Jun 2021 13:32:53 +0000
Subject: [PATCH] FIxed Net40 location
Because paths on Linux are case sensitive. Applications insights looks
for <dotnet/applicationsinsights>/src/Core/Managed/net40 in net40
while the repo has a Net40. Patch moves whatever is in Net40 to net40
(see https://github.com/microsoft/ApplicationInsights-dotnet/issues/2498)
---
src/Core/Managed/{Net40 => net40}/CorrelationHelper.cs | 0
1 file changed, 0 insertions(+), 0 deletions(-)

View file

@ -0,0 +1,33 @@
From d07d50c6f8a5793badc50fb2c964b87dec87a3a1 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Thu, 15 Jul 2021 15:37:33 +0000
Subject: [PATCH 1/1] Fixed darc init for Alpine
Darc has a segmentation fault on Alpine due to not chosing the correct
binary architecture. This patch deletes all the wrong ones so that it
is forced to chose the correct one. This issue only occurs when using
dotnet-stage0-runtime, thus libunwind is suspected to be the issue as
stage0 wasn't built with system libunwind.
(see https://github.com/dotnet/source-build/issues/1868)
---
eng/common/darc-init.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh
index 82b2b57..5227a37 100755
--- a/eng/common/darc-init.sh
+++ b/eng/common/darc-init.sh
@@ -77,6 +77,9 @@ function InstallDarcCli {
else
echo $($dotnet_root/dotnet tool install $darc_cli_package_name --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity --tool-path "$toolpath")
fi
+ for i in win* ubuntu.1* rhel* osx fedora* debian*; do
+ rm -R $toolpath/.store/microsoft.dotnet.darc/*/microsoft.dotnet.darc/*/tools/netcoreapp3.0/any/runtimes/${i}
+ done
}
InstallDarcCli
--
2.30.2

View file

@ -0,0 +1,26 @@
From 764e5310c8059931cd542c5cdc869972d3520696 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Mon, 10 Jan 2022 23:21:55 +0000
Subject: [PATCH 1/1] ignore warnings
Ignore warnings during build of coreclr
---
repos/coreclr.common.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/repos/coreclr.common.props b/repos/coreclr.common.props
index 8e4137d8..2b0a459a 100644
--- a/repos/coreclr.common.props
+++ b/repos/coreclr.common.props
@@ -2,7 +2,7 @@
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
- <BuildArguments>$(Platform) $(Configuration) skiptests</BuildArguments>
+ <BuildArguments>$(Platform) $(Configuration) skiptests ignorewarnings</BuildArguments>
<BuildArguments Condition="'$(OS)' != 'Windows_NT'">$(BuildArguments) -ignoreWarnings</BuildArguments>
<BuildArguments>$(BuildArguments) -skipmanagedtools</BuildArguments>
<BuildArguments Condition="'$(OS)' != 'Windows_NT'">$(BuildArguments) -skiprestore</BuildArguments>
--
2.34.1

View file

@ -3,6 +3,11 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sun, 5 Dec 2021 15:33:35 +0000
Subject: [PATCH 1/1] GenerateLayout CoreSetup blob path fix
<dotnet/core-setup> blobs are written to $builddir/artifacts/obj/x64/Release/
blobs/Runtime/3.1.20-alpine.3.15 while installer expects them in 3.1.20.
This patches <dotnet/installer>/src/redist/targets/GenerateLayout.targets
to point to actual path.
---
src/redist/targets/GenerateLayout.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

View file

@ -3,6 +3,11 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 4 Dec 2021 06:12:30 +0000
Subject: [PATCH 1/1] Fixed __rid_plat generation on alpine for core-setup
<dotnet/core-setup>/src/corehost/build.sh generates wrong plat_rid on Alpine
Generated RID is expected to be alpine.x.xx-xx, while the computed RID
is linux-musl-xxx. This patches it by matching what's expected.
(see https://github.com/dotnet/core-setup/pull/9195)
---
src/corehost/build.sh | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

View file

@ -3,6 +3,9 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 10 Jul 2021 06:02:50 +0000
Subject: [PATCH] Fix build on Alpine edge (#45352)
Fixes a build error for Alpine Linux. It has since been fixed in dotnet-5.0,
(see https://github.com/runtime/pull/45352
---
src/pal/src/include/pal/palinternal.h | 2 ++
1 file changed, 2 insertions(+)

View file

@ -3,6 +3,14 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 4 Dec 2021 05:03:48 +0000
Subject: [PATCH 1/1] Fix non-portable distrorid alpine generation
<dotnet/coreclr>/init-distro-id.sh generates incorrect DistroRid on Alpine.
While the expected DistroRid (alpine-x.xx-xxx) should only include macro
version, init-distro-id.sh includes the micro version. This patches it
to cut off the trailing subversion off of VERSION_ID by treating it
the same way RHEL's VERSION_ID is treated.
(see https://github.com/dotnet/coreclr/pull/28227)
---
init-distro-rid.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@ -20,22 +28,6 @@ index 49d8981c4f..7cec3cf649 100755
# remove the last version digit
VERSION_ID=${VERSION_ID%.*}
fi
@@ -73,7 +73,7 @@ initNonPortableDistroRid()
fi
elif [ -e "${rootfsDir}/android_platform" ]; then
source $rootfsDir/android_platform
- nonPortableBuildID="$RID"
+ HE nonPortableBuildID="$RID"
fi
fi
@@ -185,4 +185,4 @@ initDistroRidGlobal()
export __RuntimeId=${__DistroRid}
fi
-}
\ No newline at end of file
+}
--
2.34.0

View file

@ -3,6 +3,9 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 4 Dec 2021 04:59:26 +0000
Subject: [PATCH 1/1] Added Alpine 3.15 rid
Adds RID for Alpine 3.15
(see https://github.com/dotnet/corefx/pull/43129)
---
.../runtime.compatibility.json | 53 ++++++++++++++++++-
pkg/Microsoft.NETCore.Platforms/runtime.json | 13 ++++-
@ -71,13 +74,6 @@ index f34e8dbb82..6b0678be9f 100644
"alpine.3.6": [
"alpine.3.6",
"alpine",
@@ -5372,4 +5423,4 @@
"any",
"base"
]
-}
\ No newline at end of file
+}
diff --git a/pkg/Microsoft.NETCore.Platforms/runtime.json b/pkg/Microsoft.NETCore.Platforms/runtime.json
index 20082ac80f..20485cce4d 100644
--- a/pkg/Microsoft.NETCore.Platforms/runtime.json
@ -100,13 +96,6 @@ index 20082ac80f..20485cce4d 100644
"alpine.3.6": {
"#import": [
"alpine"
@@ -2453,4 +2464,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props b/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
index 3434ed138a..c466a38915 100644
--- a/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props

View file

@ -1,9 +1,11 @@
From cfd492403e5a0f8d7d170937ca71a2bbe40563a3 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Thu, 29 Jul 2021 19:49:08 +0000
Subject: [PATCH 1/1] fix build clang10
Fixes a build error for clang 10
(see https://github.com/dotnet/corefx/pull/43130)
---
src/Native/Unix/CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)

View file

@ -1,12 +1,30 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Build vars
_llvmver=12
pkgname=dotnet31
pkgdesc="The .NET Core SDK"
pkgver=3.1.120
pkgrel=1
pkgrel=0
_pkgrel="-SDK"
_runtimever=3.1.20
_sdkver=$pkgver
_aspnetver=$_runtimever
_llvmver=12
_patches="
application-insights_fix-net40-location.patch
build_darc-fix-alpine.patch
build_ignore-warnings.patch
coreclr_non-portable-distrorid-fix-alpine.patch
coreclr_fix-build-on-Alpine-edge-45352.patch
core-sdk_generate-layout-core-setup-blob-path-fix.patch
core-setup_rid-plat-generation-on-alpine-fix.patch
corefx_fix-build-clang10.patch
corefx_added-alpine-315-rid.patch
"
default_prepare() {
return
}
_pkgver_macro=${pkgver%.*}
_pkgver_prior=${pkgver%.*.*}
_pkgver_name=${_pkgver_macro//[.0]}
pkgdesc="The .NET $_pkgver_macro SDK"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
@ -14,58 +32,36 @@ makedepends="
bash
clang
cmake
dotnet$_pkgver_name-bootstrap-runtime
dotnet$_pkgver_name-bootstrap-sdk
dotnet$_pkgver_name-bootstrap-artifacts
dotnet$_pkgver_name-bootstrap-references
findutils
git
icu-dev
inetutils-syslogd
krb5-dev
libgit2-dev
libintl
libunwind-dev
libxml2-dev
libxml2-utils
libintl
linux-headers
lldb-dev
llvm$_llvmver-dev
lttng-ust-dev
linux-headers
nodejs
openssl-dev
zlib-dev
dotnet31-bootstrap-sdk
dotnet31-bootstrap-runtime
"
subpackages="
dotnet31-host:host
dotnet31-sdk:sdk
dotnet31-runtime:runtime
aspnet31-runtime:aspnet_runtime:noarch
dotnet31-targeting-pack:targeting_pack
aspnet31-targeting-pack:aspnet_targeting_pack:noarch
netstandard31-targeting-pack:netstandard_targeting_pack:noarch
"
_gittag=v$pkgver-SDK
_giturl=https://github.com/dotnet/source-build
options="!check" # No test suite
source="
$pkgname-$_gittag.tar.gz::$_giturl/archive/refs/tags/$_gittag.tar.gz
source-build-v$pkgver$_pkgrel.tar.gz::https://github.com/dotnet/source-build/archive/refs/tags/v$pkgver$_pkgrel.tar.gz
completions.zsh::https://raw.githubusercontent.com/dotnet/sdk/7cec6d9fe5cb326a88091ae44204f52e1f00e69c/scripts/_dotnet
dotnet.sh
application-insights_fix-net40-location.patch
build_coreclr-tools-path.patch
build_darc-fix-alpine.patch
coreclr_fix-build-on-Alpine-edge-45352.patch
coreclr_non-portable-distrorid-fix-alpine.patch
core-setup_rid-plat-generation-on-alpine-fix.patch
corefx_fix-build-clang10.patch
corefx_added-alpine-315-rid.patch
core-sdk_generate-layout-core-setup-blob-path-fix.patch
$_patches
"
_srcbld="source-build-$(echo $_gittag | sed 's|v||')"
builddir="$srcdir/$_srcbld"
# Disables dependency tracing for symlinks, thus fixing per-subpkg pkgver setting
scan_symlink_targets() {
return
}
builddir="$srcdir/source-build-$pkgver$_pkgrel"
_patch() {
local i failed=
if ! have_patches; then
@ -76,18 +72,18 @@ _patch() {
for i in $source; do
case ${i%::*} in
build_*.patch)
echo "applying $i to sourcebuild"
patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i"
;;
*.patch)
local _package=$(echo $i | sed 's|_.*||')
local _patch=$(echo $i | sed "s|$_package\_||")
echo "cp $_patch -> $_package"
echo "deploying $_patch to $_package for application by sourcebuild"
[ -d patches/$_package ] || mkdir patches/$_package
cp "$srcdir"/"$i" patches/$_package/$_patch
;;
esac
done
if [ -z "$failed" ]; then
return 0
fi
@ -96,163 +92,247 @@ _patch() {
printf " %s\n" "$i"
done
}
prepare() {
_patch
msg "Settings up bootstrap SDK"
cp -r /usr/share/dotnet/* ./
if [ "$(find sdk -type d -not -name '3.1.*' -maxdepth 1 -mindepth 1)" ]; then
find sdk -type d -not -name '3.1.*' -maxdepth 1 -mindepth 1 -print0 | xargs -0 rm -R --
fi
# disable warnings
sed -i "s|skiptests|skiptests ignorewarnings|" repos/coreclr.common.props
# darc git init
default_prepare
git init
git add ./* >/dev/null 2>&1
git commit -m 'initial commit' >/dev/null 2>&1
git remote add origin https://github.com/dotnet/source-build.git > /dev/null 2>&1
_patch
msg "Settings up bootstrap"
mkdir -p bootstrap/sdk
cp /usr/share/dotnet/dotnet bootstrap/.
local _bootstrapver=$(find /usr/share/dotnet/sdk/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
for i in sdk/$_bootstrapver host shared; do cp -r /usr/share/dotnet/$i bootstrap/$i; done
mkdir -p packages/archive
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
tar cvzf packages/archive/Private.SourceBuilt.Artifacts.tar.gz -C "/usr/share/dotnet/artifacts/$_artifactsver" . >/dev/null 2>&1
tar cvzf packages/archive/Private.SourceBuild.ReferencePackages.tar.gz -C "/usr/share/dotnet/reference-packages/$_pkgver_macro" . >/dev/null 2>&1
}
build() {
msg "Building $pkgname-$pkgver"
export SOURCE_BUILD_SKIP_SUBMODULE_CHECK=1
export COMPlus_LTTng=0
./build.sh \
--with-sdk ../$_srcbld \
/p:ArchiveDownloadedPackages=true \
--with-sdk bootstrap \
/p:SkipDownloadingPreviouslySourceBuiltPackages=true \
/p:SkipDownloadingReferencePackages=true \
/p:ContinueOnPrebuiltBaselineError=true \
/p:SkipPortableRuntimeBuild=true \
/p:SkipPrebuiltEnforcement=true \
/p:UseSystemLibraries=true \
/p:UseSystemLibunwind=true
}
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}
_update_stage1() {
local pwd=$(pwd)
rm ../dotnet$_pkgver_name-stage1/*.patch ../dotnet$_pkgver_name-stage1/dotnet.sh
for i in ../dotnet"$_pkgver_name"/*.patch ../dotnet"$_pkgver_name"/dotnet.sh; do
cp $i ${i/$_pkgver_name/$_pkgver_name-stage1}
done
{
echo -n "# "
echo "Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>"
echo ". ../dotnet$_pkgver_name/APKBUILD"
sed "s/pkgname=dotnet$_pkgver_name/pkgname=dotnet$_pkgver_name-stage1/" ../dotnet$_pkgver_name/lib/00_main.sh
echo "makedepends=\"\${makedepends//$_pkgver_name-bootstrap/$_pkgver_name-stage0}\""
} > ../dotnet$_pkgver_name-stage1/APKBUILD
cd ../dotnet$_pkgver_name-stage1
abuild checksum
cd "$pwd"
}
subpackages="
aspnetcore$_pkgver_name-runtime:aspnetcore_runtime:noarch
aspnetcore$_pkgver_name-targeting-pack:aspnetcore_targeting_pack:noarch
dotnet$_pkgver_name-apphost-pack:apphost_pack
dotnet$_pkgver_name-artifacts:artifacts
dotnet$_pkgver_name-host:host
dotnet$_pkgver_name-host-zsh-completion:zshcomp
dotnet$_pkgver_name-host-bash-completion:bashcomp
dotnet$_pkgver_name-host-doc:doc
dotnet$_pkgver_name-hostfxr:hostfxr
dotnet$_pkgver_name-runtime:runtime
dotnet$_pkgver_name-sdk:sdk
dotnet$_pkgver_name-targeting-pack:targeting_pack:noarch
dotnet$_pkgver_name-templates:templates:noarch
netstandard$_pkgver_name-targeting-pack:netstandard_targeting_pack:noarch
"
package() {
depends="
dotnet31-sdk
dotnet-host
dotnet31-runtime
dotnet31-targeting-pack
aspnet31-runtime
aspnet31-targeting-pack
netstandard21-targeting-pack
"
export _runtimever=$(xmllint --xpath "//Dependency[@Name='Microsoft.NETCore.App.Runtime.linux-x64']/@Version" "$builddir"/eng/Version.Details.xml | cut -d '=' -f 2 | sed 's/^"//; s/"$//')
export _sdkver=$(xmllint --xpath "//Dependency[@Name='Microsoft.NET.Sdk']/@Version" "$builddir"/eng/Version.Details.xml | cut -d '=' -f 2 | sed 's/^"//; s/"$//; s/-rtm.*//; s/-servicing.*//')
mkdir -p "$pkgdir"
depends="dotnet$_pkgver_name-sdk"
provides=dotnet-$_pkgver_macro
install -dm 755 "$pkgdir"/usr/share/zsh/site-functions "$pkgdir"/usr/share/bash-completion/completions "$pkgdir"/usr/share/man/man1
find "$builddir" -iname 'dotnet*.1' -type f -exec cp '{}' "$pkgdir"/usr/share/man/man1/ \;
install -m 755 "$srcdir"/completions.zsh "$pkgdir"/usr/share/zsh/site-functions/_dotnet
install -m 755 "$builddir"/artifacts/src/sdk/scripts/register-completions.bash "$pkgdir"/usr/share/bash-completion/completions/_dotnet
}
sdk() {
pkgver="$_sdkver"
depends="
dotnet31-runtime
dotnet31-targeting-pack
aspnetcore$_pkgver_name-runtime
aspnetcore$_pkgver_name-targeting-pack
dotnet$_pkgver_name-apphost-pack
dotnet$_pkgver_name-runtime
dotnet$_pkgver_name-targeting-pack
dotnet$_pkgver_name-templates
netstandard21-targeting-pack
aspnet31-targeting-pack
"
pkgver=$_sdkver
provider_priority=100
provides="dotnet31-bootstrap-sdk"
provider_priority=$_pkgver_prior
provides="dotnet$_pkgver_name-bootstrap-sdk dotnet-sdk-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet31-sdk
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
pkgver=$_runtimever
provides="dotnet-host"
provider_priority=2
provider_priority=$_pkgver_prior
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet ./host
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
ln -s /usr/share/dotnet/host/fxr/$pkgver/libhostfxr.so "$subpkgdir"/usr/lib/libhostfxr.so
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
runtime() {
pkgdesc="The .NET Core runtime"
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provider_priority=100
provides="dotnet31-bootstrap-runtime"
cd "$builddir"/artifacts/x64/Release
provides="dotnet-hostfxr-$_pkgver_macro"
provider_priority=$_pkgver_prior
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet31-runtime
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
aspnet_runtime() {
pkgdesc="The ASP.NET Core runtime"
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime"
pkgver=$_runtimever
depends="dotnet31-runtime"
depends="dotnet$_pkgver_name-hostfxr"
provides="
dotnet$_pkgver_name-bootstrap-runtime
dotnet-runtime-$_pkgver_macro
"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.AspNetCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnet31-runtime
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
aspnetcore_runtime() {
pkgdesc="The ASP.NET $_pkgver_macro Core runtime"
pkgver=$_aspnetver
depends="dotnet$_pkgver_name-runtime"
provides="aspnetcore-runtime-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.AspNetCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-runtime
}
apphost_pack() {
pkgdesc="The .NET $_pkgver_macro Core apphost pack"
pkgver=$_aspnetver
provides="dotnet-apphost-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner --wildcards ./packs/Microsoft.NETCore.App.Host.*
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-apphost-pack
}
targeting_pack() {
pkgdesc="The .NET Core targeting pack"
pkgdesc="The .NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
depends="netstandard21-targeting-pack"
provides="dotnet-targeting-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner --wildcards ./packs/Microsoft.NETCore.App.Host.* ./packs/Microsoft.NETCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet31-targeting-pack
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.NETCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-targeting-pack
}
netstandard_targeting_pack() {
pkgdesc="The .NET Standard targeting pack"
pkgver=$_runtimever
provides="netstandard21-targeting-pack"
provider_priority=1
pkgdesc="The .NET $_pkgver_macro Standard targeting pack"
pkgver=$_sdkver
depends="dotnet-host"
provides="
netstandard21-targeting-pack
netstandard-targeting-pack-2.1
"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/NETStandard.Library.Ref
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/NETStandard.Library.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/netstandard21-targeting-pack
}
aspnet_targeting_pack() {
pkgdesc="The ASP.NET Core targeting pack"
aspnetcore_targeting_pack() {
pkgdesc="The ASP.NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
depends="dotnet31-targeting-pack"
provides="aspnetcore-targeting-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-3.1*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnet31-targeting-pack
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-targeting-pack
}
templates() {
pkgdesc="The .NET $_pkgver_macro templates"
depends="dotnet-host"
pkgver="$_sdkver"
provider_priority=$_pkgver_prior
provides="dotnet-templates-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-templates
}
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit"
depends="dotnet-host"
pkgver=$_sdkver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xzf Private.SourceBuilt.Artifacts.*.tar.gz -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
zshcomp() {
default_zshcomp
pkgdesc="zsh completion for .NET $_pkgver_macro"
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-host-zsh-completion"
provider_priority=$_pkgver_prior
}
bashcomp() {
default_bashcomp
pkgdesc="bash completion for .NET $_pkgver_macro"
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-host-bash-completion"
provider_priority=$_pkgver_prior
}
doc() {
default_doc
pkgdesc="Docs for .NET $_pkgver_macro"
pkgver="$_runtimever"
provides="dotnet-host-doc"
provider_priority=$_pkgver_prior
}
sha512sums="
33b0f76ca72e6b2ebef50338b6c4208e02f513ebfc67525481f945c12359ea030fe48017971d9f64522dc2f829beff790f10ba79e3b579c2ef90703fe9b4b27d dotnet31-v3.1.120-SDK.tar.gz
33b0f76ca72e6b2ebef50338b6c4208e02f513ebfc67525481f945c12359ea030fe48017971d9f64522dc2f829beff790f10ba79e3b579c2ef90703fe9b4b27d source-build-v3.1.120-SDK.tar.gz
d0aecbf13e6781ef867021085e0d4a55e5f24dddfd175e4d0ce651fdb9c8e330636b2c69e3c4491442e5dd32c6859f38388006b3fe36fac2226837e1bc4107c9 completions.zsh
e61b9e3e5a2305646a616d598378230c9755c5dd5363692cc363f8f4add3807563c324dd86f3a7ae9d358c82d730608e7b293935a2b6c81c0c0f62d752a0a1cf dotnet.sh
0469d571d0f7634d3794761f04e1cbff9d27d642d134a11a13560574280e5cab6f366eb8820e61a449eca99470fdea8d9f6a7d97b633059b2fe25257ed1579e6 application-insights_fix-net40-location.patch
2334e36d5bb24b9b834800407c6110c09262af20a4353e92ef1897855f27eab117270dda0637071010a7a5ac8c4a5d4032240a7b659d8576801b503b66b14ab7 build_coreclr-tools-path.patch
74767c34f15e0eaee3682516e093296621efaeeb6d84e62d826587db9b559fb7c00c42aafbf4fdfd34460d1cf16edad3fd5f720f2b37f8bf52b26d7f73f79d5e build_darc-fix-alpine.patch
b3475c0b727c5258c7bc6f4c53305f9ced991e57f9f46a2ad323bed40627662eb8bf57286bf6a22d9a22bfdea9282da4630dd094166f0805c783aece5df5dff3 coreclr_fix-build-on-Alpine-edge-45352.patch
6ac9bdbc47b24cafbb3386e21756c540313680fed6994791ff5a3c75b422742ecf102d7736ac79de6d7f1a0892464f83cbab181ed505e4d827dc7f113e3a4017 coreclr_non-portable-distrorid-fix-alpine.patch
720fefc20ef4985917cfd243bbef427862af9ea0156cc6c78502daf8da5f6293bba0a1a5180c88dc145921592d533a8508b30eab2f388be1be7d6d10b6ab91d0 core-setup_rid-plat-generation-on-alpine-fix.patch
eb107ae9765d9eebe2f2ab4cebda4d3f76d683e21d88f806bb008e29051ad196ea637d410075b7ed61f4997a22085e4c36021860b82c4c0822c23ba9ded9656a corefx_fix-build-clang10.patch
72092a7323bb91e8d011ad09cefcc3fd0e4ebfc7c258895d454cc1d015eda36c7de97b09af76a492fa689f39b9216435faace77edd0ca75d8e39a34ed6641840 corefx_added-alpine-315-rid.patch
e67f4f92659892aa65de7192dfbbf2cafab17e1a4ef60e4981507c7309da61b866864a18b0452e47cee2ce9253032c3f4c39e4426b7b2216ffa73236239c9669 core-sdk_generate-layout-core-setup-blob-path-fix.patch
09e8ba94973d4ab1017818eba7e13c4bda97b658dc6e0c15becb5211d15cad42df484b4c18f25f5dca1a02e647221013378ceb5c77a4046a107ff36df92641d2 application-insights_fix-net40-location.patch
42a52f1e47acf71287c13fadd9ddcd1481b88f9a3dbcebf6b43fc6cf712b19036020b544db582fb63ab9bb9e94d13b88938c5c82df3cb760a4d5cb14098653dd build_darc-fix-alpine.patch
eddb4c2ea4788c74b290112751831c0cced057470c0f514f103d8efd583e555fddb63544a9c1b1afee87f7ad96d8b3546ac46e60744aca25a1d977f7b1341f61 build_ignore-warnings.patch
6fb903f5abb0c377f1eac6df7e1eef8e15090a0dc1b6b4d65b887290e44e5ea525110c506e8d93dedc1f9ec9299e44a4091dea809210dd8cb40ee26e302e54dc coreclr_non-portable-distrorid-fix-alpine.patch
3eb003e31ac4dc782c0724c92be626279accddb589455d6457b18ad4afd5b97304de93a309359bccb7000f379aad9648cd07f0e047458875643e22182dfeb891 coreclr_fix-build-on-Alpine-edge-45352.patch
64de5c40ea00f725d570b60304b1017681fe6f7915c8c854f6892838505561e577e93904c03fd626a37dac3a1dcf000f1dcea5560cd3498b18c58d705b252776 core-sdk_generate-layout-core-setup-blob-path-fix.patch
0ebbf375936ffa1c274746139127a361bec065f7a7f729ab98ba6252f06b59ceaba17f981e36722d34a652f8e704a9ffe08bf381bc9c82a2b7cdbe910ef54397 core-setup_rid-plat-generation-on-alpine-fix.patch
b15845a35b6b8232d492c0df172bcf7d4a8abd0f1d4c3678aa7ea25175075b89b6bec2481c7fc63d57c922bc0f6f5a5d5411e88981138c01dc724cee938f93af corefx_fix-build-clang10.patch
d1ed367df3842df4aa06917bfcf849e4b87b6c2b6c8f94c148d16dd813d8e55beca599ed431c23c8ee398385e3ee2010341dda1f459f68c8db1943383a57e5f2 corefx_added-alpine-315-rid.patch
"

View file

@ -1,55 +1,38 @@
# Description
APKBUILD for dotnet31.
APKBUILD for dotnet31
# Generated packages
* aspnetcore31-runtime
* aspnetcore31-targeting-pack
* dotnet31-apphost-pack (used by dotnet31-runtime)
* dotnet31-artifacts (provides dotnet31-bootstrap-artifacts)
* dotnet31-host (provides dotnet-host)
* dotnet31-host-zsh-completion (provides dotnet-host-zsh-completion)
* dotnet31-host-bash-completion (provides dotnet-host-bash-completion)
* dotnet31-host-doc (docs for dotnet31)
* dotnet31-hostfxr (provides fxr for host)
* dotnet31-runtime (provides dotnet31-bootstrap-runtime)
* dotnet31-sdk (provides dotnet31-bootstrap-sdk)
* dotnet31-targeting-pack
* dotnet31-templates (required by sdk)
* netstandard31-targeting-pack (provides netstandard21-targeting-pack)
# How to build dotnet31 stack
* Build testing/dotnet31-stage0 first (provides binary
dotnet31-bootstrap-runtime / sdk and dotnet-host)
* Build testing/dotnet31 once (with binary bootstraps, provides repo versions
of above packages, and more)
* Build testing/dotnet31 again (with repo bootstraps, provides full repo
* Build testing/dotnet31-stage0 (provides dotnet31-bootstrap-runtime / sdk)
* Build testing/dotnet31-stage1 (dotnet31-stage0 runtime / sdk bootstrap)
* Build testing/dotnet31-references (dotnet31 bootstrap and artifacts)
* Build testing/dotnet31 (with repo bootstraps, provides full repo
versions)
# Special functions
* ./build_apkbuild.sh: Builds APKBUILD using scripts in lib
* abuild _update_stage1: Updates dotnet31-stage1 to current version
# Known issues
* Build oddities here and there that the patches fix. In the process of
upstreaming to clear them out
* No check() mechanism, havn't found any docs for source-build tests
* Tested only build for x86_64. While dotnet supports x86, aarch64 and
armv7, I have not attempted a build on these architectures due to apparent
lack of -stage0 binaries for dotnet31
# Patch notes
## application-insights_fix-net40-location.patch
Because paths on Linux are case sensitive. Applications insights looks
for <dotnet/applications-insights>/src/Core/Managed/net40 in net40
while the repo has a Net40. Patch moves whatever is in Net40 to net40.
## build_coreclr-tools-path.patch
Various steps in the build process looks for ilasm in ildasm in
$builddir/src/dotnet-3.1/Tools/source-built/coreclr-tools/x64 while they are
built to $builddir/src/dotnet-3.1/Tools/source-built/coreclr-tools.
This patches <dotnet/source-build> to look for ilasm and ildasm
in correct path.
## build_darc-fix-alpine.patch
Darc has a segmentation fault on Alpine due to not chosing the correct
binary architecture. This patch deletes all the wrong ones so that it
is forced to chose the correct one. See issue dotnet/source-build #1868
## coreclr_fix-build-on-Alpine-edge-45352.patch
Fixes a build error for Alpine Linux. It has since been fixed in dotnet-5.0,
see issue dotnet/runtime 45352.
## corefx_fix-build-clang10.patch
Fixes a build error for clang 10
## core-setup_rid-plat-generation-on-alpine-fix.patch
<dotnet/core-setup>/src/corehost/build.sh generates wrong plat_rid on Alpine
Generated RID is expected to be alpine.x.xx-xx, while the computed RID
is linux-musl-xxx. This patches it by matching what's expected.
## coreclr_non-portable-distrorid-fix-alpine.patch
<dotnet/coreclr>/init-distro-id.sh generates incorrect DistroRid on Alpine.
While the expected DistroRid (alpine-x.xx-xxx) should only include macro
version, init-distro-id.sh includes the micro version. This patches it
to cut off the trailing subversion off of VERSION_ID by treating it
the same way RHEL's VERSION_ID is treated.
## installer_generate-layout-core-setup-blob-path-fix.patch
<dotnet/core-setup> blobs are written to $builddir/artifacts/obj/x64/Release/
blobs/Runtime/3.1.20-alpine.3.15 while installer expects them in 3.1.20.
This patches <dotnet/installer>/src/redist/targets/GenerateLayout.targets
to point to actual path.
* No check() mechanism, as no test suite
* While dotnet31 supports musl-arm64 musl-arm32 and musl-x64, builds for those
architectures probably need crosscompilation
* Latest version of lttng-ust (2.13) is broken with current version of dotnet,
thus disabled with COMPlus_LTTng=0 export before build

View file

@ -3,6 +3,11 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Fri, 4 Jun 2021 13:32:53 +0000
Subject: [PATCH] FIxed Net40 location
Because paths on Linux are case sensitive. Applications insights looks
for <dotnet/applicationsinsights>/src/Core/Managed/net40 in net40
while the repo has a Net40. Patch moves whatever is in Net40 to net40
(see https://github.com/microsoft/ApplicationInsights-dotnet/issues/2498)
---
src/Core/Managed/{Net40 => net40}/CorrelationHelper.cs | 0
1 file changed, 0 insertions(+), 0 deletions(-)

View file

@ -0,0 +1,9 @@
#/bin/bash
echo "# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>" > APKBUILD
apkbuild-lint lib/*
# Build APKBUILD
sed 's:^\s*#.*$::g' lib/* >> APKBUILD
sed -i '/^[[:space:]]*$/d' APKBUILD
abuild checksum

View file

@ -1,62 +0,0 @@
From 4603257752b01b60f1c1f2d1c2a77e07ae814647 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sun, 5 Dec 2021 15:46:08 +0000
Subject: [PATCH 1/1] Ildasm and ilasm paths changed to where they actually
apper
---
Directory.Build.props | 4 ++--
repos/coreclr-portable.proj | 2 +-
repos/coreclr.common.props | 2 +-
repos/coreclr.proj | 4 ++--
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index f6a6f54..8247c3e 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -133,8 +133,8 @@
<AspNetRazorBuildServerLogDir>$(BaseOutputPath)aspnet-debug</AspNetRazorBuildServerLogDir>
<AspNetRazorBuildServerLogFile>$(AspNetRazorBuildServerLogDir)razor-build-server.log</AspNetRazorBuildServerLogFile>
<IlasmPath Condition="'$(OfflineBuild)' != 'true'">invalid: ILAsm is not expected to be needed in the online build</IlasmPath>
- <IlasmPath Condition="'$(OfflineBuild)' == 'true'">$(PrebuiltSourceBuiltPackagesPath)coreclr-tools/$(BuildArchitecture)/ilasm</IlasmPath>
- <IldasmPath Condition="'$(OfflineBuild)' != 'true'">$(ToolPackageExtractDir)coreclr-tools/$(BuildArchitecture)/ildasm</IldasmPath>
+ <IlasmPath Condition="'$(OfflineBuild)' == 'true'">$(PrebuiltSourceBuiltPackagesPath)coreclr-tools/ilasm</IlasmPath>
+ <IldasmPath Condition="'$(OfflineBuild)' != 'true'">$(ToolPackageExtractDir)coreclr-tools/ildasm</IldasmPath>
<IldasmPath Condition="'$(OfflineBuild)' == 'true'">invalid: ILDasm is not expected to be needed in the offline build</IldasmPath>
<!-- Dir where git info is generated during online builds. -->
<GitInfoOutputDir>$(BaseOutputPath)git-info/</GitInfoOutputDir>
diff --git a/repos/coreclr-portable.proj b/repos/coreclr-portable.proj
index 78adc14..378547e 100644
--- a/repos/coreclr-portable.proj
+++ b/repos/coreclr-portable.proj
@@ -19,7 +19,7 @@
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(RepoCompletedSemaphorePath)CopyTools.complete">
<PropertyGroup>
- <CoreClrDestinationDir>$(ToolPackageExtractDir)coreclr-tools/$(BuildArchitecture)</CoreClrDestinationDir>
+ <CoreClrDestinationDir>$(ToolPackageExtractDir)coreclr-tools</CoreClrDestinationDir>
<AssemblyExtension Condition="'$(TargetOS)' == 'Linux'">so</AssemblyExtension>
<AssemblyExtension Condition="'$(TargetOS)' == 'FreeBSD'">so</AssemblyExtension>
<AssemblyExtension Condition="'$(TargetOS)' == 'OSX'">dylib</AssemblyExtension>
diff --git a/repos/coreclr.proj b/repos/coreclr.proj
index 7e67b28..037c68a 100644
--- a/repos/coreclr.proj
+++ b/repos/coreclr.proj
@@ -15,11 +15,11 @@
<!-- OSX and portable only build this and not coreclr-portable, so we need to copy its tools here -->
<Target Name="CopyTools"
AfterTargets="Package"
- Condition="'$(TargetOS)' == 'OSX' or '$(PortableBuild)' == 'true'"
+ Condition="'$(TargetOS)' == 'OSX' or '$(PortableBuild)' == 'true' or '$(TargetRid)' == 'linux-musl-x64'"
Inputs="$(MSBuildProjectFullPath)"
Outputs="$(RepoCompletedSemaphorePath)CopyTools.complete">
<PropertyGroup>
- <CoreClrDestinationDir>$(ToolPackageExtractDir)coreclr-tools/$(BuildArchitecture)</CoreClrDestinationDir>
+ <CoreClrDestinationDir>$(ToolPackageExtractDir)coreclr-tools</CoreClrDestinationDir>
<AssemblyExtension Condition="'$(TargetOS)' == 'Linux'">so</AssemblyExtension>
<AssemblyExtension Condition="'$(TargetOS)' == 'FreeBSD'">so</AssemblyExtension>
<AssemblyExtension Condition="'$(TargetOS)' == 'OSX'">dylib</AssemblyExtension>
--
2.34.0

View file

@ -3,6 +3,13 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Thu, 15 Jul 2021 15:37:33 +0000
Subject: [PATCH 1/1] Fixed darc init for Alpine
Darc has a segmentation fault on Alpine due to not chosing the correct
binary architecture. This patch deletes all the wrong ones so that it
is forced to chose the correct one. This issue only occurs when using
dotnet-stage0-runtime, thus libunwind is suspected to be the issue as
stage0 wasn't built with system libunwind.
(see https://github.com/dotnet/source-build/issues/1868)
---
eng/common/darc-init.sh | 3 +++
1 file changed, 3 insertions(+)
@ -15,7 +22,7 @@ index 82b2b57..5227a37 100755
else
echo $($dotnet_root/dotnet tool install $darc_cli_package_name --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity --tool-path "$toolpath")
fi
+ for i in win* ubuntu.1* rhel-x64 osx fedora-x64 debian*; do
+ for i in win* ubuntu.1* rhel* osx fedora* debian*; do
+ rm -R $toolpath/.store/microsoft.dotnet.darc/*/microsoft.dotnet.darc/*/tools/netcoreapp3.0/any/runtimes/${i}
+ done
}

View file

@ -0,0 +1,26 @@
From 764e5310c8059931cd542c5cdc869972d3520696 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Mon, 10 Jan 2022 23:21:55 +0000
Subject: [PATCH 1/1] ignore warnings
Ignore warnings during build of coreclr
---
repos/coreclr.common.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/repos/coreclr.common.props b/repos/coreclr.common.props
index 8e4137d8..2b0a459a 100644
--- a/repos/coreclr.common.props
+++ b/repos/coreclr.common.props
@@ -2,7 +2,7 @@
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
- <BuildArguments>$(Platform) $(Configuration) skiptests</BuildArguments>
+ <BuildArguments>$(Platform) $(Configuration) skiptests ignorewarnings</BuildArguments>
<BuildArguments Condition="'$(OS)' != 'Windows_NT'">$(BuildArguments) -ignoreWarnings</BuildArguments>
<BuildArguments>$(BuildArguments) -skipmanagedtools</BuildArguments>
<BuildArguments Condition="'$(OS)' != 'Windows_NT'">$(BuildArguments) -skiprestore</BuildArguments>
--
2.34.1

View file

@ -3,6 +3,11 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sun, 5 Dec 2021 15:33:35 +0000
Subject: [PATCH 1/1] GenerateLayout CoreSetup blob path fix
<dotnet/core-setup> blobs are written to $builddir/artifacts/obj/x64/Release/
blobs/Runtime/3.1.20-alpine.3.15 while installer expects them in 3.1.20.
This patches <dotnet/installer>/src/redist/targets/GenerateLayout.targets
to point to actual path.
---
src/redist/targets/GenerateLayout.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

View file

@ -3,6 +3,11 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 4 Dec 2021 06:12:30 +0000
Subject: [PATCH 1/1] Fixed __rid_plat generation on alpine for core-setup
<dotnet/core-setup>/src/corehost/build.sh generates wrong plat_rid on Alpine
Generated RID is expected to be alpine.x.xx-xx, while the computed RID
is linux-musl-xxx. This patches it by matching what's expected.
(see https://github.com/dotnet/core-setup/pull/9195)
---
src/corehost/build.sh | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

View file

@ -3,6 +3,9 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 10 Jul 2021 06:02:50 +0000
Subject: [PATCH] Fix build on Alpine edge (#45352)
Fixes a build error for Alpine Linux. It has since been fixed in dotnet-5.0,
(see https://github.com/runtime/pull/45352
---
src/pal/src/include/pal/palinternal.h | 2 ++
1 file changed, 2 insertions(+)

View file

@ -3,6 +3,14 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 4 Dec 2021 05:03:48 +0000
Subject: [PATCH 1/1] Fix non-portable distrorid alpine generation
<dotnet/coreclr>/init-distro-id.sh generates incorrect DistroRid on Alpine.
While the expected DistroRid (alpine-x.xx-xxx) should only include macro
version, init-distro-id.sh includes the micro version. This patches it
to cut off the trailing subversion off of VERSION_ID by treating it
the same way RHEL's VERSION_ID is treated.
(see https://github.com/dotnet/coreclr/pull/28227)
---
init-distro-rid.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
@ -20,22 +28,6 @@ index 49d8981c4f..7cec3cf649 100755
# remove the last version digit
VERSION_ID=${VERSION_ID%.*}
fi
@@ -73,7 +73,7 @@ initNonPortableDistroRid()
fi
elif [ -e "${rootfsDir}/android_platform" ]; then
source $rootfsDir/android_platform
- nonPortableBuildID="$RID"
+ HE nonPortableBuildID="$RID"
fi
fi
@@ -185,4 +185,4 @@ initDistroRidGlobal()
export __RuntimeId=${__DistroRid}
fi
-}
\ No newline at end of file
+}
--
2.34.0

View file

@ -3,6 +3,9 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 4 Dec 2021 04:59:26 +0000
Subject: [PATCH 1/1] Added Alpine 3.15 rid
Adds RID for Alpine 3.15
(see https://github.com/dotnet/corefx/pull/43129)
---
.../runtime.compatibility.json | 53 ++++++++++++++++++-
pkg/Microsoft.NETCore.Platforms/runtime.json | 13 ++++-
@ -71,13 +74,6 @@ index f34e8dbb82..6b0678be9f 100644
"alpine.3.6": [
"alpine.3.6",
"alpine",
@@ -5372,4 +5423,4 @@
"any",
"base"
]
-}
\ No newline at end of file
+}
diff --git a/pkg/Microsoft.NETCore.Platforms/runtime.json b/pkg/Microsoft.NETCore.Platforms/runtime.json
index 20082ac80f..20485cce4d 100644
--- a/pkg/Microsoft.NETCore.Platforms/runtime.json
@ -100,13 +96,6 @@ index 20082ac80f..20485cce4d 100644
"alpine.3.6": {
"#import": [
"alpine"
@@ -2453,4 +2464,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props b/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
index 3434ed138a..c466a38915 100644
--- a/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props

View file

@ -1,9 +1,11 @@
From cfd492403e5a0f8d7d170937ca71a2bbe40563a3 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Thu, 29 Jul 2021 19:49:08 +0000
Subject: [PATCH 1/1] fix build clang10
Fixes a build error for clang 10
(see https://github.com/dotnet/corefx/pull/43130)
---
src/Native/Unix/CMakeLists.txt | 2 ++
1 file changed, 2 insertions(+)

View file

@ -0,0 +1,27 @@
#
# Main functions for dotnet build version 3.1
#
pkgname=dotnet31
pkgver=3.1.120
pkgrel=0
_pkgrel="-SDK"
_runtimever=3.1.20
_sdkver=$pkgver
_aspnetver=$_runtimever
_llvmver=12
_patches="
application-insights_fix-net40-location.patch
build_darc-fix-alpine.patch
build_ignore-warnings.patch
coreclr_non-portable-distrorid-fix-alpine.patch
coreclr_fix-build-on-Alpine-edge-45352.patch
core-sdk_generate-layout-core-setup-blob-path-fix.patch
core-setup_rid-plat-generation-on-alpine-fix.patch
corefx_fix-build-clang10.patch
corefx_added-alpine-315-rid.patch
"
# Custom prepare
default_prepare() {
return
}

View file

@ -0,0 +1,46 @@
#
# Build variables for dotnet builds version 5.0 and under
#
# APKBuild
_pkgver_macro=${pkgver%.*}
_pkgver_prior=${pkgver%.*.*}
_pkgver_name=${_pkgver_macro//[.0]}
pkgdesc="The .NET $_pkgver_macro SDK"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
bash
clang
cmake
dotnet$_pkgver_name-bootstrap-runtime
dotnet$_pkgver_name-bootstrap-sdk
dotnet$_pkgver_name-bootstrap-artifacts
dotnet$_pkgver_name-bootstrap-references
findutils
git
icu-dev
inetutils-syslogd
krb5-dev
libgit2-dev
libintl
libunwind-dev
libxml2-dev
libxml2-utils
linux-headers
lldb-dev
llvm$_llvmver-dev
lttng-ust-dev
nodejs
openssl-dev
zlib-dev
"
options="!check" # No test suite
source="
source-build-v$pkgver$_pkgrel.tar.gz::https://github.com/dotnet/source-build/archive/refs/tags/v$pkgver$_pkgrel.tar.gz
completions.zsh::https://raw.githubusercontent.com/dotnet/sdk/7cec6d9fe5cb326a88091ae44204f52e1f00e69c/scripts/_dotnet
dotnet.sh
$_patches
"
builddir="$srcdir/source-build-$pkgver$_pkgrel"

View file

@ -0,0 +1,79 @@
#
# Build functions for dotnet builds version 5.0 and under
#
_patch() {
local i failed=
if ! have_patches; then
return 0
fi
[ -d "$builddir" ] || { error "Is \$builddir set correctly?"; return 1; }
msg "Deploying patches"
for i in $source; do
case ${i%::*} in
build_*.patch)
echo "applying $i to sourcebuild"
patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i"
;;
*.patch)
local _package=$(echo $i | sed 's|_.*||')
local _patch=$(echo $i | sed "s|$_package\_||")
echo "deploying $_patch to $_package for application by sourcebuild"
[ -d patches/$_package ] || mkdir patches/$_package
cp "$srcdir"/"$i" patches/$_package/$_patch
;;
esac
done
if [ -z "$failed" ]; then
return 0
fi
error "The following patches failed to apply:"
for i in $failed; do
printf " %s\n" "$i"
done
}
prepare() {
default_prepare
# source-build expects to be in a git repo
git init
git add ./* >/dev/null 2>&1
git commit -m 'initial commit' >/dev/null 2>&1
git remote add origin https://github.com/dotnet/source-build.git > /dev/null 2>&1
_patch
msg "Settings up bootstrap"
mkdir -p bootstrap/sdk
cp /usr/share/dotnet/dotnet bootstrap/.
local _bootstrapver=$(find /usr/share/dotnet/sdk/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
for i in sdk/$_bootstrapver host shared; do cp -r /usr/share/dotnet/$i bootstrap/$i; done
mkdir -p packages/archive
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
tar cvzf packages/archive/Private.SourceBuilt.Artifacts.tar.gz -C "/usr/share/dotnet/artifacts/$_artifactsver" . >/dev/null 2>&1
tar cvzf packages/archive/Private.SourceBuild.ReferencePackages.tar.gz -C "/usr/share/dotnet/reference-packages/$_pkgver_macro" . >/dev/null 2>&1
}
build() {
msg "Building $pkgname-$pkgver"
export SOURCE_BUILD_SKIP_SUBMODULE_CHECK=1
# Disable tracing, which is incompatible with certain versions of
# lttng See https://github.com/dotnet/runtime/issues/57784. The
# suggested compile-time change doesn't work, unfrotunately.
export COMPlus_LTTng=0
./build.sh \
--with-sdk bootstrap \
/p:SkipDownloadingPreviouslySourceBuiltPackages=true \
/p:SkipDownloadingReferencePackages=true \
/p:ContinueOnPrebuiltBaselineError=true \
/p:SkipPortableRuntimeBuild=true \
/p:SkipPrebuiltEnforcement=true \
/p:UseSystemLibraries=true \
/p:UseSystemLibunwind=true
}

View file

@ -0,0 +1,23 @@
# abuild / buildrepo gets confused when setting pkgver var from within subpkgs
# This expresses itself in two ways:
# 1) scan_symlink_targets, when it detects symlink dependencies between subpkgs
# sets a hard dependency to that specific version of subpackage. Fixing this
# involves simply neutralizing scan_symlink_targets, leaving the maintainer
# to set those dependencies explicitely
# 2) abuild / buildrepo has logics to determine if a package should be rebuilt
# abuild uses apk_up2date and abuildindex_up2date, and buildrepo uses
# pkg.each_need_rebuild, then pkg.apk_file_exists. All of these rely on if
# there's a readable file at $repo/$CARCH/$name-$pkgver-r$pkgrel.apk
# Fixing this involves creating a symbolic link at that location that points
# to where the subpackage actually is.
# Fortunately, scan_symlink_targes has all the hooks necessary to create a
# symbolic link: it resides within a for loop that's based around subpkgdir,
# and feeds function with .PKGINFO info that allows for creation of symbolic
# link when necessary
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}

View file

@ -0,0 +1,20 @@
_update_stage1() {
local pwd=$(pwd)
# Update symbolic link to patches
rm ../dotnet$_pkgver_name-stage1/*.patch ../dotnet$_pkgver_name-stage1/dotnet.sh
for i in ../dotnet"$_pkgver_name"/*.patch ../dotnet"$_pkgver_name"/dotnet.sh; do
cp $i ${i/$_pkgver_name/$_pkgver_name-stage1}
done
# Generate stage1
{
echo -n "# "
echo "Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>"
echo ". ../dotnet$_pkgver_name/APKBUILD"
sed "s/pkgname=dotnet$_pkgver_name/pkgname=dotnet$_pkgver_name-stage1/" ../dotnet$_pkgver_name/lib/00_main.sh
echo "makedepends=\"\${makedepends//$_pkgver_name-bootstrap/$_pkgver_name-stage0}\""
} > ../dotnet$_pkgver_name-stage1/APKBUILD
cd ../dotnet$_pkgver_name-stage1
abuild checksum
cd "$pwd"
}

View file

@ -0,0 +1,221 @@
#
# Packaging functions for dotnet builds 5.0 and under
#
subpackages="
aspnetcore$_pkgver_name-runtime:aspnetcore_runtime:noarch
aspnetcore$_pkgver_name-targeting-pack:aspnetcore_targeting_pack:noarch
dotnet$_pkgver_name-apphost-pack:apphost_pack
dotnet$_pkgver_name-artifacts:artifacts
dotnet$_pkgver_name-host:host
dotnet$_pkgver_name-host-zsh-completion:zshcomp
dotnet$_pkgver_name-host-bash-completion:bashcomp
dotnet$_pkgver_name-host-doc:doc
dotnet$_pkgver_name-hostfxr:hostfxr
dotnet$_pkgver_name-runtime:runtime
dotnet$_pkgver_name-sdk:sdk
dotnet$_pkgver_name-targeting-pack:targeting_pack:noarch
dotnet$_pkgver_name-templates:templates:noarch
netstandard$_pkgver_name-targeting-pack:netstandard_targeting_pack:noarch
"
package() {
depends="dotnet$_pkgver_name-sdk"
provides=dotnet-$_pkgver_macro
install -dm 755 "$pkgdir"/usr/share/zsh/site-functions "$pkgdir"/usr/share/bash-completion/completions "$pkgdir"/usr/share/man/man1
find "$builddir" -iname 'dotnet*.1' -type f -exec cp '{}' "$pkgdir"/usr/share/man/man1/ \;
install -m 755 "$srcdir"/completions.zsh "$pkgdir"/usr/share/zsh/site-functions/_dotnet
install -m 755 "$builddir"/artifacts/src/sdk/scripts/register-completions.bash "$pkgdir"/usr/share/bash-completion/completions/_dotnet
}
sdk() {
pkgver="$_sdkver"
depends="
aspnetcore$_pkgver_name-runtime
aspnetcore$_pkgver_name-targeting-pack
dotnet$_pkgver_name-apphost-pack
dotnet$_pkgver_name-runtime
dotnet$_pkgver_name-targeting-pack
dotnet$_pkgver_name-templates
netstandard21-targeting-pack
"
provider_priority=$_pkgver_prior
provides="dotnet$_pkgver_name-bootstrap-sdk dotnet-sdk-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
pkgver=$_runtimever
provides="dotnet-host"
provider_priority=$_pkgver_prior
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-hostfxr-$_pkgver_macro"
provider_priority=$_pkgver_prior
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime"
pkgver=$_runtimever
depends="dotnet$_pkgver_name-hostfxr"
provides="
dotnet$_pkgver_name-bootstrap-runtime
dotnet-runtime-$_pkgver_macro
"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
aspnetcore_runtime() {
pkgdesc="The ASP.NET $_pkgver_macro Core runtime"
pkgver=$_aspnetver
depends="dotnet$_pkgver_name-runtime"
provides="aspnetcore-runtime-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.AspNetCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-runtime
}
apphost_pack() {
pkgdesc="The .NET $_pkgver_macro Core apphost pack"
pkgver=$_aspnetver
provides="dotnet-apphost-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner --wildcards ./packs/Microsoft.NETCore.App.Host.*
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-apphost-pack
}
targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
provides="dotnet-targeting-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.NETCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-targeting-pack
}
netstandard_targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Standard targeting pack"
pkgver=$_sdkver
depends="dotnet-host"
provides="
netstandard21-targeting-pack
netstandard-targeting-pack-2.1
"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/NETStandard.Library.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/netstandard21-targeting-pack
}
aspnetcore_targeting_pack() {
pkgdesc="The ASP.NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
provides="aspnetcore-targeting-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-targeting-pack
}
templates() {
pkgdesc="The .NET $_pkgver_macro templates"
depends="dotnet-host"
pkgver="$_sdkver"
provider_priority=$_pkgver_prior
provides="dotnet-templates-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-templates
}
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit"
depends="dotnet-host"
pkgver=$_sdkver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xzf Private.SourceBuilt.Artifacts.*.tar.gz -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
zshcomp() {
default_zshcomp
pkgdesc="zsh completion for .NET $_pkgver_macro"
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-host-zsh-completion"
provider_priority=$_pkgver_prior
}
bashcomp() {
default_bashcomp
pkgdesc="bash completion for .NET $_pkgver_macro"
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-host-bash-completion"
provider_priority=$_pkgver_prior
}
doc() {
default_doc
pkgdesc="Docs for .NET $_pkgver_macro"
pkgver="$_runtimever"
provides="dotnet-host-doc"
provider_priority=$_pkgver_prior
}

View file

@ -0,0 +1,53 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=dotnet5-references
pkgver=5.0.21566
pkgrel=0
_gittag=6ce5818b1c1828ccdc8ac63d460d029c6391a401
_pkgver_macro=${pkgver%.*}
_pkgver_prior=${pkgver%.*.*}
_pkgver_name=${_pkgver_macro//[.0]}
pkgdesc="Reference packages needed by the .NET $_pkgver_name SDK build"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
bash
dotnet$_pkgver_name-stage1
dotnet$_pkgver_name-bootstrap-sdk
dotnet$_pkgver_name-bootstrap-runtime
dotnet$_pkgver_name-bootstrap-artifacts
findutils
icu-dev
"
provides=dotnet$_pkgver_name-bootstrap-references
provider_priority=$_pkgver_prior
options="!check" # No test suite
source="
source-build-reference-packages-$_gittag.tar.gz::https://github.com/dotnet/source-build-reference-packages/archive/$_gittag.tar.gz
sh-build-fix.patch
"
builddir="$srcdir"/source-build-reference-packages-$_gittag
prepare() {
default_prepare
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
tar cvzf Private.SourceBuilt.Artifacts.tar.gz -C "/usr/share/dotnet/artifacts/$_artifactsver" . >/dev/null 2>&1
}
build() {
export COMPlus_LTTng=0
msg "Building $pkgname-$pkgver"
cd "$srcdir"/source-build-reference*
./build.sh \
--with-sdk "/usr/share/dotnet" \
--with-packages "$builddir"/Private.SourceBuilt.Artifacts.tar.gz \
| tee -a build.log
}
package() {
install -dm 755 "$pkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro "$pkgdir"/usr/share/licenses
cd $builddir/artifacts/reference-packages
install ./* "$pkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro/.
ln -s dotnet-host "$pkgdir"/usr/share/licenses/dotnet$_pkgver_name-references
}
sha512sums="
4d15c4a62342c6186053a5d9391567e0ee2c916382a1c81d6a8aff0dc0092f7889d49d7d5b357abda85d4c709d9599726bba8c2593236360b0373c35e3261208 source-build-reference-packages-6ce5818b1c1828ccdc8ac63d460d029c6391a401.tar.gz
2532e95dbe28be13089537afa60908450ac2ebc92016a3e2dcdb2c476b4e87eac8a306fb7b6fcb0f2d9b87ce20133c4627fa8912076de10706973832a4564e02 sh-build-fix.patch
"

View file

@ -0,0 +1,20 @@
# Description
APKBUILD for dotnet5-references
# Generated packages
* dotnet5-references (provides dotnet5-bootstrap-references)
# How to build dotnet5 stack
* Build testing/dotnet5-stage0 (provides dotnet5-bootstrap-runtime / sdk)
* Build testing/dotnet5-stage1 (dotnet5-stage0 runtime / sdk bootstrap)
* Build testing/dotnet5-references (dotnet5 bootstrap and artifacts)
* Build testing/dotnet5 (with repo bootstraps, provides full repo
versions)
# Special functions
* ./build_apkbuild.sh: Builds APKBUILD using scripts in lib
# Known issues
* While dotnet5 supports musl-arm64, builds for that architecture hasn't been
attempted due to lack of bootstrap SDK

View file

@ -0,0 +1,9 @@
#/bin/bash
echo "# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>" > APKBUILD
apkbuild-lint lib/*
# Build APKBUILD
sed 's:^\s*#.*$::g' lib/* >> APKBUILD
sed -i '/^[[:space:]]*$/d' APKBUILD
abuild checksum

View file

@ -0,0 +1,8 @@
#
# Main variables for dotnet-references build version 5.0
#
pkgname=dotnet5-references
pkgver=5.0.21566
pkgrel=0
_gittag=6ce5818b1c1828ccdc8ac63d460d029c6391a401

View file

@ -0,0 +1,63 @@
#
# Build functions for dotnet-references version 5.0 and under
#
_pkgver_macro=${pkgver%.*}
_pkgver_prior=${pkgver%.*.*}
_pkgver_name=${_pkgver_macro//[.0]}
pkgdesc="Reference packages needed by the .NET $_pkgver_name SDK build"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
bash
dotnet$_pkgver_name-stage1
dotnet$_pkgver_name-bootstrap-sdk
dotnet$_pkgver_name-bootstrap-runtime
dotnet$_pkgver_name-bootstrap-artifacts
findutils
icu-dev
"
provides=dotnet$_pkgver_name-bootstrap-references
provider_priority=$_pkgver_prior
options="!check" # No test suite
source="
source-build-reference-packages-$_gittag.tar.gz::https://github.com/dotnet/source-build-reference-packages/archive/$_gittag.tar.gz
sh-build-fix.patch
"
builddir="$srcdir"/source-build-reference-packages-$_gittag
prepare() {
default_prepare
# Link source-built-artifacts
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
tar cvzf Private.SourceBuilt.Artifacts.tar.gz -C "/usr/share/dotnet/artifacts/$_artifactsver" . >/dev/null 2>&1
}
build() {
# Disable tracing, which is incompatible with certain versions of
# lttng See https://github.com/dotnet/runtime/issues/57784. The
# suggested compile-time change doesn't work, unfrotunately.
export COMPlus_LTTng=0
msg "Building $pkgname-$pkgver"
cd "$srcdir"/source-build-reference*
./build.sh \
--with-sdk "/usr/share/dotnet" \
--with-packages "$builddir"/Private.SourceBuilt.Artifacts.tar.gz \
| tee -a build.log
}
package() {
install -dm 755 "$pkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro "$pkgdir"/usr/share/licenses
cd $builddir/artifacts/reference-packages
install ./* "$pkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro/.
ln -s dotnet-host "$pkgdir"/usr/share/licenses/dotnet$_pkgver_name-references
}
sha512sums="
9d7ae29c311cd9550389225cab891df359385e098aaccb8100c77832ea7b7b1f6a7984d811cb1f45bd323182149246c33f2016b4ee85d97ee9b29243acc644bc source-build-reference-packages-045b2888ccfaf4c203c945a09b3f41f0e6393d1c.tar.gz
6f4dbf64a190dd0676cbd4fc8d0e6e20f673e0c52bf572039057ce7712fc71d358b81d816493c8b2f79b4a7e3e4e5ec06479a8dbeb257ebefb8b87abc20e6fdc sh-build-fix.patch
"

View file

@ -0,0 +1,27 @@
From f46cf7c4d6e8c92053993ff2081b820aae4ed886 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sat, 8 Jan 2022 17:18:05 +0000
Subject: [PATCH 1/1] fix for sh
Exec Command issue with bad character for busybox sh.
This patches by removing bad character so that it can run with busybox
---
src/targetPacks/assemble.targets | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/targetPacks/assemble.targets b/src/targetPacks/assemble.targets
index e7330ba0..a5ecb921 100644
--- a/src/targetPacks/assemble.targets
+++ b/src/targetPacks/assemble.targets
@@ -87,7 +87,7 @@
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Assemble TargetingPacks src." />
<MakeDir Directories="@(TargetingPackSrc->'$(ArtifactsTFMPackTemp)$(MSBuildProjectName)/%(RecursiveDir)')" />
<!-- Note: Hack below to not fill up build logs. Ilasm produces warning on validly disassembled il src. The awk below eats just that warning -->
- <Exec Command="set -o pipefail;$(IlasmToolPathSB)ilasm %(TargetingPackSrc.ILSrcFile) -dll -quiet -nologo -output=$(ArtifactsTFMPackTemp)$(MSBuildProjectName)/%(TargetingPackSrc.RelativeOutputAssemblyFile) |&amp; awk '!/warning : Method has no body/'" IgnoreStandardErrorWarningFormat="true"/>
+ <Exec Command="set -o pipefail;$(IlasmToolPathSB)ilasm %(TargetingPackSrc.ILSrcFile) -dll -quiet -nologo -output=$(ArtifactsTFMPackTemp)$(MSBuildProjectName)/%(TargetingPackSrc.RelativeOutputAssemblyFile) | awk '!/warning : Method has no body/'" IgnoreStandardErrorWarningFormat="true"/>
<Message Importance="High" Text="[$([System.DateTime]::Now.ToString('HH:mm:ss.ff'))] Done assembling TargetPacks src." />
</Target>
</Project>
--
2.34.1

View file

@ -1,91 +1,204 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=dotnet5-stage0
pkgdesc="The .NET Core SDK"
pkgver=5.0.209
pkgrel=1
pkgrel=0
_runtimever=5.0.12
_source_artifactsver=0.1.0-5.0.208-1454404-20211104.5
_source_referencesver=1.0.0-beta.21566.2
_nappo_get=''
_pkgver_macro=${pkgver%.*}
_pkgver_prior=1
_pkgver_name=${_pkgver_macro//[.0]}
_artifactsver=${_source_artifactsver:6:7}
_referencesver=$_pkgver_macro.${_source_referencesver:11:5}
pkgdesc="The .NET $_pkgver_macro SDK, Microsoft build for use by dotnet$_pkgver_name aport"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
libcurl
krb5-libs
libintl
lttng-ust
zlib
"
subpackages="
dotnet5-stage0-runtime:runtime
dotnet5-stage0-sdk:sdk
dotnet5-stage0-host:host
"
options="!check" # No test suite
case $CARCH in
x86_64)_arch=x64;;
aarch64)_arch=arm64;;
armv7)_arch=arm;;
esac
source="
https://dotnetcli.azureedge.net/dotnet/Sdk/$pkgver/dotnet-sdk-$pkgver-linux-musl-$_arch.tar.gz
_default_source="
https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.$_source_artifactsver.tar.gz
https://dotnetfeed.blob.core.windows.net/dotnet-core/assets/Private.SourceBuild.ReferencePackages.$_source_referencesver.tar.gz
https://gist.githubusercontent.com/omajid/c04b6025de49d0b7b18ab4a7e789484e/raw/b33c57f6bf9c00bb8633375123d2d3594fe81c26/nappo.py
dotnet.sh
"
makedepends="
krb5-libs
libcurl
libintl
lttng-ust
py3-packaging
zlib
"
options="!strip !check" # No test suite
builddir="$srcdir"
# Disables dependency tracing for symlinks, thus fixing per-subpkg pkgver setting
scan_symlink_targets() {
return
_get_arch() {
case $1 in
x86_64) local arch=x64;;
aarch64) local arch=arm64;;
armv7) local arch=arm;;
esac
echo $arch
}
unpack() {
verify
initdcheck
mkdir -p "$srcdir"
msg "Unpacking Private.SourceBuilt.Artifacts"
gunzip Private.SourceBuilt.Artifacts.*.tar.gz
msg "Unpacking Private.SourceBuild.Reference.Packages"
gunzip Private.SourceBuild.Reference*.tar.gz
}
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}
_update_source() {
[ -z "$source" ] \
&& msg "Removing source from APKBUILD"
sed -E -i \
-e '/^source=".*"$/d' \
-e '/^source="/,/"$/d' \
\
-e "/^source='.*'\$/d" \
-e "/^source='/,/'\$/d" \
APKBUILD
source="$_default_source"
fetch
local nuget_source="$_default_source"
msg "Updating source"
local nappo_get="$_nappo_get $(tar --list -f "$srcdir"/Private.SourceBuilt.Artifacts.*.tar.gz --wildcards '*.linux-x64.*' --exclude '*Intermediate*' --exclude 'runtime.linux-x64.Microsoft.NETCore.Runtime.CoreCLR*' 2>/dev/null)"
for package in $nappo_get; do
for _arch in $arch; do
local filename=${package##*/} # Extracts just filename
local suffix=${filename##*[0-9]} # Extracts what's after version number
local nupkg=${filename/$suffix} # Extracts nupkg name with version
[ -z "${filename##*servicing*}" ] && local nupkg=${filename%%-servicing*}
local name=${nupkg%*.*.*.*} # Extracts name without version
local version=${nupkg/$name.} # Extracts version out of nupkg using name
local name=${name/linux-x64/linux-musl-$(_get_arch $_arch)} # Converts to current arch
[ -z "${filename##*servicing*}" ] && local version=''
echo "Getting url for $name version $version, replaces $package"
local nappo_out=$(python3 "$srcdir"/nappo.py download --verbose "$name" "$version")
local nupkg="${nappo_out#*.nupkg}"
local uri=${nappo_out/$nupkg}
local nupkg=$(echo $nupkg | tr -d '\n')
[ -f "$nupkg" ] && mv $nupkg "$SRCDEST"/.
local nuget_source="$nuget_source $uri"
[ -z "${name##*linux*}" ] || break
done
done
for _arch in $arch; do
local nuget_source="$nuget_source https://dotnetcli.azureedge.net/dotnet/Sdk/$pkgver/dotnet-sdk-$pkgver-linux-musl-$(_get_arch $_arch).tar.gz"
done
local nuget_source="$(printf '%s\n' $nuget_source)"
printf 'source="\n%s\n"\n' "$nuget_source" >>"$APKBUILD"
}
subpackages="
dotnet$_pkgver_name-stage0-runtime:runtime
dotnet$_pkgver_name-stage0-sdk:sdk
dotnet$_pkgver_name-stage0-host:host
dotnet$_pkgver_name-stage0-hostfxr:hostfxr
dotnet$_pkgver_name-stage0-artifacts:artifacts
dotnet$_pkgver_name-stage0-references:references
"
package() {
export _runtimever=$("$srcdir"/dotnet --list-runtimes | awk '($1 == "Microsoft.NETCore.App"){print $2}')
export _sdkver=$("$srcdir"/dotnet --list-sdks | awk '{print $1}')
depends="
dotnet5-stage0-sdk
dotnet5-stage0-runtime
dotnet5-stage0-host
"
mkdir -p "$pkgdir"
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
pkgdesc="A generic driver for the .NET Core Command Line Interface, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_runtimever
provides=dotnet-host
provider_priority=1
provides="dotnet-host"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet ./host
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
sdk() {
pkgver=$_sdkver
depends="dotnet31-bootstrap-runtime"
provides=dotnet5-bootstrap-sdk
provider_priority=1
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet5-sdk
}
runtime() {
pkgdesc="The .NET Core runtime"
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provides=dotnet5-bootstrap-runtime
provider_priority=1
provides="dotnet$_pkgver_name-hostfxr"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses "$subpkgdir"/usr/lib
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s /usr/share/dotnet/host/fxr/$pkgver/libhostfxr.so "$subpkgdir"/usr/lib/libhostfxr.so
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
sdk() {
depends="dotnet$_pkgver_name-bootstrap-runtime"
provides="dotnet$_pkgver_name-bootstrap-sdk"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_runtimever
depends="dotnet$_pkgver_name-hostfxr"
provides="dotnet$_pkgver_name-bootstrap-runtime"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet5-runtime
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
sha512sums="
129ad36d92a58a1bf549add5b2c9400858d31f4ae74d5d2b1f37831464a16a98dbaa1445a3179fffb3a8020a137b8302355e4a076522ca4a8217443f1b67d29d dotnet-sdk-5.0.209-linux-musl-x64.tar.gz
f58bd83b709dcb4b0b67830756069c34258a167b33cb290cbf30f21d69d75402d38e013fd7bbf00640fe19e397f78df6ff787cf8484ee8967d5b8809f033eafb dotnet.sh
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_artifactsver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuilt.Artifacts.*.tar -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/ --no-same-owner --exclude '*.linux-x64*'
install -m 644 "$srcdir"/*"$(_get_arch $CARCH)"*.nupkg "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/.
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
references() {
pkgdesc="Reference packages needed by the .NET $_pkgver_macro SDK build, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_referencesver
provides="dotnet$_pkgver_name-bootstrap-references"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuild.Reference*.tar -C "$subpkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro/ --no-same-owner
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-reference
}
source="
https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.0.1.0-5.0.208-1454404-20211104.5.tar.gz
https://dotnetfeed.blob.core.windows.net/dotnet-core/assets/Private.SourceBuild.ReferencePackages.1.0.0-beta.21566.2.tar.gz
https://gist.githubusercontent.com/omajid/c04b6025de49d0b7b18ab4a7e789484e/raw/b33c57f6bf9c00bb8633375123d2d3594fe81c26/nappo.py
dotnet.sh
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.AspNetCore.App.Runtime.linux-musl-x64/5.0.11/microsoft.aspnetcore.app.runtime.linux-musl-x64.5.0.11.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Host.linux-musl-x64/5.0.11/microsoft.netcore.app.host.linux-musl-x64.5.0.11.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Runtime.linux-musl-x64/5.0.11/microsoft.netcore.app.runtime.linux-musl-x64.5.0.11.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.App/2.2.0-preview2-26905-02/runtime.linux-musl-x64.microsoft.netcore.app.2.2.0-preview2-26905-02.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost/5.0.11/runtime.linux-musl-x64.microsoft.netcore.dotnetapphost.5.0.11.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost/5.0.11/runtime.linux-musl-x64.microsoft.netcore.dotnethost.5.0.11.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy/5.0.11/runtime.linux-musl-x64.microsoft.netcore.dotnethostpolicy.5.0.11.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver/5.0.11/runtime.linux-musl-x64.microsoft.netcore.dotnethostresolver.5.0.11.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.ILAsm/5.0.0-alpha1.19459.9/runtime.linux-musl-x64.microsoft.netcore.ilasm.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm/5.0.0-alpha1.19459.9/runtime.linux-musl-x64.microsoft.netcore.ildasm.5.0.0-alpha1.19459.9.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/a8a526e9-91b3-4569-ba2d-ff08dbb7c110/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.TestHost/5.0.0-alpha1.19459.9/runtime.linux-musl-x64.microsoft.netcore.testhost.5.0.0-alpha1.19459.9.nupkg
https://dotnetcli.azureedge.net/dotnet/Sdk/5.0.209/dotnet-sdk-5.0.209-linux-musl-x64.tar.gz
"
sha512sums="
9b63922552a6f8463e5eb6df70a1c85f44caa9c8156ce20c4cff7deffea0a76c732954629097692ff32272d4fcd59410759f25a273175fd86135e9f2a4cea58f Private.SourceBuilt.Artifacts.0.1.0-5.0.208-1454404-20211104.5.tar.gz
af2ae9d9cb9e06621ecf150eb950b53f830b8586b6da0474ed39735f2136bf474154d673d7f7c44d23bf4d29e62ab4709acf0bec7575b28fc7087a56cb2eb7cc Private.SourceBuild.ReferencePackages.1.0.0-beta.21566.2.tar.gz
90b3ec14fd02cbef8af2086c26ef2f4f23c4c5ce83dac39cacbb36e506ea9914aae6c3b3580af2e71141b8f0435b4910f60970333011b4ddd594839f5fd7ec8e nappo.py
f58bd83b709dcb4b0b67830756069c34258a167b33cb290cbf30f21d69d75402d38e013fd7bbf00640fe19e397f78df6ff787cf8484ee8967d5b8809f033eafb dotnet.sh
77e951f1992152ba5515b2073aaf915c99574186b0a4957cc0523da211f54fe387065f0011a491805c7c20cae80b30929f285eebf8904fd02cddf762092f8a0e microsoft.aspnetcore.app.runtime.linux-musl-x64.5.0.11.nupkg
ddf83ff84711be8fc1652c59cddf23fe97442c6b404c0932c60baac01c6c044a8f8a481396e28414c9b58b6d3bb38e083c4c743d04176bb2957787b61c429531 microsoft.netcore.app.host.linux-musl-x64.5.0.11.nupkg
b651d6a8e5595eaa946a09a4ac0eb38844de6ba53b4a461ad0a1ea501bc7fdf96a36bc071da05d45d291a707a3470aae233373b6f6346ee255b861e009ebf9dc microsoft.netcore.app.runtime.linux-musl-x64.5.0.11.nupkg
ec01c7482f040c06726ca7bf67fd9c83e83b6af4f46ccd16f7892c1034ae408c0d9220e24952060316e19df38f15f86b8d5ae8f1f52d3e38d658b4e94304d42b runtime.linux-musl-x64.microsoft.netcore.app.2.2.0-preview2-26905-02.nupkg
c33efa123adfa36192643c40b5c35972f376d59ab67a4b201eecce7efafd61e46918e5a0f966b30dd3ba4e481becd1db8965a4ca723c0db212b90541d6e72037 runtime.linux-musl-x64.microsoft.netcore.dotnetapphost.5.0.11.nupkg
4ebf38a8249e96dd6c05430c380d217c22ca409458c0d08b90bf36f49870e03b5e9e0e6130389cda5c9aed98604185a8d46bd3cc4921083776556e811924b79b runtime.linux-musl-x64.microsoft.netcore.dotnethost.5.0.11.nupkg
47affec93733372fa09436bfb185999d0e2296fa7ecf6434b3e7e7e007282dcbcb4e8c49a39a7962570b4c036f70aaeba02a68a31b13d54914392b3791b3d99c runtime.linux-musl-x64.microsoft.netcore.dotnethostpolicy.5.0.11.nupkg
51bdd91f8ed27e998f144c983a910421d46d563c6ec6a20aa81aef4e07842509b513a083adada22e9205cb481cbbb3999bb86ae0ffdd39412bf5a9b45981461a runtime.linux-musl-x64.microsoft.netcore.dotnethostresolver.5.0.11.nupkg
b5c03376ed2e56955463a4c8328ec8682d11fca5085c091025df989b1add13ef5510d5079c1c541238610180d5871ad0a7ec2b4a617d40ca4fdbdf85500769b2 runtime.linux-musl-x64.microsoft.netcore.ilasm.5.0.0-alpha1.19459.9.nupkg
44609e872e0aa76c682ffa34951cbdbe2e590686342263e71b8ec012ef3e5d242f17ab23576679dc27d451b3a5a59f1a1bf9abd8a620e777e8552486d366058c runtime.linux-musl-x64.microsoft.netcore.ildasm.5.0.0-alpha1.19459.9.nupkg
7d9f6f15fa66ee512989d63ccfb996171f046aa6c853d4856284ec696042676ffee24027595fa358ea8c01083370548f2a1f8b42a422a86b99c10d31114dc9f1 runtime.linux-musl-x64.microsoft.netcore.testhost.5.0.0-alpha1.19459.9.nupkg
129ad36d92a58a1bf549add5b2c9400858d31f4ae74d5d2b1f37831464a16a98dbaa1445a3179fffb3a8020a137b8302355e4a076522ca4a8217443f1b67d29d dotnet-sdk-5.0.209-linux-musl-x64.tar.gz
"

View file

@ -1,23 +1,26 @@
# Description
APKBUILD for dotnet5-stage0
# Generated packages
* dotnet5-stage0-host (provides dotnet-host)
* dotnet5-stage0-runtime (provides dotnet5-bootstrap-runtime)
* dotnet5-stage0-sdk (provides dotnet5-bootstrap-sdk)
* dotnet5-stage0-artifacts (provides dotnet5-bootstrap-artifacts
* dotnet5-stage0-references (provides dotnet5-bootstrap-references)
# How to build dotnet5 stack
(note: dotnet31 only needed for Darc, which usually retrieves the 3.1.1 runtime
automatically. Per preference of using repo versions of runtimes, retrieval
is disabled by patch)
* Build testing/dotnet31-stage0 first (provides binary
dotnet31-bootstrap-runtime / sdk and dotnet-host)
* Build testing/dotnet31 once (with binary bootstraps, provides repo versions
of above packages, and more)
* Build testing/dotnet31 again (with repo bootstraps, provides full repo
versions)
* Build testing/dotnet5-stage0 (provides dotnet5-bootstrap-runtime / sdk)
* Build testing/dotnet5 once (using dotnet31 runtime bootstrap and
dotnet5-stage0 runtime / sdk bootstrap)
* Build testing/dotnet5 again (with repo bootstraps, provides full repo
* Build testing/dotnet5-stage1 (dotnet5-stage0 runtime / sdk bootstrap)
* Build testing/dotnet5-references (dotnet5 bootstrap and artifacts)
* Build testing/dotnet5 (with repo bootstraps, provides full repo
versions)
# Special functions
* ./build_apkbuild.sh: Builds APKBUILD using scripts in lib
* abuild _update_source: Stage0 adapts prebuilt artifacts packages by replacing
linux-x64 nupkgs with linux-musl-x64 versions. Any updates to artifacts will
require executing this function to update source with up to date nuget packages
# Known issues
* Havn't tested for builds with armv7 and aarch64 as dotnet31-stage0 doesn't
have bootstrap binaries available for those architectures, need to figure this
out
* While dotnet5 supports musl-arm64 musl-arm32 and musl-x64, builds for those
architectures will not be supported. Please use dotnet6 for those architectures

View file

@ -0,0 +1,14 @@
#/bin/bash
source APKBUILD
echo "# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>" > APKBUILD
apkbuild-lint lib/*
# Build APKBUILD
sed 's:^\s*#.*$::g' lib/* >> APKBUILD
source="$(printf '%s\n' $source)"
printf 'source="\n%s\n"\n' "$source" >> APKBUILD
printf 'sha512sums="%s\n"\n' "$sha512sums" >> APKBUILD
# Strip whitespace
sed -i '/^[[:space:]]*$/d' APKBUILD

View file

@ -0,0 +1,11 @@
#
# Build variables for dotnet-stage0 version 5.0
#
pkgname=dotnet5-stage0
pkgver=5.0.209
pkgrel=0
_runtimever=5.0.12
_source_artifactsver=0.1.0-5.0.208-1454404-20211104.5
_source_referencesver=1.0.0-beta.21566.2
_nappo_get=''

View file

@ -0,0 +1,29 @@
#
# Building variables for dotnet-stage0 version 5.0 and under
#
_pkgver_macro=${pkgver%.*}
_pkgver_prior=1
_pkgver_name=${_pkgver_macro//[.0]}
_artifactsver=${_source_artifactsver:6:7}
_referencesver=$_pkgver_macro.${_source_referencesver:11:5}
pkgdesc="The .NET $_pkgver_macro SDK, Microsoft build for use by dotnet$_pkgver_name aport"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
_default_source="
https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.$_source_artifactsver.tar.gz
https://dotnetfeed.blob.core.windows.net/dotnet-core/assets/Private.SourceBuild.ReferencePackages.$_source_referencesver.tar.gz
https://gist.githubusercontent.com/omajid/c04b6025de49d0b7b18ab4a7e789484e/raw/b33c57f6bf9c00bb8633375123d2d3594fe81c26/nappo.py
dotnet.sh
"
makedepends="
krb5-libs
libcurl
libintl
lttng-ust
py3-packaging
zlib
"
options="!strip !check" # No test suite
builddir="$srcdir"

View file

@ -0,0 +1,22 @@
#
# Building functions for dotnet-stage0 version 5.0 and under
#
_get_arch() {
case $1 in
x86_64) local arch=x64;;
aarch64) local arch=arm64;;
armv7) local arch=arm;;
esac
echo $arch
}
unpack() {
verify
initdcheck
mkdir -p "$srcdir"
msg "Unpacking Private.SourceBuilt.Artifacts"
gunzip Private.SourceBuilt.Artifacts.*.tar.gz
msg "Unpacking Private.SourceBuild.Reference.Packages"
gunzip Private.SourceBuild.Reference*.tar.gz
}

View file

@ -0,0 +1,23 @@
# abuild / buildrepo gets confused when setting pkgver var from within subpkgs
# This expresses itself in two ways:
# 1) scan_symlink_targets, when it detects symlink dependencies between subpkgs
# sets a hard dependency to that specific version of subpackage. Fixing this
# involves simply neutralizing scan_symlink_targets, leaving the maintainer
# to set those dependencies explicitely
# 2) abuild / buildrepo has logics to determine if a package should be rebuilt
# abuild uses apk_up2date and abuildindex_up2date, and buildrepo uses
# pkg.each_need_rebuild, then pkg.apk_file_exists. All of these rely on if
# there's a readable file at $repo/$CARCH/$name-$pkgver-r$pkgrel.apk
# Fixing this involves creating a symbolic link at that location that points
# to where the subpackage actually is.
# Fortunately, scan_symlink_targes has all the hooks necessary to create a
# symbolic link: it resides within a for loop that's based around subpkgdir,
# and feeds function with .PKGINFO info that allows for creation of symbolic
# link when necessary
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}

View file

@ -0,0 +1,48 @@
# Prebuilt artifacts only provides linux-x64 nukgs. As Alpine uses linux-musl,
# the below scripts updates source to fetch the musl version of those packages,
# allowing packaging of the correct architecture. Thus, everytime Artifacts
# is updated, or new architectures are added, this function needs to be
# executed using 'abuild _update_source'
_update_source() {
[ -z "$source" ] \
&& msg "Removing source from APKBUILD"
sed -E -i \
-e '/^source=".*"$/d' \
-e '/^source="/,/"$/d' \
\
-e "/^source='.*'\$/d" \
-e "/^source='/,/'\$/d" \
APKBUILD
source="$_default_source"
fetch
local nuget_source="$_default_source"
msg "Updating source"
local nappo_get="$_nappo_get $(tar --list -f "$srcdir"/Private.SourceBuilt.Artifacts.*.tar.gz --wildcards '*.linux-x64.*' --exclude '*Intermediate*' --exclude 'runtime.linux-x64.Microsoft.NETCore.Runtime.CoreCLR*' 2>/dev/null)"
for package in $nappo_get; do
for _arch in $arch; do
local filename=${package##*/} # Extracts just filename
local suffix=${filename##*[0-9]} # Extracts what's after version number
local nupkg=${filename/$suffix} # Extracts nupkg name with version
[ -z "${filename##*servicing*}" ] && local nupkg=${filename%%-servicing*}
local name=${nupkg%*.*.*.*} # Extracts name without version
local version=${nupkg/$name.} # Extracts version out of nupkg using name
local name=${name/linux-x64/linux-musl-$(_get_arch $_arch)} # Converts to current arch
[ -z "${filename##*servicing*}" ] && local version=''
echo "Getting url for $name version $version, replaces $package"
local nappo_out=$(python3 "$srcdir"/nappo.py download --verbose "$name" "$version")
local nupkg="${nappo_out#*.nupkg}"
local uri=${nappo_out/$nupkg}
local nupkg=$(echo $nupkg | tr -d '\n')
[ -f "$nupkg" ] && mv $nupkg "$SRCDEST"/.
local nuget_source="$nuget_source $uri"
[ -z "${name##*linux*}" ] || break
done
done
for _arch in $arch; do
local nuget_source="$nuget_source https://dotnetcli.azureedge.net/dotnet/Sdk/$pkgver/dotnet-sdk-$pkgver-linux-musl-$(_get_arch $_arch).tar.gz"
done
local nuget_source="$(printf '%s\n' $nuget_source)"
printf 'source="\n%s\n"\n' "$nuget_source" >>"$APKBUILD"
}

View file

@ -0,0 +1,87 @@
#
# Packaging functions for dotnet-stage0 version 5.0 and under
#
subpackages="
dotnet$_pkgver_name-stage0-runtime:runtime
dotnet$_pkgver_name-stage0-sdk:sdk
dotnet$_pkgver_name-stage0-host:host
dotnet$_pkgver_name-stage0-hostfxr:hostfxr
dotnet$_pkgver_name-stage0-artifacts:artifacts
dotnet$_pkgver_name-stage0-references:references
"
package() {
mkdir -p "$pkgdir"
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_runtimever
provides="dotnet-host"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet$_pkgver_name-hostfxr"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
sdk() {
depends="dotnet$_pkgver_name-bootstrap-runtime"
provides="dotnet$_pkgver_name-bootstrap-sdk"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_runtimever
depends="dotnet$_pkgver_name-hostfxr"
provides="dotnet$_pkgver_name-bootstrap-runtime"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_artifactsver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuilt.Artifacts.*.tar -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/ --no-same-owner --exclude '*.linux-x64*'
install -m 644 "$srcdir"/*"$(_get_arch $CARCH)"*.nupkg "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/.
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
references() {
pkgdesc="Reference packages needed by the .NET $_pkgver_macro SDK build, Microsoft build for use by dotnet$_pkgver_name aport"
pkgver=$_referencesver
provides="dotnet$_pkgver_name-bootstrap-references"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuild.Reference*.tar -C "$subpkgdir"/usr/share/dotnet/reference-packages/$_pkgver_macro/ --no-same-owner
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-reference
}

View file

@ -0,0 +1,46 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
. ../dotnet5/APKBUILD
#
# Main functions for dotnet build version 5.0
#
pkgname=dotnet5-stage1
pkgver=5.0.209
pkgrel=0
_pkgrel=".1-SDK"
_runtimever=5.0.12
_sdkver=$pkgver
_aspnetver=$_runtimever
_llvmver=12
_patches="
application-insights_fix-net40-location.patch
build_darc-use-available-runtime.patch
build_darc-fix-alpine.patch
roslyn_added-previously-built-artifacts-repo.patch
runtime_add-rid-for-alpine-315.patch
runtime_use-latest-microsoftnetcoreplatformspackage.patch
runtime_link-order.patch
runtime_non-portable-distrorid-fix-alpine.patch
sdk_telemetry-optout.patch
"
# Custom preparation
default_prepare() {
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
sed -i "s|/path/to/artifacts|/usr/share/dotnet/artifacts/$_artifactsver|" "$srcdir"/roslyn_added-previously-built-artifacts-repo.patch
}
makedepends="${makedepends//5-bootstrap/5-stage0}"
sha512sums="
9e5a762ae9e90bac51b586cb084d92581ee9eaabd620852273eab5a463f676e285f071ec734f4f18b587584edfde44597a1d21ce10af5dc7cb4dba2c1a187436 source-build-v5.0.209.1-SDK.tar.gz
d0aecbf13e6781ef867021085e0d4a55e5f24dddfd175e4d0ce651fdb9c8e330636b2c69e3c4491442e5dd32c6859f38388006b3fe36fac2226837e1bc4107c9 completions.zsh
f58bd83b709dcb4b0b67830756069c34258a167b33cb290cbf30f21d69d75402d38e013fd7bbf00640fe19e397f78df6ff787cf8484ee8967d5b8809f033eafb dotnet.sh
09e8ba94973d4ab1017818eba7e13c4bda97b658dc6e0c15becb5211d15cad42df484b4c18f25f5dca1a02e647221013378ceb5c77a4046a107ff36df92641d2 application-insights_fix-net40-location.patch
d7ade1fea4bdf983e34827e5b729b406cdc08a36582a7c60510663742bcd6f0ad6720e8eca95399eb5d1ca05468e984ba622e92f6e964834c02df2e2db4e4f3e build_darc-use-available-runtime.patch
3a9ad06c927aafba4bf8fff3b369de2f8c114bd50037dff611491ce5cf65e6849a82a6752d49224e5dc75b6f08b6ec671ec12e73bd9b33a8829ee7347892cbe3 build_darc-fix-alpine.patch
25bc54272a74a7f3be686936d7c6465fb0f5f14238143738ce668159289f4567aec3f81dc12bd04bb158dd2d7f1a4f340ba541724410d029868775dcdc657003 roslyn_added-previously-built-artifacts-repo.patch
5a1c560b8078ba17d18f50ec78c8da45ed4d39b430ab47a31d829a3e9ce38cc7e3a92ee6a1f89f249e49b95e653bcf2409f4781c872134a69ce24e617dc49b32 runtime_add-rid-for-alpine-315.patch
2accd945ab49c3ac70e9ef8e5040b8f608771fac87525490804df7bc2607ca4e733502624b7c54b27b31ed907f5cb285e863eda0ee396aa8bce6d4dfaffec499 runtime_use-latest-microsoftnetcoreplatformspackage.patch
19a4b0e74f4e118a252c7c2231f955c3dc8ef9a0471e626f46dc7d7b3a34291ee479401966d4b58f1495daacbe7855ed5862522affd714dd11d8e2ef75151f1b runtime_link-order.patch
eaac9669bf68df73ffa242d452f1bd471e3aa346d7f8a57fa42463ac1fda1484d91447644d773911e7e5c94c7947caa0e45cac26f31ad7986bcd22884cda14d9 runtime_non-portable-distrorid-fix-alpine.patch
8865df32367e0e404f2fb020cfee77cc2a06cf3fcb579ae5b8df94fa701ab7877be11310181f0b628d140353c9a4f54e802ae8129e410bfee431c8ddc0bb5800 sdk_telemetry-optout.patch
"

View file

@ -0,0 +1,8 @@
# Description
APKBUILD for dotnet5, acting as intermediary between stage1 and actual package
This is a workaround for buildrepo, allowing automatic build of dotnet after
stage0, insuring that end-user doesn't have any binariers "tainted" by
Microsoft prebuilt binaries
# Special functions
To update, execute 'abuild _update_stage1'

View file

@ -0,0 +1,22 @@
From 387efb0ac01e40cd85cf9f5ce770be6437265ca4 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Fri, 4 Jun 2021 13:32:53 +0000
Subject: [PATCH] FIxed Net40 location
Because paths on Linux are case sensitive. Applications insights looks
for <dotnet/applicationsinsights>/src/Core/Managed/net40 in net40
while the repo has a Net40. Patch moves whatever is in Net40 to net40
(see https://github.com/microsoft/ApplicationInsights-dotnet/issues/2498)
---
src/Core/Managed/{Net40 => net40}/CorrelationHelper.cs | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename src/Core/Managed/{Net40 => net40}/CorrelationHelper.cs (100%)
diff --git a/src/Core/Managed/Net40/CorrelationHelper.cs b/src/Core/Managed/net40/CorrelationHelper.cs
similarity index 100%
rename from src/Core/Managed/Net40/CorrelationHelper.cs
rename to src/Core/Managed/net40/CorrelationHelper.cs
--
2.30.2

View file

@ -3,6 +3,13 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Thu, 15 Jul 2021 15:37:33 +0000
Subject: [PATCH 1/1] Fixed darc init for Alpine
Darc has a segmentation fault on Alpine due to not chosing the correct
binary architecture. This patch deletes all the wrong ones so that it
is forced to chose the correct one. This issue only occurs when using
dotnet-stage0-runtime, thus libunwind is suspected to be the issue as
stage0 wasn't built with system libunwind.
(see https://github.com/dotnet/source-build/issues/1868)
---
eng/common/darc-init.sh | 3 +++
1 file changed, 3 insertions(+)
@ -15,7 +22,7 @@ index 82b2b57..5227a37 100755
else
echo $($dotnet_root/dotnet tool install $darc_cli_package_name --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity --tool-path "$toolpath")
fi
+ for i in win* ubuntu.1* rhel-x64 osx fedora-x64 debian*; do
+ for i in win* ubuntu* rhel* osx fedora* debian*; do
+ rm -R $toolpath/.store/microsoft.dotnet.darc/*/microsoft.dotnet.darc/*/tools/netcoreapp3.0/any/runtimes/${i}
+ done
}

View file

@ -0,0 +1,40 @@
From 970fa4290ee6b4d43a0fbb19b919f4f260edf6a5 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Wed, 15 Dec 2021 18:04:02 +0000
Subject: [PATCH 1/1] Makes darc use whatever runtime is available
Default version of Darc needs dotnet 3.1 runtimes, and fails to run on
Alpine. This patch fixes this by pushing Darc's version and disabling runtime
retrieval. Can't push it too much, though, as latest version breaks with
application-insights as it doesn't include a eng/Version.Details.xml file
(see https://github.com/dotnet/source-build/pull/2698)
---
DarcVersion.txt | 2 +-
build.sh | 3 ---
3 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/DarcVersion.txt b/DarcVersion.txt
index 3574ff78..a343dfd9 100644
--- a/DarcVersion.txt
+++ b/DarcVersion.txt
@@ -1 +1 @@
-1.1.0-beta.19568.2
+1.1.0-beta.20256.6
diff --git a/build.sh b/build.sh
index 161f6314..8decf9af 100755
--- a/build.sh
+++ b/build.sh
@@ -138,9 +138,6 @@ fi
set -x
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-# runtime 3.1.1 required for darc
-"$scriptroot/eng/common/dotnet-install.sh" -runtime dotnet -version 3.1.1
-
if [ "$alternateTarget" == "true" ]; then
"$CLIPATH/dotnet" $SDKPATH/MSBuild.dll "$scriptroot/build.proj" /bl:source-build-test.binlog /flp:v=diag /clp:v=m "$@"
else
--
2.34.1

View file

@ -0,0 +1,13 @@
# Set location for AppHost lookup
[ -z "$DOTNET_ROOT" ] && export DOTNET_ROOT=/usr/share/dotnet
# Add dotnet tools directory to PATH
DOTNET_TOOLS_PATH="$HOME/.dotnet/tools"
case "$PATH" in
*"$DOTNET_TOOLS_PATH"* ) true ;;
* ) PATH="$PATH:$DOTNET_TOOLS_PATH" ;;
esac
# Extract self-contained executables under HOME to avoid multi-user issues from using the default '/var/tmp'
[ -z "$DOTNET_BUNDLE_EXTRACT_BASE_DIR" ] && export DOTNET_BUNDLE_EXTRACT_BASE_DIR="${XDG_CACHE_HOME:-"$HOME"/.cache}/dotnet_bundle_extract"

View file

@ -0,0 +1,31 @@
From cd89c9d2f0a1692a8e12b7c00ba93168de716e0a Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Thu, 20 Jan 2022 14:24:10 +0000
Subject: [PATCH 1/1] roslyn_added-previously-built-artifacts-repo
On rebuild, roslyn cannot seem to find certain nuget packages that are
usually provided by artifacts. Thus, this adds a nuget repo that points
to a yet-to-be-defined /path/to/artifacts. APKBUILD, using sed, adds
correct path to /usr/share/dotnet/artifacts/$_artifactsver in
default_prepare() function
(see https://github.com/dotnet/source-build/issues/2695)
---
NuGet.config | 1 +
1 file changed, 1 insertion(+)
diff --git a/NuGet.config b/NuGet.config
index 3cd2f6f4e6a..80f080d84e6 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -3,6 +3,7 @@
<configuration>
<packageSources>
<clear />
+ <add key="previously-source-built" value="/path/to/artifacts/" />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<add key="dotnet5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
--
2.34.1

View file

@ -0,0 +1,190 @@
From 01a517aee9ad501c2b7dd90e44e316ffb8e2c35d Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sun, 2 Jan 2022 22:00:09 +0000
Subject: [PATCH 2/2] add RID for Alpine 3.15
As of version 5.0.12, runtime does not have the RIDs for Alpine Linux 3.15.
This patch adds them. See dotnet/core issue #6985
(see https://github.com/dotnet/runtime/pull/62938)
---
.../runtime.compatibility.json | 114 ++++++++++++++++++
.../Microsoft.NETCore.Platforms/runtime.json | 23 ++++
.../runtimeGroups.props | 2 +-
3 files changed, 138 insertions(+), 1 deletion(-)
diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
index 844590f8022..6ff9cdd2cae 100644
--- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
+++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
@@ -508,6 +508,120 @@
"any",
"base"
],
+ "alpine.3.15": [
+ "alpine.3.15",
+ "alpine.3.14",
+ "alpine.3.13",
+ "alpine.3.12",
+ "alpine.3.11",
+ "alpine.3.10",
+ "alpine.3.9",
+ "alpine.3.8",
+ "alpine.3.7",
+ "alpine.3.6",
+ "alpine",
+ "linux-musl",
+ "linux",
+ "unix",
+ "any",
+ "base"
+ ],
+ "alpine.3.15-arm": [
+ "alpine.3.15-arm",
+ "alpine.3.15",
+ "alpine.3.14-arm",
+ "alpine.3.14",
+ "alpine.3.13-arm",
+ "alpine.3.13",
+ "alpine.3.12-arm",
+ "alpine.3.12",
+ "alpine.3.11-arm",
+ "alpine.3.11",
+ "alpine.3.10-arm",
+ "alpine.3.10",
+ "alpine.3.9-arm",
+ "alpine.3.9",
+ "alpine.3.8-arm",
+ "alpine.3.8",
+ "alpine.3.7-arm",
+ "alpine.3.7",
+ "alpine.3.6-arm",
+ "alpine.3.6",
+ "alpine-arm",
+ "alpine",
+ "linux-musl-arm",
+ "linux-musl",
+ "linux-arm",
+ "linux",
+ "unix-arm",
+ "unix",
+ "any",
+ "base"
+ ],
+ "alpine.3.15-arm64": [
+ "alpine.3.15-arm64",
+ "alpine.3.15",
+ "alpine.3.14-arm64",
+ "alpine.3.14",
+ "alpine.3.13-arm64",
+ "alpine.3.13",
+ "alpine.3.12-arm64",
+ "alpine.3.12",
+ "alpine.3.11-arm64",
+ "alpine.3.11",
+ "alpine.3.10-arm64",
+ "alpine.3.10",
+ "alpine.3.9-arm64",
+ "alpine.3.9",
+ "alpine.3.8-arm64",
+ "alpine.3.8",
+ "alpine.3.7-arm64",
+ "alpine.3.7",
+ "alpine.3.6-arm64",
+ "alpine.3.6",
+ "alpine-arm64",
+ "alpine",
+ "linux-musl-arm64",
+ "linux-musl",
+ "linux-arm64",
+ "linux",
+ "unix-arm64",
+ "unix",
+ "any",
+ "base"
+ ],
+ "alpine.3.15-x64": [
+ "alpine.3.15-x64",
+ "alpine.3.15",
+ "alpine.3.14-x64",
+ "alpine.3.14",
+ "alpine.3.13-x64",
+ "alpine.3.13",
+ "alpine.3.12-x64",
+ "alpine.3.12",
+ "alpine.3.11-x64",
+ "alpine.3.11",
+ "alpine.3.10-x64",
+ "alpine.3.10",
+ "alpine.3.9-x64",
+ "alpine.3.9",
+ "alpine.3.8-x64",
+ "alpine.3.8",
+ "alpine.3.7-x64",
+ "alpine.3.7",
+ "alpine.3.6-x64",
+ "alpine.3.6",
+ "alpine-x64",
+ "alpine",
+ "linux-musl-x64",
+ "linux-musl",
+ "linux-x64",
+ "linux",
+ "unix-x64",
+ "unix",
+ "any",
+ "base"
+ ],
"alpine.3.6": [
"alpine.3.6",
"alpine",
diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json
index 7d6aa102b50..a663a88166e 100644
--- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json
+++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json
@@ -138,6 +138,29 @@
"alpine.3.13-x64"
]
},
+ "alpine.3.15": {
+ "#import": [
+ "alpine.3.14"
+ ]
+ },
+ "alpine.3.15-arm": {
+ "#import": [
+ "alpine.3.15",
+ "alpine.3.14-arm"
+ ]
+ },
+ "alpine.3.15-arm64": {
+ "#import": [
+ "alpine.3.15",
+ "alpine.3.14-arm64"
+ ]
+ },
+ "alpine.3.15-x64": {
+ "#import": [
+ "alpine.3.15",
+ "alpine.3.14-x64"
+ ]
+ },
"alpine.3.6": {
"#import": [
"alpine"
diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
index 3cb3d2df858..c7a346d1672 100644
--- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
+++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
@@ -16,7 +16,7 @@
<RuntimeGroup Include="alpine">
<Parent>linux-musl</Parent>
<Architectures>x64;arm;arm64</Architectures>
- <Versions>3.6;3.7;3.8;3.9;3.10;3.11;3.12;3.13;3.14</Versions>
+ <Versions>3.6;3.7;3.8;3.9;3.10;3.11;3.12;3.13;3.14;3.15</Versions>
</RuntimeGroup>
<RuntimeGroup Include="android">
--
2.34.1

View file

@ -0,0 +1,34 @@
From 6e549ddb51fbebe1778143bc91b8cd434d751870 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Wed, 1 Dec 2021 02:34:39 +0000
Subject: [PATCH 1/1] Runtime link order patch for alpine
For some reason, runtime does not link in the right order. This fixes that.
---
src/installer/corehost/cli/apphost/static/CMakeLists.txt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/installer/corehost/cli/apphost/static/CMakeLists.txt b/src/installer/corehost/cli/apphost/static/CMakeLists.txt
index ffb4f3ed02c..b05a05e70e2 100644
--- a/src/installer/corehost/cli/apphost/static/CMakeLists.txt
+++ b/src/installer/corehost/cli/apphost/static/CMakeLists.txt
@@ -207,12 +207,12 @@ target_link_libraries(
libhostcommon
${CORECLR_LIBRARIES}
- ${ZLIB_LIBRARIES}
- ${LIBGSS}
- ${NATIVE_LIBS_EXTRA}
-
${START_WHOLE_ARCHIVE}
${RUNTIMEINFO_LIB}
${NATIVE_LIBS}
${END_WHOLE_ARCHIVE}
+
+ ${ZLIB_LIBRARIES}
+ ${LIBGSS}
+ ${NATIVE_LIBS_EXTRA}
)
--
2.34.0

View file

@ -0,0 +1,30 @@
From a557508590dca1536345e13ba1b043f33defe13a Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Wed, 1 Dec 2021 02:52:05 +0000
Subject: [PATCH] Fix last version digit present on alpine non-portable
untime adds the extra subversion in its calculation of Alpine's
DistroRID when a non-portable build, but does so inconsistently.
This creates an error when it generates its nuget package.
(https://github.com/dotnet/runtime/pull/62942)
---
eng/native/init-distro-rid.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eng/native/init-distro-rid.sh b/eng/native/init-distro-rid.sh
index b6921a90346..091738944a7 100644
--- a/eng/native/init-distro-rid.sh
+++ b/eng/native/init-distro-rid.sh
@@ -41,7 +41,7 @@ initNonPortableDistroRid()
# We have forced __PortableBuild=0. This is because -portablebuld
# has been passed as false.
if (( isPortable == 0 )); then
- if [ "${ID}" = "rhel" ]; then
+ if [ "${ID}" = "rhel" ] || [ "${ID}" = "alpine" ]; then
# remove the last version digit
VERSION_ID="${VERSION_ID%.*}"
fi
--
2.34.0

View file

@ -0,0 +1,31 @@
From c897096d5bac2bab228779a2c5602fc4bd296a0a Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sun, 2 Jan 2022 21:59:58 +0000
Subject: [PATCH 1/2] use version 5.0.4 of
MicrosoftNETCorePlatformsPackageVersion for up-to-date RIDs
In stock build, an old version of MicrosoftNETCorePlatformsPackage is used.
Thus, dotnet5-runtime is shipped without RIDs for alpine 3.13 and up, causing
a segmentation fault for dotnet projects. Related to dotnet/runtime#24189 and
dotnet/runtime#50739. This patches eng/Versions.props to use latest version.
---
eng/Versions.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eng/Versions.props b/eng/Versions.props
index 89c46cbb735..8ddd5d17900 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -66,7 +66,7 @@
<!-- CoreClr dependencies -->
<MicrosoftNETCoreILAsmVersion>5.0.0-preview.8.20359.4</MicrosoftNETCoreILAsmVersion>
<!-- Libraries dependencies -->
- <MicrosoftNETCorePlatformsPackageVersion>5.0.0</MicrosoftNETCorePlatformsPackageVersion>
+ <MicrosoftNETCorePlatformsPackageVersion>5.0.4</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCoreTargetsPackageVersion>5.0.0</MicrosoftNETCoreTargetsPackageVersion>
<SystemBuffersVersion>4.5.1</SystemBuffersVersion>
<SystemCollectionsVersion>4.3.0</SystemCollectionsVersion>
--
2.34.1

View file

@ -0,0 +1,26 @@
From f4cd793116461ec3794799e89d0b213516c94868 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Fri, 21 Jan 2022 19:22:34 +0000
Subject: [PATCH 1/1] Optouts of telemetry
Optouts of telemetry gathering
---
src/Cli/dotnet/Program.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Cli/dotnet/Program.cs b/src/Cli/dotnet/Program.cs
index f8114728c0..26982c0f6c 100644
--- a/src/Cli/dotnet/Program.cs
+++ b/src/Cli/dotnet/Program.cs
@@ -187,7 +187,7 @@ internal static int ProcessArgs(string[] args, TimeSpan startupTime, ITelemetry
bool generateAspNetCertificate =
environmentProvider.GetEnvironmentVariableAsBool("DOTNET_GENERATE_ASPNET_CERTIFICATE", defaultValue: true);
bool telemetryOptout =
- environmentProvider.GetEnvironmentVariableAsBool("DOTNET_CLI_TELEMETRY_OPTOUT", defaultValue: false);
+ environmentProvider.GetEnvironmentVariableAsBool("DOTNET_CLI_TELEMETRY_OPTOUT", defaultValue: true);
bool addGlobalToolsToPath =
environmentProvider.GetEnvironmentVariableAsBool("DOTNET_ADD_GLOBAL_TOOLS_TO_PATH", defaultValue: true);
bool nologo =
--
2.34.1

View file

@ -1,12 +1,31 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
# Build vars
_llvmver=12
pkgname=dotnet5
pkgdesc="The .NET Core SDK"
pkgver=5.0.209
pkgrel=2
pkgrel=0
_pkgrel=".1-SDK"
_runtimever=5.0.12
_sdkver=$pkgver
_aspnetver=$_runtimever
_llvmver=12
_patches="
application-insights_fix-net40-location.patch
build_darc-use-available-runtime.patch
build_darc-fix-alpine.patch
roslyn_added-previously-built-artifacts-repo.patch
runtime_add-rid-for-alpine-315.patch
runtime_use-latest-microsoftnetcoreplatformspackage.patch
runtime_link-order.patch
runtime_non-portable-distrorid-fix-alpine.patch
sdk_telemetry-optout.patch
"
default_prepare() {
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
sed -i "s|/path/to/artifacts|/usr/share/dotnet/artifacts/$_artifactsver|" "$srcdir"/roslyn_added-previously-built-artifacts-repo.patch
}
_pkgver_macro=${pkgver%.*}
_pkgver_prior=${pkgver%.*.*}
_pkgver_name=${_pkgver_macro//[.0]}
pkgdesc="The .NET $_pkgver_macro SDK"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
@ -14,56 +33,36 @@ makedepends="
bash
clang
cmake
dotnet$_pkgver_name-bootstrap-runtime
dotnet$_pkgver_name-bootstrap-sdk
dotnet$_pkgver_name-bootstrap-artifacts
dotnet$_pkgver_name-bootstrap-references
findutils
git
icu-dev
inetutils-syslogd
krb5-dev
libgit2-dev
libintl
libunwind-dev
libxml2-dev
libxml2-utils
linux-headers
lldb-dev
libintl
llvm$_llvmver-dev
lttng-ust-dev
nodejs
openssl-dev
linux-headers
zlib-dev
dotnet5-bootstrap-runtime
dotnet5-bootstrap-sdk
"
subpackages="
dotnet5-sdk:sdk
dotnet5-host:host
dotnet5-runtime:runtime
aspnet5-runtime:aspnet_runtime:noarch
netstandard5-targeting-pack:netstandard_targeting_pack:noarch
dotnet5-targeting-pack:targeting_pack
aspnet5-targeting-pack:aspnet_targeting_pack:noarch
"
_gittag=v$pkgver.1-SDK
_giturl=https://github.com/dotnet/source-build
options="!check" # No test suite
source="
$pkgname-$_gittag.tar.gz::$_giturl/archive/refs/tags/$_gittag.tar.gz
source-build-v$pkgver$_pkgrel.tar.gz::https://github.com/dotnet/source-build/archive/refs/tags/v$pkgver$_pkgrel.tar.gz
completions.zsh::https://raw.githubusercontent.com/dotnet/sdk/7cec6d9fe5cb326a88091ae44204f52e1f00e69c/scripts/_dotnet
dotnet.sh
application-insights_fix-net40-location.patch
build_darc-push-version.patch
build_darc-disable-runtime-retrieval.patch
runtime_add-rid-for-alpine-315.patch
runtime_link-order.patch
runtime_non-portable-distrorid-fix-alpine.patch
sdk_telemetry-optout.patch
$_patches
"
_srcbld="source-build-$(echo $_gittag | sed 's|v||')"
builddir="$srcdir/$_srcbld"
# Disables dependency tracing for symlinks, thus fixing per-subpkg pkgver setting
scan_symlink_targets() {
return
}
builddir="$srcdir/source-build-$pkgver$_pkgrel"
_patch() {
local i failed=
if ! have_patches; then
@ -74,18 +73,18 @@ _patch() {
for i in $source; do
case ${i%::*} in
build_*.patch)
echo "applying $i to sourcebuild"
patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i"
;;
*.patch)
local _package=$(echo $i | sed 's|_.*||')
local _patch=$(echo $i | sed "s|$_package/_||")
echo "cp $_patch -> $_package"
local _patch=$(echo $i | sed "s|$_package\_||")
echo "deploying $_patch to $_package for application by sourcebuild"
[ -d patches/$_package ] || mkdir patches/$_package
cp "$srcdir"/"$i" patches/$_package/$_patch
;;
esac
done
if [ -z "$failed" ]; then
return 0
fi
@ -94,160 +93,247 @@ _patch() {
printf " %s\n" "$i"
done
}
prepare() {
_patch
msg "Settings up bootstrap SDK"
cp -r /usr/share/dotnet/* ./
if [ "$(find sdk -type d -not -name '5.0.*' -maxdepth 1 -mindepth 1)" ]; then
find sdk -type d -not -name '5.0.*' -maxdepth 1 -mindepth 1 -print0 | xargs -0 rm -R --
fi
# disable warnings
sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props
# Git init for Darc
default_prepare
git init
git add ./* >/dev/null 2>&1
git commit -m 'initial commit' >/dev/null 2>&1
git remote add origin https://github.com/dotnet/source-build.git > /dev/null 2>&1
_patch
msg "Settings up bootstrap"
mkdir -p bootstrap/sdk
cp /usr/share/dotnet/dotnet bootstrap/.
local _bootstrapver=$(find /usr/share/dotnet/sdk/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
for i in sdk/$_bootstrapver host shared; do cp -r /usr/share/dotnet/$i bootstrap/$i; done
mkdir -p packages/archive
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
tar cvzf packages/archive/Private.SourceBuilt.Artifacts.tar.gz -C "/usr/share/dotnet/artifacts/$_artifactsver" . >/dev/null 2>&1
tar cvzf packages/archive/Private.SourceBuild.ReferencePackages.tar.gz -C "/usr/share/dotnet/reference-packages/$_pkgver_macro" . >/dev/null 2>&1
}
build() {
msg "Building $pkgname-$pkgver"
export SOURCE_BUILD_SKIP_SUBMODULE_CHECK=1
export COMPlus_LTTng=0
./build.sh \
--with-sdk ../$_srcbld \
/p:ArchiveDownloadedPackages=true \
--with-sdk bootstrap \
/p:SkipDownloadingPreviouslySourceBuiltPackages=true \
/p:SkipDownloadingReferencePackages=true \
/p:ContinueOnPrebuiltBaselineError=true \
/p:SkipPortableRuntimeBuild=true \
/p:SkipPrebuiltEnforcement=true \
/p:UseSystemLibraries=true \
/p:UseSystemLibunwind=true
}
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}
_update_stage1() {
local pwd=$(pwd)
rm ../dotnet$_pkgver_name-stage1/*.patch ../dotnet$_pkgver_name-stage1/dotnet.sh
for i in ../dotnet"$_pkgver_name"/*.patch ../dotnet"$_pkgver_name"/dotnet.sh; do
cp $i ${i/$_pkgver_name/$_pkgver_name-stage1}
done
{
echo -n "# "
echo "Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>"
echo ". ../dotnet$_pkgver_name/APKBUILD"
sed "s/pkgname=dotnet$_pkgver_name/pkgname=dotnet$_pkgver_name-stage1/" ../dotnet$_pkgver_name/lib/00_main.sh
echo "makedepends=\"\${makedepends//$_pkgver_name-bootstrap/$_pkgver_name-stage0}\""
} > ../dotnet$_pkgver_name-stage1/APKBUILD
cd ../dotnet$_pkgver_name-stage1
abuild checksum
cd "$pwd"
}
subpackages="
aspnetcore$_pkgver_name-runtime:aspnetcore_runtime:noarch
aspnetcore$_pkgver_name-targeting-pack:aspnetcore_targeting_pack:noarch
dotnet$_pkgver_name-apphost-pack:apphost_pack
dotnet$_pkgver_name-artifacts:artifacts
dotnet$_pkgver_name-host:host
dotnet$_pkgver_name-host-zsh-completion:zshcomp
dotnet$_pkgver_name-host-bash-completion:bashcomp
dotnet$_pkgver_name-host-doc:doc
dotnet$_pkgver_name-hostfxr:hostfxr
dotnet$_pkgver_name-runtime:runtime
dotnet$_pkgver_name-sdk:sdk
dotnet$_pkgver_name-targeting-pack:targeting_pack:noarch
dotnet$_pkgver_name-templates:templates:noarch
netstandard$_pkgver_name-targeting-pack:netstandard_targeting_pack:noarch
"
package() {
depends="
dotnet5-sdk
dotnet-host
dotnet5-runtime
dotnet5-targeting-pack
aspnet5-runtime
aspnet5-targeting-pack
netstandard21-targeting-pack
"
export _runtimever=$(xmllint --xpath "//Dependency[@Name='Microsoft.NETCore.App.Runtime.win-x64']/@Version" "$builddir"/eng/Version.Details.xml | cut -d '=' -f 2 | sed 's/^"//; s/"$//')
export _sdkver=$(xmllint --xpath "//Dependency[@Name='Microsoft.NET.Sdk']/@Version" "$builddir"/eng/Version.Details.xml | cut -d '=' -f 2 | sed 's/^"//; s/"$//; s/-rtm.*//; s/-servicing.*//')
mkdir -p "$pkgdir"
depends="dotnet$_pkgver_name-sdk"
provides=dotnet-$_pkgver_macro
install -dm 755 "$pkgdir"/usr/share/zsh/site-functions "$pkgdir"/usr/share/bash-completion/completions "$pkgdir"/usr/share/man/man1
find "$builddir" -iname 'dotnet*.1' -type f -exec cp '{}' "$pkgdir"/usr/share/man/man1/ \;
install -m 755 "$srcdir"/completions.zsh "$pkgdir"/usr/share/zsh/site-functions/_dotnet
install -m 755 "$builddir"/artifacts/src/sdk/scripts/register-completions.bash "$pkgdir"/usr/share/bash-completion/completions/_dotnet
}
sdk() {
pkgver="$_sdkver"
depends="
dotnet5-runtime
dotnet5-targeting-pack
aspnetcore$_pkgver_name-runtime
aspnetcore$_pkgver_name-targeting-pack
dotnet$_pkgver_name-apphost-pack
dotnet$_pkgver_name-runtime
dotnet$_pkgver_name-targeting-pack
dotnet$_pkgver_name-templates
netstandard21-targeting-pack
aspnet5-targeting-pack
"
provides="dotnet5-bootstrap-sdk"
provider_priority=100
pkgver=$_sdkver
provider_priority=$_pkgver_prior
provides="dotnet$_pkgver_name-bootstrap-sdk dotnet-sdk-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet5-sdk
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
pkgver=$_runtimever
provides=dotnet-host
provider_priority=100
provides="dotnet-host"
provider_priority=$_pkgver_prior
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet ./host
tar -xzf dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
ln -s /usr/share/dotnet/host/fxr/$pkgver/libhostfxr.so "$subpkgdir"/usr/lib/libhostfxr.so
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
runtime() {
pkgdesc="The .NET Core runtime"
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet5-bootstrap-runtime"
provider_priority=100
cd "$builddir"/artifacts/x64/Release
provides="dotnet-hostfxr-$_pkgver_macro"
provider_priority=$_pkgver_prior
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet5-runtime
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
aspnet_runtime() {
pkgdesc="The ASP.NET Core runtime"
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime"
pkgver=$_runtimever
depends="dotnet5-runtime"
depends="dotnet$_pkgver_name-hostfxr"
provides="
dotnet$_pkgver_name-bootstrap-runtime
dotnet-runtime-$_pkgver_macro
"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.AspNetCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnet5-runtime
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
netstandard_targeting_pack() {
pkgdesc="The .NET Standard targeting pack"
pkgver=$_sdkver
provides="netstandard21-targeting-pack"
provider_priority=100
aspnetcore_runtime() {
pkgdesc="The ASP.NET $_pkgver_macro Core runtime"
pkgver=$_aspnetver
depends="dotnet$_pkgver_name-runtime"
provides="aspnetcore-runtime-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/NETStandard.Library.Ref
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.AspNetCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-runtime
}
apphost_pack() {
pkgdesc="The .NET $_pkgver_macro Core apphost pack"
pkgver=$_aspnetver
provides="dotnet-apphost-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner --wildcards ./packs/Microsoft.NETCore.App.Host.*
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-apphost-pack
}
targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
provides="dotnet-targeting-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.NETCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-targeting-pack
}
netstandard_targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Standard targeting pack"
pkgver=$_sdkver
depends="dotnet-host"
provides="
netstandard21-targeting-pack
netstandard-targeting-pack-2.1
"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/NETStandard.Library.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/netstandard21-targeting-pack
}
targeting_pack() {
pkgdesc="The .NET Core targeting pack"
aspnetcore_targeting_pack() {
pkgdesc="The ASP.NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
depends="netstandard21-targeting-pack"
provides="aspnetcore-targeting-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner --wildcards ./packs/Microsoft.NETCore.App.Host.* ./packs/Microsoft.NETCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet5-targeting-pack
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-targeting-pack
}
aspnet_targeting_pack() {
pkgdesc="The ASP.NET Core targeting pack"
templates() {
pkgdesc="The .NET $_pkgver_macro templates"
depends="dotnet-host"
pkgver="$_sdkver"
provider_priority=$_pkgver_prior
provides="dotnet-templates-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-templates
}
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit"
depends="dotnet-host"
pkgver=$_sdkver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xzf Private.SourceBuilt.Artifacts.*.tar.gz -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
zshcomp() {
default_zshcomp
pkgdesc="zsh completion for .NET $_pkgver_macro"
pkgver=$_runtimever
depends="dotnet5-targeting-pack"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnet5-targeting-pack
depends="dotnet-host"
provides="dotnet-host-zsh-completion"
provider_priority=$_pkgver_prior
}
bashcomp() {
default_bashcomp
pkgdesc="bash completion for .NET $_pkgver_macro"
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-host-bash-completion"
provider_priority=$_pkgver_prior
}
doc() {
default_doc
pkgdesc="Docs for .NET $_pkgver_macro"
pkgver="$_runtimever"
provides="dotnet-host-doc"
provider_priority=$_pkgver_prior
}
sha512sums="
9e5a762ae9e90bac51b586cb084d92581ee9eaabd620852273eab5a463f676e285f071ec734f4f18b587584edfde44597a1d21ce10af5dc7cb4dba2c1a187436 dotnet5-v5.0.209.1-SDK.tar.gz
9e5a762ae9e90bac51b586cb084d92581ee9eaabd620852273eab5a463f676e285f071ec734f4f18b587584edfde44597a1d21ce10af5dc7cb4dba2c1a187436 source-build-v5.0.209.1-SDK.tar.gz
d0aecbf13e6781ef867021085e0d4a55e5f24dddfd175e4d0ce651fdb9c8e330636b2c69e3c4491442e5dd32c6859f38388006b3fe36fac2226837e1bc4107c9 completions.zsh
f58bd83b709dcb4b0b67830756069c34258a167b33cb290cbf30f21d69d75402d38e013fd7bbf00640fe19e397f78df6ff787cf8484ee8967d5b8809f033eafb dotnet.sh
0469d571d0f7634d3794761f04e1cbff9d27d642d134a11a13560574280e5cab6f366eb8820e61a449eca99470fdea8d9f6a7d97b633059b2fe25257ed1579e6 application-insights_fix-net40-location.patch
200595ebcd7724ec58781199f8e5b3a6cf41050b2006e0e970b54e69d5905653056d0859eae7fccbc3dfdf6f8e9914d496e0f39074a9ede98fbab9b4cb713ab9 build_darc-push-version.patch
07d1cbfb0d7ee8c673a96b30b7c05fe7cab91b11387175712bd721b57342c293f790ad8ff36ccf56e5078cb708266b7386ebb807ab99290facfdd953419de2f7 build_darc-disable-runtime-retrieval.patch
4899175597a1d4cd14c382469fe17e6d8d4644b784dca02eb2d4f71afa8e898e60269d5b0cdfea6e3ed6dc92feb676c6db21aae3bcb206d859c02cd10cdcaca0 runtime_add-rid-for-alpine-315.patch
0d6ca9b4c6bb0999102f8a51b408c6f938d7262af552d63ef180fdc9a48bba940d0437d0d06916c3f7be7e70e2717a46a4ebc91c0f85467cbc7776b944eca83e runtime_link-order.patch
6dd3ff4db79aa95fa37ba4011da82c74d8ac83a7a92124fc4a97bd78b818b024b569df293b1edae2b16d8161c76b6a00e1c81bd421480e367925af64673b0f84 runtime_non-portable-distrorid-fix-alpine.patch
c96700138ea919c169c3a394f1bf9548c7f86b1ba42b193d6e7bb0a1e2bd6f7f202befbc61246a8720181cd40e1f7fa36a6c208eb19b03a23e21994136fb2507 sdk_telemetry-optout.patch
09e8ba94973d4ab1017818eba7e13c4bda97b658dc6e0c15becb5211d15cad42df484b4c18f25f5dca1a02e647221013378ceb5c77a4046a107ff36df92641d2 application-insights_fix-net40-location.patch
d7ade1fea4bdf983e34827e5b729b406cdc08a36582a7c60510663742bcd6f0ad6720e8eca95399eb5d1ca05468e984ba622e92f6e964834c02df2e2db4e4f3e build_darc-use-available-runtime.patch
3a9ad06c927aafba4bf8fff3b369de2f8c114bd50037dff611491ce5cf65e6849a82a6752d49224e5dc75b6f08b6ec671ec12e73bd9b33a8829ee7347892cbe3 build_darc-fix-alpine.patch
25bc54272a74a7f3be686936d7c6465fb0f5f14238143738ce668159289f4567aec3f81dc12bd04bb158dd2d7f1a4f340ba541724410d029868775dcdc657003 roslyn_added-previously-built-artifacts-repo.patch
5a1c560b8078ba17d18f50ec78c8da45ed4d39b430ab47a31d829a3e9ce38cc7e3a92ee6a1f89f249e49b95e653bcf2409f4781c872134a69ce24e617dc49b32 runtime_add-rid-for-alpine-315.patch
2accd945ab49c3ac70e9ef8e5040b8f608771fac87525490804df7bc2607ca4e733502624b7c54b27b31ed907f5cb285e863eda0ee396aa8bce6d4dfaffec499 runtime_use-latest-microsoftnetcoreplatformspackage.patch
19a4b0e74f4e118a252c7c2231f955c3dc8ef9a0471e626f46dc7d7b3a34291ee479401966d4b58f1495daacbe7855ed5862522affd714dd11d8e2ef75151f1b runtime_link-order.patch
eaac9669bf68df73ffa242d452f1bd471e3aa346d7f8a57fa42463ac1fda1484d91447644d773911e7e5c94c7947caa0e45cac26f31ad7986bcd22884cda14d9 runtime_non-portable-distrorid-fix-alpine.patch
8865df32367e0e404f2fb020cfee77cc2a06cf3fcb579ae5b8df94fa701ab7877be11310181f0b628d140353c9a4f54e802ae8129e410bfee431c8ddc0bb5800 sdk_telemetry-optout.patch
"

View file

@ -1,53 +1,38 @@
# Description
APKBUILD for dotnet5
# Generated packages
* aspnet5-runtime
* aspnet5-targeting-pack
* dotnet5-apphost-pack (used by dotnet5-runtime)
* dotnet5-artifacts (provides dotnet5-bootstrap-artifacts)
* dotnet5-host (provides dotnet-host)
* dotnet5-host-zsh-completion (provides dotnet-host-zsh-completion)
* dotnet5-host-bash-completion (provides dotnet-host-bash-completion)
* dotnet5-host-doc (docs for dotnet5)
* dotnet5-hostfxr (provides fxr for host)
* dotnet5-runtime (provides dotnet5-bootstrap-runtime)
* dotnet5-sdk (provides dotnet5-bootstrap-sdk)
* dotnet5-targeting-pack
* dotnet5-templates (required by sdk)
* netstandard5-targeting-pack (provides netstandard21-targeting-pack)
# How to build dotnet5 stack
(note: dotnet31 only needed for Darc, which usually retrieves the 3.1.1 runtime
automatically. Per preference of using repo versions of runtimes, retrieval
is disabled by patch)
* Build testing/dotnet31-stage0 first (provides binary
dotnet31-bootstrap-runtime / sdk and dotnet-host)
* Build testing/dotnet31 once (with binary bootstraps, provides repo versions
of above packages, and more)
* Build testing/dotnet31 again (with repo bootstraps, provides full repo
versions)
* Build testing/dotnet5-stage0 (provides dotnet5-bootstrap-runtime / sdk)
* Build testing/dotnet5 once (using dotnet31 runtime bootstrap and
dotnet5-stage0 runtime / sdk bootstrap)
* Build testing/dotnet5 again (with repo bootstraps, provides full repo
* Build testing/dotnet5-stage1 (dotnet5-stage0 runtime / sdk bootstrap)
* Build testing/dotnet5-references (dotnet5 bootstrap and artifacts)
* Build testing/dotnet5 (with repo bootstraps, provides full repo
versions)
# Special functions
* ./build_apkbuild.sh: Builds APKBUILD using scripts in lib
* abuild _update_stage1: Updates dotnet5-stage1 to current version
# Known issues
* Build oddities here and there that the patches fix. In the process of
upstreaming to clear them out
* No check() mechanism, havn't found any docs for source-build tests
* Tested only build for x86_64. While dotnet supports aarch64 and
armv7, I have not attempted a build on these architectures due to apparent
lack of -stage0 binaries available for dotnet31.
# Patch notes
## application-insights_fix-net40-location.patch
Because paths on Linux are case sensitive. Applications insights looks
for <dotnet/applicationsinsights>/src/Core/Managed/net40 in net40
while the repo has a Net40. Patch moves whatever is in Net40 to net40
## build_darc-fix-alpine.patch
Darc has a segmentation fault on Alpine due to not chosing the correct
binary architecture. This patch deletes all the wrong ones so that it
is forced to chose the correct one. See dotnet/source-build issue #1868.
## build_darc-disable-runtime-retrieval.patch
Darc needs runtime 3.1 to function, but still tries to download it even when
provided. This patch disables runtime retrieval, forcing Darc to use local
runtime.
## runtime_add-rid-for-alpine-315.patch
As of version 5.0.12, runtime does not have the RIDs for Alpine Linux 3.15.
This patch adds them. See dotnet/core issue #6985
## runtime_link-order.patch
For some reason, runtime does not link in the right order. This fixes that.
## runtime_non-portable-distrorid-fix-alpine.patch
Runtime adds the extra subversion in its calculation of Alpine's DistroRID
when a non-portable build, but does so inconsistently. This creates an error
when it generates its nuget package.
## sdk_telemetry-optout.patch
Optouts of telemetry gathering
* No check() mechanism, as no test suite
* While dotnet5 supports musl-arm64 musl-arm32 and musl-x64, builds for those
architectures probably need crosscompilation
* Latest version of lttng-ust (2.13) is broken with current version of dotnet,
thus disabled with COMPlus_LTTng=0 export before build

View file

@ -3,6 +3,11 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Fri, 4 Jun 2021 13:32:53 +0000
Subject: [PATCH] FIxed Net40 location
Because paths on Linux are case sensitive. Applications insights looks
for <dotnet/applicationsinsights>/src/Core/Managed/net40 in net40
while the repo has a Net40. Patch moves whatever is in Net40 to net40
(see https://github.com/microsoft/ApplicationInsights-dotnet/issues/2498)
---
src/Core/Managed/{Net40 => net40}/CorrelationHelper.cs | 0
1 file changed, 0 insertions(+), 0 deletions(-)

View file

@ -0,0 +1,9 @@
#/bin/bash
echo "# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>" > APKBUILD
apkbuild-lint lib/*
# Build APKBUILD
sed 's:^\s*#.*$::g' lib/* >> APKBUILD
sed -i '/^[[:space:]]*$/d' APKBUILD
abuild checksum

View file

@ -1,26 +0,0 @@
From 50f736ef0d60fbc8fbab636ee965272ef961a491 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Mon, 13 Dec 2021 02:26:25 +0000
Subject: [PATCH 1/1] Disable runtime 3.1.1 retrieval for Darc
---
build.sh | 3 ---
1 file changed, 3 deletions(-)
diff --git a/build.sh b/build.sh
index 161f6314..8decf9af 100755
--- a/build.sh
+++ b/build.sh
@@ -138,9 +138,6 @@ fi
set -x
scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-# runtime 3.1.1 required for darc
-"$scriptroot/eng/common/dotnet-install.sh" -runtime dotnet -version 3.1.1
-
if [ "$alternateTarget" == "true" ]; then
"$CLIPATH/dotnet" $SDKPATH/MSBuild.dll "$scriptroot/build.proj" /bl:source-build-test.binlog /flp:v=diag /clp:v=m "$@"
else
--
2.34.1

View file

@ -3,6 +3,13 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Thu, 15 Jul 2021 15:37:33 +0000
Subject: [PATCH 1/1] Fixed darc init for Alpine
Darc has a segmentation fault on Alpine due to not chosing the correct
binary architecture. This patch deletes all the wrong ones so that it
is forced to chose the correct one. This issue only occurs when using
dotnet-stage0-runtime, thus libunwind is suspected to be the issue as
stage0 wasn't built with system libunwind.
(see https://github.com/dotnet/source-build/issues/1868)
---
eng/common/darc-init.sh | 3 +++
1 file changed, 3 insertions(+)
@ -15,7 +22,7 @@ index 82b2b57..5227a37 100755
else
echo $($dotnet_root/dotnet tool install $darc_cli_package_name --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity --tool-path "$toolpath")
fi
+ for i in win* ubuntu.1* rhel-x64 osx fedora-x64 debian*; do
+ for i in win* ubuntu* rhel* osx fedora* debian*; do
+ rm -R $toolpath/.store/microsoft.dotnet.darc/*/microsoft.dotnet.darc/*/tools/netcoreapp3.0/any/runtimes/${i}
+ done
}

View file

@ -3,9 +3,14 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Wed, 15 Dec 2021 18:04:02 +0000
Subject: [PATCH 1/1] Makes darc use whatever runtime is available
Default version of Darc needs dotnet 3.1 runtimes, and fails to run on
Alpine. This patch fixes this by pushing Darc's version and disabling runtime
retrieval. Can't push it too much, though, as latest version breaks with
application-insights as it doesn't include a eng/Version.Details.xml file
(see https://github.com/dotnet/source-build/pull/2698)
---
DarcVersion.txt | 2 +-
Directory.Build.props | 2 +-
build.sh | 3 ---
3 files changed, 2 insertions(+), 5 deletions(-)
@ -15,20 +20,7 @@ index 3574ff78..a343dfd9 100644
+++ b/DarcVersion.txt
@@ -1 +1 @@
-1.1.0-beta.19568.2
+1.1.0-beta.21601.2
diff --git a/Directory.Build.props b/Directory.Build.props
index d1b268bf..ef0619d7 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -100,7 +100,7 @@
<TaskDirectory>$(ToolsLocalDir)tasks/</TaskDirectory>
<DarcInstallDir>$(DotNetCliToolDir)tools/</DarcInstallDir>
<DarcVersion>$([System.IO.File]::ReadAllText('$(ProjectDir)DarcVersion.txt').Trim())</DarcVersion>
- <DarcDll>$(DotNetCliToolDir)tools/.store/microsoft.dotnet.darc/$(DarcVersion)/microsoft.dotnet.darc/$(DarcVersion)/tools/netcoreapp3.0/any/Microsoft.DotNet.Darc.dll</DarcDll>
+ <DarcDll>$(DotNetCliToolDir)tools/.store/microsoft.dotnet.darc/$(DarcVersion)/microsoft.dotnet.darc/$(DarcVersion)/tools/netcoreapp3.1/any/Microsoft.DotNet.Darc.dll</DarcDll>
<XPlatTasksBinDir>$(TaskDirectory)Microsoft.DotNet.SourceBuild.Tasks.XPlat/bin/$(Configuration)/</XPlatTasksBinDir>
<XPlatSourceBuildTasksAssembly>$(XPlatTasksBinDir)Microsoft.DotNet.SourceBuild.Tasks.XPlat.dll</XPlatSourceBuildTasksAssembly>
+1.1.0-beta.20256.6
diff --git a/build.sh b/build.sh
index 161f6314..8decf9af 100755
--- a/build.sh

View file

@ -0,0 +1,29 @@
#
# Main functions for dotnet build version 5.0
#
pkgname=dotnet5
pkgver=5.0.209
pkgrel=0
_pkgrel=".1-SDK"
_runtimever=5.0.12
_sdkver=$pkgver
_aspnetver=$_runtimever
_llvmver=12
_patches="
application-insights_fix-net40-location.patch
build_darc-use-available-runtime.patch
build_darc-fix-alpine.patch
roslyn_added-previously-built-artifacts-repo.patch
runtime_add-rid-for-alpine-315.patch
runtime_use-latest-microsoftnetcoreplatformspackage.patch
runtime_link-order.patch
runtime_non-portable-distrorid-fix-alpine.patch
sdk_telemetry-optout.patch
"
# Custom preparation
default_prepare() {
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
sed -i "s|/path/to/artifacts|/usr/share/dotnet/artifacts/$_artifactsver|" "$srcdir"/roslyn_added-previously-built-artifacts-repo.patch
}

View file

@ -0,0 +1,46 @@
#
# Build variables for dotnet builds version 5.0 and under
#
# APKBuild
_pkgver_macro=${pkgver%.*}
_pkgver_prior=${pkgver%.*.*}
_pkgver_name=${_pkgver_macro//[.0]}
pkgdesc="The .NET $_pkgver_macro SDK"
arch="x86_64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
bash
clang
cmake
dotnet$_pkgver_name-bootstrap-runtime
dotnet$_pkgver_name-bootstrap-sdk
dotnet$_pkgver_name-bootstrap-artifacts
dotnet$_pkgver_name-bootstrap-references
findutils
git
icu-dev
inetutils-syslogd
krb5-dev
libgit2-dev
libintl
libunwind-dev
libxml2-dev
libxml2-utils
linux-headers
lldb-dev
llvm$_llvmver-dev
lttng-ust-dev
nodejs
openssl-dev
zlib-dev
"
options="!check" # No test suite
source="
source-build-v$pkgver$_pkgrel.tar.gz::https://github.com/dotnet/source-build/archive/refs/tags/v$pkgver$_pkgrel.tar.gz
completions.zsh::https://raw.githubusercontent.com/dotnet/sdk/7cec6d9fe5cb326a88091ae44204f52e1f00e69c/scripts/_dotnet
dotnet.sh
$_patches
"
builddir="$srcdir/source-build-$pkgver$_pkgrel"

View file

@ -0,0 +1,79 @@
#
# Build functions for dotnet builds version 5.0 and under
#
_patch() {
local i failed=
if ! have_patches; then
return 0
fi
[ -d "$builddir" ] || { error "Is \$builddir set correctly?"; return 1; }
msg "Deploying patches"
for i in $source; do
case ${i%::*} in
build_*.patch)
echo "applying $i to sourcebuild"
patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i"
;;
*.patch)
local _package=$(echo $i | sed 's|_.*||')
local _patch=$(echo $i | sed "s|$_package\_||")
echo "deploying $_patch to $_package for application by sourcebuild"
[ -d patches/$_package ] || mkdir patches/$_package
cp "$srcdir"/"$i" patches/$_package/$_patch
;;
esac
done
if [ -z "$failed" ]; then
return 0
fi
error "The following patches failed to apply:"
for i in $failed; do
printf " %s\n" "$i"
done
}
prepare() {
default_prepare
# source-build expects to be in a git repo
git init
git add ./* >/dev/null 2>&1
git commit -m 'initial commit' >/dev/null 2>&1
git remote add origin https://github.com/dotnet/source-build.git > /dev/null 2>&1
_patch
msg "Settings up bootstrap"
mkdir -p bootstrap/sdk
cp /usr/share/dotnet/dotnet bootstrap/.
local _bootstrapver=$(find /usr/share/dotnet/sdk/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
for i in sdk/$_bootstrapver host shared; do cp -r /usr/share/dotnet/$i bootstrap/$i; done
mkdir -p packages/archive
local _artifactsver=$(find /usr/share/dotnet/artifacts/$_pkgver_macro* -maxdepth 0 -type d | tail -n1 | sed 's|..*\/||')
tar cvzf packages/archive/Private.SourceBuilt.Artifacts.tar.gz -C "/usr/share/dotnet/artifacts/$_artifactsver" . >/dev/null 2>&1
tar cvzf packages/archive/Private.SourceBuild.ReferencePackages.tar.gz -C "/usr/share/dotnet/reference-packages/$_pkgver_macro" . >/dev/null 2>&1
}
build() {
msg "Building $pkgname-$pkgver"
export SOURCE_BUILD_SKIP_SUBMODULE_CHECK=1
# Disable tracing, which is incompatible with certain versions of
# lttng See https://github.com/dotnet/runtime/issues/57784. The
# suggested compile-time change doesn't work, unfrotunately.
export COMPlus_LTTng=0
./build.sh \
--with-sdk bootstrap \
/p:SkipDownloadingPreviouslySourceBuiltPackages=true \
/p:SkipDownloadingReferencePackages=true \
/p:ContinueOnPrebuiltBaselineError=true \
/p:SkipPortableRuntimeBuild=true \
/p:SkipPrebuiltEnforcement=true \
/p:UseSystemLibraries=true \
/p:UseSystemLibunwind=true
}

View file

@ -0,0 +1,23 @@
# abuild / buildrepo gets confused when setting pkgver var from within subpkgs
# This expresses itself in two ways:
# 1) scan_symlink_targets, when it detects symlink dependencies between subpkgs
# sets a hard dependency to that specific version of subpackage. Fixing this
# involves simply neutralizing scan_symlink_targets, leaving the maintainer
# to set those dependencies explicitely
# 2) abuild / buildrepo has logics to determine if a package should be rebuilt
# abuild uses apk_up2date and abuildindex_up2date, and buildrepo uses
# pkg.each_need_rebuild, then pkg.apk_file_exists. All of these rely on if
# there's a readable file at $repo/$CARCH/$name-$pkgver-r$pkgrel.apk
# Fixing this involves creating a symbolic link at that location that points
# to where the subpackage actually is.
# Fortunately, scan_symlink_targes has all the hooks necessary to create a
# symbolic link: it resides within a for loop that's based around subpkgdir,
# and feeds function with .PKGINFO info that allows for creation of symbolic
# link when necessary
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}

View file

@ -0,0 +1,20 @@
_update_stage1() {
local pwd=$(pwd)
# Update symbolic link to patches
rm ../dotnet$_pkgver_name-stage1/*.patch ../dotnet$_pkgver_name-stage1/dotnet.sh
for i in ../dotnet"$_pkgver_name"/*.patch ../dotnet"$_pkgver_name"/dotnet.sh; do
cp $i ${i/$_pkgver_name/$_pkgver_name-stage1}
done
# Generate stage1
{
echo -n "# "
echo "Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>"
echo ". ../dotnet$_pkgver_name/APKBUILD"
sed "s/pkgname=dotnet$_pkgver_name/pkgname=dotnet$_pkgver_name-stage1/" ../dotnet$_pkgver_name/lib/00_main.sh
echo "makedepends=\"\${makedepends//$_pkgver_name-bootstrap/$_pkgver_name-stage0}\""
} > ../dotnet$_pkgver_name-stage1/APKBUILD
cd ../dotnet$_pkgver_name-stage1
abuild checksum
cd "$pwd"
}

View file

@ -0,0 +1,221 @@
#
# Packaging functions for dotnet builds 5.0 and under
#
subpackages="
aspnetcore$_pkgver_name-runtime:aspnetcore_runtime:noarch
aspnetcore$_pkgver_name-targeting-pack:aspnetcore_targeting_pack:noarch
dotnet$_pkgver_name-apphost-pack:apphost_pack
dotnet$_pkgver_name-artifacts:artifacts
dotnet$_pkgver_name-host:host
dotnet$_pkgver_name-host-zsh-completion:zshcomp
dotnet$_pkgver_name-host-bash-completion:bashcomp
dotnet$_pkgver_name-host-doc:doc
dotnet$_pkgver_name-hostfxr:hostfxr
dotnet$_pkgver_name-runtime:runtime
dotnet$_pkgver_name-sdk:sdk
dotnet$_pkgver_name-targeting-pack:targeting_pack:noarch
dotnet$_pkgver_name-templates:templates:noarch
netstandard$_pkgver_name-targeting-pack:netstandard_targeting_pack:noarch
"
package() {
depends="dotnet$_pkgver_name-sdk"
provides=dotnet-$_pkgver_macro
install -dm 755 "$pkgdir"/usr/share/zsh/site-functions "$pkgdir"/usr/share/bash-completion/completions "$pkgdir"/usr/share/man/man1
find "$builddir" -iname 'dotnet*.1' -type f -exec cp '{}' "$pkgdir"/usr/share/man/man1/ \;
install -m 755 "$srcdir"/completions.zsh "$pkgdir"/usr/share/zsh/site-functions/_dotnet
install -m 755 "$builddir"/artifacts/src/sdk/scripts/register-completions.bash "$pkgdir"/usr/share/bash-completion/completions/_dotnet
}
sdk() {
pkgver="$_sdkver"
depends="
aspnetcore$_pkgver_name-runtime
aspnetcore$_pkgver_name-targeting-pack
dotnet$_pkgver_name-apphost-pack
dotnet$_pkgver_name-runtime
dotnet$_pkgver_name-targeting-pack
dotnet$_pkgver_name-templates
netstandard21-targeting-pack
"
provider_priority=$_pkgver_prior
provides="dotnet$_pkgver_name-bootstrap-sdk dotnet-sdk-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
pkgver=$_runtimever
provides="dotnet-host"
provider_priority=$_pkgver_prior
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-hostfxr-$_pkgver_macro"
provider_priority=$_pkgver_prior
cd $builddir/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime"
pkgver=$_runtimever
depends="dotnet$_pkgver_name-hostfxr"
provides="
dotnet$_pkgver_name-bootstrap-runtime
dotnet-runtime-$_pkgver_macro
"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
aspnetcore_runtime() {
pkgdesc="The ASP.NET $_pkgver_macro Core runtime"
pkgver=$_aspnetver
depends="dotnet$_pkgver_name-runtime"
provides="aspnetcore-runtime-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.AspNetCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-runtime
}
apphost_pack() {
pkgdesc="The .NET $_pkgver_macro Core apphost pack"
pkgver=$_aspnetver
provides="dotnet-apphost-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner --wildcards ./packs/Microsoft.NETCore.App.Host.*
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-apphost-pack
}
targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
provides="dotnet-targeting-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.NETCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-targeting-pack
}
netstandard_targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Standard targeting pack"
pkgver=$_sdkver
depends="dotnet-host"
provides="
netstandard21-targeting-pack
netstandard-targeting-pack-2.1
"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/NETStandard.Library.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/netstandard21-targeting-pack
}
aspnetcore_targeting_pack() {
pkgdesc="The ASP.NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
provides="aspnetcore-targeting-pack-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-targeting-pack
}
templates() {
pkgdesc="The .NET $_pkgver_macro templates"
depends="dotnet-host"
pkgver="$_sdkver"
provider_priority=$_pkgver_prior
provides="dotnet-templates-$_pkgver_macro"
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf dotnet-sdk-$_pkgver_macro*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-templates
}
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit"
depends="dotnet-host"
pkgver=$_sdkver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
cd "$builddir"/artifacts/x64/Release
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xzf Private.SourceBuilt.Artifacts.*.tar.gz -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
zshcomp() {
default_zshcomp
pkgdesc="zsh completion for .NET $_pkgver_macro"
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-host-zsh-completion"
provider_priority=$_pkgver_prior
}
bashcomp() {
default_bashcomp
pkgdesc="bash completion for .NET $_pkgver_macro"
pkgver=$_runtimever
depends="dotnet-host"
provides="dotnet-host-bash-completion"
provider_priority=$_pkgver_prior
}
doc() {
default_doc
pkgdesc="Docs for .NET $_pkgver_macro"
pkgver="$_runtimever"
provides="dotnet-host-doc"
provider_priority=$_pkgver_prior
}

View file

@ -0,0 +1,31 @@
From cd89c9d2f0a1692a8e12b7c00ba93168de716e0a Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Thu, 20 Jan 2022 14:24:10 +0000
Subject: [PATCH 1/1] roslyn_added-previously-built-artifacts-repo
On rebuild, roslyn cannot seem to find certain nuget packages that are
usually provided by artifacts. Thus, this adds a nuget repo that points
to a yet-to-be-defined /path/to/artifacts. APKBUILD, using sed, adds
correct path to /usr/share/dotnet/artifacts/$_artifactsver in
default_prepare() function
(see https://github.com/dotnet/source-build/issues/2695)
---
NuGet.config | 1 +
1 file changed, 1 insertion(+)
diff --git a/NuGet.config b/NuGet.config
index 3cd2f6f4e6a..80f080d84e6 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -3,6 +3,7 @@
<configuration>
<packageSources>
<clear />
+ <add key="previously-source-built" value="/path/to/artifacts/" />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<add key="dotnet5" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json" />
--
2.34.1

View file

@ -1,16 +1,20 @@
From 09e477fd876de48614d728fbd6582db2a0f203b7 Mon Sep 17 00:00:00 2001
From 01a517aee9ad501c2b7dd90e44e316ffb8e2c35d Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Mon, 29 Nov 2021 20:39:25 +0000
Subject: [PATCH 1/1] add RID for Alpine 3.15
Date: Sun, 2 Jan 2022 22:00:09 +0000
Subject: [PATCH 2/2] add RID for Alpine 3.15
As of version 5.0.12, runtime does not have the RIDs for Alpine Linux 3.15.
This patch adds them. See dotnet/core issue #6985
(see https://github.com/dotnet/runtime/pull/62938)
---
.../runtime.compatibility.json | 116 +++++++++++++++++-
.../Microsoft.NETCore.Platforms/runtime.json | 25 +++-
.../runtime.compatibility.json | 114 ++++++++++++++++++
.../Microsoft.NETCore.Platforms/runtime.json | 23 ++++
.../runtimeGroups.props | 2 +-
3 files changed, 140 insertions(+), 3 deletions(-)
3 files changed, 138 insertions(+), 1 deletion(-)
diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
index 844590f8022..7d7517f043b 100644
index 844590f8022..6ff9cdd2cae 100644
--- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
+++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
@@ -508,6 +508,120 @@
@ -18,7 +22,7 @@ index 844590f8022..7d7517f043b 100644
"base"
],
+ "alpine.3.15": [
+ "alpine.3.15",
+ "alpine.3.15",
+ "alpine.3.14",
+ "alpine.3.13",
+ "alpine.3.12",
@ -134,15 +138,8 @@ index 844590f8022..7d7517f043b 100644
"alpine.3.6": [
"alpine.3.6",
"alpine",
@@ -7239,4 +7353,4 @@
"any",
"base"
]
-}
\ No newline at end of file
+}
diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json
index 7d6aa102b50..ea7eac422b8 100644
index 7d6aa102b50..a663a88166e 100644
--- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json
+++ b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtime.json
@@ -138,6 +138,29 @@
@ -175,13 +172,6 @@ index 7d6aa102b50..ea7eac422b8 100644
"alpine.3.6": {
"#import": [
"alpine"
@@ -3196,4 +3219,4 @@
]
}
}
-}
\ No newline at end of file
+}
diff --git a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props b/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
index 3cb3d2df858..c7a346d1672 100644
--- a/src/libraries/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
@ -196,5 +186,5 @@ index 3cb3d2df858..c7a346d1672 100644
<RuntimeGroup Include="android">
--
2.34.0
2.34.1

View file

@ -3,6 +3,7 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Wed, 1 Dec 2021 02:34:39 +0000
Subject: [PATCH 1/1] Runtime link order patch for alpine
For some reason, runtime does not link in the right order. This fixes that.
---
src/installer/corehost/cli/apphost/static/CMakeLists.txt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

View file

@ -3,6 +3,11 @@ From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Wed, 1 Dec 2021 02:52:05 +0000
Subject: [PATCH] Fix last version digit present on alpine non-portable
untime adds the extra subversion in its calculation of Alpine's
DistroRID when a non-portable build, but does so inconsistently.
This creates an error when it generates its nuget package.
(https://github.com/dotnet/runtime/pull/62942)
---
eng/native/init-distro-rid.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

View file

@ -0,0 +1,31 @@
From c897096d5bac2bab228779a2c5602fc4bd296a0a Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Sun, 2 Jan 2022 21:59:58 +0000
Subject: [PATCH 1/2] use version 5.0.4 of
MicrosoftNETCorePlatformsPackageVersion for up-to-date RIDs
In stock build, an old version of MicrosoftNETCorePlatformsPackage is used.
Thus, dotnet5-runtime is shipped without RIDs for alpine 3.13 and up, causing
a segmentation fault for dotnet projects. Related to dotnet/runtime#24189 and
dotnet/runtime#50739. This patches eng/Versions.props to use latest version.
---
eng/Versions.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/eng/Versions.props b/eng/Versions.props
index 89c46cbb735..8ddd5d17900 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -66,7 +66,7 @@
<!-- CoreClr dependencies -->
<MicrosoftNETCoreILAsmVersion>5.0.0-preview.8.20359.4</MicrosoftNETCoreILAsmVersion>
<!-- Libraries dependencies -->
- <MicrosoftNETCorePlatformsPackageVersion>5.0.0</MicrosoftNETCorePlatformsPackageVersion>
+ <MicrosoftNETCorePlatformsPackageVersion>5.0.4</MicrosoftNETCorePlatformsPackageVersion>
<MicrosoftNETCoreTargetsPackageVersion>5.0.0</MicrosoftNETCoreTargetsPackageVersion>
<SystemBuffersVersion>4.5.1</SystemBuffersVersion>
<SystemCollectionsVersion>4.3.0</SystemCollectionsVersion>
--
2.34.1

View file

@ -1,7 +1,18 @@
diff -rupN sdk.51369266643769f9f0c1184e89715cd1045126d0.orig/src/Cli/dotnet/Program.cs sdk.51369266643769f9f0c1184e89715cd1045126d0/src/Cli/dotnet/Program.cs
--- sdk.51369266643769f9f0c1184e89715cd1045126d0.orig/src/Cli/dotnet/Program.cs 2021-04-15 07:25:31.290095535 +0000
+++ sdk.51369266643769f9f0c1184e89715cd1045126d0/src/Cli/dotnet/Program.cs 2021-04-15 07:27:01.742066297 +0000
@@ -187,7 +187,7 @@ namespace Microsoft.DotNet.Cli
From f4cd793116461ec3794799e89d0b213516c94868 Mon Sep 17 00:00:00 2001
From: "build@apk-groulx" <build@apk-groulx.praxis>
Date: Fri, 21 Jan 2022 19:22:34 +0000
Subject: [PATCH 1/1] Optouts of telemetry
Optouts of telemetry gathering
---
src/Cli/dotnet/Program.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Cli/dotnet/Program.cs b/src/Cli/dotnet/Program.cs
index f8114728c0..26982c0f6c 100644
--- a/src/Cli/dotnet/Program.cs
+++ b/src/Cli/dotnet/Program.cs
@@ -187,7 +187,7 @@ internal static int ProcessArgs(string[] args, TimeSpan startupTime, ITelemetry
bool generateAspNetCertificate =
environmentProvider.GetEnvironmentVariableAsBool("DOTNET_GENERATE_ASPNET_CERTIFICATE", defaultValue: true);
bool telemetryOptout =
@ -10,3 +21,6 @@ diff -rupN sdk.51369266643769f9f0c1184e89715cd1045126d0.orig/src/Cli/dotnet/Prog
bool addGlobalToolsToPath =
environmentProvider.GetEnvironmentVariableAsBool("DOTNET_ADD_GLOBAL_TOOLS_TO_PATH", defaultValue: true);
bool nologo =
--
2.34.1

View file

@ -1,10 +1,17 @@
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
pkgname=dotnet6-stage0
pkgdesc="The .NET Core SDK"
pkgver=6.0.100
pkgrel=0
arch="x86_64"
_runtimever=6.0.0
_sdkver=$pkgver
_aspnetver=$_runtimever
_nappo_get="system.reactive.core.4.1.1.nupkg"
_bootstrapver=0.1.0-6.0.100-bootstrap.29
_pkgver_macro=${pkgver%.*}
_pkgver_prior=1
_pkgver_name="${_pkgver_macro//[.0]}"
arch="x86_64 armv7 aarch64"
url=https://www.microsoft.com/net/core
license="MIT"
makedepends="
@ -13,79 +20,284 @@ makedepends="
libintl
lttng-ust
zlib
"
subpackages="
dotnet6-stage0-runtime:runtime
dotnet6-stage0-sdk:sdk
dotnet6-stage0-host:host
py3-packaging
"
options="!check" # No test suite
case $CARCH in
x86_64)_arch=x64;;
aarch64)_arch=arm64;;
armv7)_arch=arm;;
esac
source="
https://dotnetcli.azureedge.net/dotnet/Sdk/$pkgver/dotnet-sdk-$pkgver-linux-musl-$_arch.tar.gz
_default_source="
https://pagure.io/dotnet-sig/dotnet6.0/raw/main/f/build-dotnet-tarball
https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.$_bootstrapver.tar.gz
https://gist.githubusercontent.com/omajid/c04b6025de49d0b7b18ab4a7e789484e/raw/b33c57f6bf9c00bb8633375123d2d3594fe81c26/nappo.py
dotnet.sh
"
builddir="$srcdir"
# Disables dependency tracing for symlinks, thus fixing per-subpkg pkgver setting
scan_symlink_targets() {
return
_get_arch() {
case $1 in
x86_64) local arch=x64;;
aarch64) local arch=arm64;;
armv7) local arch=arm;;
esac
echo $arch
}
unpack() {
verify
initdcheck
mkdir -p "$srcdir"
msg "Unpacking Private.SourceBuilt.Artifacts"
gunzip Private.SourceBuilt.Artifacts.*.tar.gz
}
scan_symlink_targets() {
local name="$1" dir="$2"
local ver=$(pkginfo_val pkgver "$dir"/.PKGINFO)
local subpkgarch=$(pkginfo_val arch "$dir"/.PKGINFO)
[ -d "$REPODEST"/${repo:?}/${subpkgarch/noarch/$CARCH} ] || mkdir -p "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}
[ "$ver" = "$pkgver-r$pkgrel" ] || ln -sf "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$ver.apk "$REPODEST"/$repo/${subpkgarch/noarch/$CARCH}/$name-$pkgver-r$pkgrel.apk
}
_update_source() {
[ -z "$source" ] \
&& msg "Removing source from APKBUILD"
sed -E -i \
-e '/^source=".*"$/d' \
-e '/^source="/,/"$/d' \
\
-e "/^source='.*'\$/d" \
-e "/^source='/,/'\$/d" \
APKBUILD
source="$_default_source"
fetch
local nuget_source="$_default_source"
msg "Updating source"
local nappo_get="$_nappo_get $(tar --list -f "$srcdir"/Private.SourceBuilt.Artifacts.*.tar.gz --wildcards '*.linux-x64.*' --exclude '*Intermediate*' 2>/dev/null)"
for package in $nappo_get; do
for _arch in $arch; do
local filename=${package##*/} # Extracts just filename
local suffix=${filename##*[0-9]} # Extracts what's after version number
local nupkg=${filename/$suffix} # Extracts nupkg name with version
[ -z "${filename##*servicing*}" ] && local nupkg=${filename%%-servicing*}
local name=${nupkg%*.*.*.*} # Extracts name without version
local version=${nupkg/$name.} # Extracts version out of nupkg using name
local name=${name/linux-x64/linux-musl-$(_get_arch $_arch)} # Converts to current arch
[ -z "${filename##*servicing*}" ] && local version=''
echo "Getting url for $name version $version, replaces $package"
local nappo_out=$(python3 "$srcdir"/nappo.py download --verbose "$name" "$version")
local nupkg="${nappo_out#*.nupkg}"
local uri=${nappo_out/$nupkg}
local nupkg=$(echo $nupkg | tr -d '\n')
[ -f "$nupkg" ] && mv $nupkg "$SRCDEST"/.
local nuget_source="$nuget_source $uri"
[ -z "${name##*linux*}" ] || break
done
done
for _arch in $arch; do
local nuget_source="$nuget_source https://dotnetcli.azureedge.net/dotnet/Sdk/$pkgver/dotnet-sdk-$pkgver-linux-musl-$(_get_arch $_arch).tar.gz"
done
local nuget_source="$(printf '%s\n' $nuget_source)"
printf 'source="\n%s\n"\n' "$nuget_source" >>"$APKBUILD"
}
subpackages="
aspnetcore$_pkgver_name-stage0-runtime:aspnetcore_runtime:noarch
aspnetcore$_pkgver_name-stage0-targeting-pack:aspnetcore_targeting_pack:noarch
dotnet$_pkgver_name-stage0-apphost-pack:apphost_pack
dotnet$_pkgver_name-stage0-artifacts:artifacts:noarch
dotnet$_pkgver_name-stage0-host:host
dotnet$_pkgver_name-stage0-hostfxr:hostfxr
dotnet$_pkgver_name-stage0-runtime:runtime
dotnet$_pkgver_name-stage0-sdk:sdk
dotnet$_pkgver_name-stage0-targeting-pack:targeting_pack:noarch
dotnet$_pkgver_name-stage0-templates:templates:noarch
netstandard$_pkgver_name-stage0-targeting-pack:netstandard_targeting_pack:noarch
"
package() {
export _runtimever=$("$srcdir"/dotnet --list-runtimes | awk '($1 == "Microsoft.NETCore.App"){print $2}')
export _sdkver=$("$srcdir"/dotnet --list-sdks | awk '{print $1}')
depends="
dotnet6-stage0-sdk
dotnet6-stage0-runtime
dotnet6-stage0-host
"
depends="dotnet$_pkgver_name-sdk"
provides="dotnet-$_pkgver_macro"
mkdir -p "$pkgdir"
}
sdk() {
pkgver="$_sdkver"
depends="
aspnetcore$_pkgver_name-stage0-runtime
aspnetcore$_pkgver_name-stage0-targeting-pack
dotnet$_pkgver_name-stage0-apphost-pack
dotnet$_pkgver_name-stage0-targeting-pack
dotnet$_pkgver_name-stage0-templates
netstandard21-targeting-pack
"
provider_priority=$_pkgver_prior
provides="dotnet$_pkgver_name-bootstrap-sdk"
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./sdk-manifests
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-sdk
}
host() {
pkgdesc="A generic driver for the .NET Core Command Line Interface"
pkgver=$_runtimever
provides=dotnet-host
provider_priority=1
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet ./host
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
provides="dotnet-host"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/etc/profile.d "$subpkgdir"/usr/bin "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses/dotnet-host
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./dotnet
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/licenses/dotnet-host/ --no-same-owner ./LICENSE.txt ./ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "$subpkgdir"/usr/bin/dotnet
install -Dm 644 "$srcdir"/dotnet.sh -t "$subpkgdir"/etc/profile.d/
}
sdk() {
pkgver=$_sdkver
depends="dotnet6-bootstrap-runtime"
provides=dotnet6-bootstrap-sdk
provider_priority=1
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./sdk ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet6-sdk
}
runtime() {
pkgdesc="The .NET Core runtime"
hostfxr() {
pkgdesc="The .NET host resolver contains the logic to resolve and select the right version of the .NET SDK or runtime to use."
pkgver=$_runtimever
depends="dotnet-host"
provides=dotnet6-bootstrap-runtime
provider_priority=1
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-*.tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet6-runtime
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./host
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-hostfxr
}
sha512sums="
428082c31fd588b12fd34aeae965a58bf1c26b0282184ae5267a85cdadc503f667c7c00e8641892c97fbd5ef26a38a605b683b45a0fef2da302ec7f921cf64fe dotnet-sdk-6.0.100-linux-musl-x64.tar.gz
f58bd83b709dcb4b0b67830756069c34258a167b33cb290cbf30f21d69d75402d38e013fd7bbf00640fe19e397f78df6ff787cf8484ee8967d5b8809f033eafb dotnet.sh
runtime() {
pkgdesc="The .NET $_pkgver_macro Core runtime"
pkgver=$_runtimever
depends="dotnet$_pkgver_name-stage0-hostfxr"
provides="dotnet$_pkgver_name-bootstrap-runtime"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.NETCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-runtime
}
aspnetcore_runtime() {
pkgdesc="The ASP.NET $_pkgver_macro Core runtime"
pkgver=$_aspnetver
depends="dotnet$_pkgver_name-bootstrap-runtime"
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./shared/Microsoft.AspNetCore.App
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-runtime
}
apphost_pack() {
pkgdesc="The .NET $_pkgver_macro Core apphost pack"
pkgver=$_aspnetver
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner --wildcards ./packs/Microsoft.NETCore.App.Host.*
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-apphost-pack
}
targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.NETCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-targeting-pack
}
netstandard_targeting_pack() {
pkgdesc="The .NET $_pkgver_macro Standard targeting pack"
pkgver=$_sdkver
depends="dotnet-host"
provides="netstandard21-targeting-pack"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/NETStandard.Library.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/netstandard21-targeting-pack
}
aspnetcore_targeting_pack() {
pkgdesc="The ASP.NET $_pkgver_macro Core targeting pack"
pkgver=$_runtimever
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/aspnetcore$_pkgver_name-targeting-pack
}
templates() {
pkgdesc="The .NET $_pkgver_macro templates"
depends="dotnet-host"
pkgver="$_sdkver"
install -dm 755 "$subpkgdir"/usr/share/dotnet "$subpkgdir"/usr/share/licenses
tar -xzf "$srcdir"/dotnet-sdk-$_pkgver_macro*"$(_get_arch $CARCH)".tar.gz -C "$subpkgdir"/usr/share/dotnet/ --no-same-owner ./templates
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-templates
}
artifacts() {
pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit"
depends="dotnet-host"
pkgver=$_sdkver
provides="dotnet$_pkgver_name-bootstrap-artifacts"
provider_priority=$_pkgver_prior
install -dm 755 "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver "$subpkgdir"/usr/share/licenses
tar -xf "$srcdir"/Private.SourceBuilt.Artifacts.*.tar -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/ --no-same-owner --exclude '*.linux-x64*'
install -m 644 "$srcdir"/*"$(_get_arch $CARCH)"*.nupkg "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/.
for i in $_nappo_get; do install -m 644 "$srcdir"/$i* "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/. ; done
ln -s dotnet-host "$subpkgdir"/usr/share/licenses/dotnet$_pkgver_name-artifacts
}
source="
https://pagure.io/dotnet-sig/dotnet6.0/raw/main/f/build-dotnet-tarball
https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.0.1.0-6.0.100-bootstrap.29.tar.gz
https://gist.githubusercontent.com/omajid/c04b6025de49d0b7b18ab4a7e789484e/raw/b33c57f6bf9c00bb8633375123d2d3594fe81c26/nappo.py
dotnet.sh
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//System.Reactive.Core/4.1.1/system.reactive.core.4.1.1.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.AspNetCore.App.Runtime.linux-musl-x64/6.0.0/microsoft.aspnetcore.app.runtime.linux-musl-x64.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.AspNetCore.App.Runtime.linux-musl-arm/6.0.0/microsoft.aspnetcore.app.runtime.linux-musl-arm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.AspNetCore.App.Runtime.linux-musl-arm64/6.0.0/microsoft.aspnetcore.app.runtime.linux-musl-arm64.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Crossgen2.linux-musl-x64/6.0.0/microsoft.netcore.app.crossgen2.linux-musl-x64.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Crossgen2.linux-musl-arm/6.0.0/microsoft.netcore.app.crossgen2.linux-musl-arm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Crossgen2.linux-musl-arm64/6.0.0/microsoft.netcore.app.crossgen2.linux-musl-arm64.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Host.linux-musl-x64/6.0.0/microsoft.netcore.app.host.linux-musl-x64.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Host.linux-musl-arm/6.0.0/microsoft.netcore.app.host.linux-musl-arm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Host.linux-musl-arm64/6.0.0/microsoft.netcore.app.host.linux-musl-arm64.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Runtime.linux-musl-x64/6.0.0/microsoft.netcore.app.runtime.linux-musl-x64.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Runtime.linux-musl-arm/6.0.0/microsoft.netcore.app.runtime.linux-musl-arm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//Microsoft.NETCore.App.Runtime.linux-musl-arm64/6.0.0/microsoft.netcore.app.runtime.linux-musl-arm64.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetAppHost/6.0.0/runtime.linux-musl-x64.microsoft.netcore.dotnetapphost.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm.Microsoft.NETCore.DotNetAppHost/6.0.0/runtime.linux-musl-arm.microsoft.netcore.dotnetapphost.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm64.Microsoft.NETCore.DotNetAppHost/6.0.0/runtime.linux-musl-arm64.microsoft.netcore.dotnetapphost.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHost/6.0.0/runtime.linux-musl-x64.microsoft.netcore.dotnethost.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm.Microsoft.NETCore.DotNetHost/6.0.0/runtime.linux-musl-arm.microsoft.netcore.dotnethost.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHost/6.0.0/runtime.linux-musl-arm64.microsoft.netcore.dotnethost.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostPolicy/6.0.0/runtime.linux-musl-x64.microsoft.netcore.dotnethostpolicy.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostPolicy/6.0.0/runtime.linux-musl-arm.microsoft.netcore.dotnethostpolicy.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostPolicy/6.0.0/runtime.linux-musl-arm64.microsoft.netcore.dotnethostpolicy.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.DotNetHostResolver/6.0.0/runtime.linux-musl-x64.microsoft.netcore.dotnethostresolver.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm.Microsoft.NETCore.DotNetHostResolver/6.0.0/runtime.linux-musl-arm.microsoft.netcore.dotnethostresolver.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm64.Microsoft.NETCore.DotNetHostResolver/6.0.0/runtime.linux-musl-arm64.microsoft.netcore.dotnethostresolver.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.ILAsm/6.0.0/runtime.linux-musl-x64.microsoft.netcore.ilasm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm.Microsoft.NETCore.ILAsm/6.0.0/runtime.linux-musl-arm.microsoft.netcore.ilasm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm64.Microsoft.NETCore.ILAsm/6.0.0/runtime.linux-musl-arm64.microsoft.netcore.ilasm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.ILDAsm/6.0.0/runtime.linux-musl-x64.microsoft.netcore.ildasm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm.Microsoft.NETCore.ILDAsm/6.0.0/runtime.linux-musl-arm.microsoft.netcore.ildasm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm64.Microsoft.NETCore.ILDAsm/6.0.0/runtime.linux-musl-arm64.microsoft.netcore.ildasm.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-x64.Microsoft.NETCore.TestHost/6.0.0/runtime.linux-musl-x64.microsoft.netcore.testhost.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm.Microsoft.NETCore.TestHost/6.0.0/runtime.linux-musl-arm.microsoft.netcore.testhost.6.0.0.nupkg
https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2//runtime.linux-musl-arm64.Microsoft.NETCore.TestHost/6.0.0/runtime.linux-musl-arm64.microsoft.netcore.testhost.6.0.0.nupkg
https://dotnetcli.azureedge.net/dotnet/Sdk/6.0.100/dotnet-sdk-6.0.100-linux-musl-x64.tar.gz
https://dotnetcli.azureedge.net/dotnet/Sdk/6.0.100/dotnet-sdk-6.0.100-linux-musl-arm.tar.gz
https://dotnetcli.azureedge.net/dotnet/Sdk/6.0.100/dotnet-sdk-6.0.100-linux-musl-arm64.tar.gz
"
sha512sums="
483d89542a7205ad0f562d6dfeb553e4827e5f60cb1647433f066c7048e043f622feda88fead94ac64b6e795165ad79c04ed015f78d7c477a68ee63cb691eacd build-dotnet-tarball
db502b7fe368d45093c8f3747a34df2b51fc5bcba7602248afb4352a445228f82b19cb3019fe6e20f5246b1b0b4ab6e3f5acea56a769a1a5815d153d24178207 Private.SourceBuilt.Artifacts.0.1.0-6.0.100-bootstrap.29.tar.gz
90b3ec14fd02cbef8af2086c26ef2f4f23c4c5ce83dac39cacbb36e506ea9914aae6c3b3580af2e71141b8f0435b4910f60970333011b4ddd594839f5fd7ec8e nappo.py
f58bd83b709dcb4b0b67830756069c34258a167b33cb290cbf30f21d69d75402d38e013fd7bbf00640fe19e397f78df6ff787cf8484ee8967d5b8809f033eafb dotnet.sh
a24efb7578e2020e17c877ffe00b49f8f476b0845fdc55c16404008a9566d8628a72c2208bd23df745c88592ebe9c922b0cf1bc1f95f834b539bbcc2cbf516c5 system.reactive.core.4.1.1.nupkg
49a30d0de9337e9dc5fd9c7f7f192667a16255cb7abedc2e28151e5dc754115af3df72fee65719714b075cf7eeb2fe16b99ba2705e6705142c467035918eca4c microsoft.aspnetcore.app.runtime.linux-musl-x64.6.0.0.nupkg
9c0def7d8bde5683b0d4922da5bc030844baa6af1abb5fb4776e7fff0bb2f031494ecfd52df8c8a6a235ed2b5588cc933b4c03dea606fdb34908e99fad86ac60 microsoft.aspnetcore.app.runtime.linux-musl-arm.6.0.0.nupkg
3a350b33155ae1d15092615f4280dc6c7f857257205e7af39198de33409cdb463fc41dbe4dd691e97d01a3f69df2f1733de16ef12386c9d381d0bda7795a11eb microsoft.aspnetcore.app.runtime.linux-musl-arm64.6.0.0.nupkg
c808fdab7cd2524a078f4b1853635f4e316565738c493f5498f39f38b398cb8656b63098a72e3943b9ebbda25d72c24d32af1f78dcee6dc352f1d452cada0a9e microsoft.netcore.app.crossgen2.linux-musl-x64.6.0.0.nupkg
4346e950bc11b0f614fd54f5582667a65956b129528130978306fc0c4e7e6f9b24f28c1beb80fe50ad389f1655113de8aca9ff813bf7ac645c14bd92685b1961 microsoft.netcore.app.crossgen2.linux-musl-arm.6.0.0.nupkg
ffbeb9e95f687c7b90521a1436427a08dd3b6f3dfcae35345fb85100d42f9e97a57e98d3068fed21e56e0bc310daf6a5975d9515ba1b053147a32debfcc3a4aa microsoft.netcore.app.crossgen2.linux-musl-arm64.6.0.0.nupkg
9a505dc87ef79e2ea50f522f6267dbc30ce3255158b88646b66fe13ad5df74d275001ce9e327db81808a2cbf53191f29acb98b0f0ad8adf54fbfcd66efa4a6ac microsoft.netcore.app.host.linux-musl-x64.6.0.0.nupkg
dba46327284c6b83be7c62f296c2f2d513a2c6e44f17744d5f5903752c551ac9494844e0ca1c8b0de9b06668e15683e229dec0a470a4f4250a9998560a0d27d4 microsoft.netcore.app.host.linux-musl-arm.6.0.0.nupkg
2a4fd1d410242d9ac582f3bdbe99c526fb005c5ece1f4e206485dd25002d789948f566891b0afbac569d84c655f8208c172e4e4f9e8bb0c66c998988529d930d microsoft.netcore.app.host.linux-musl-arm64.6.0.0.nupkg
4de8b21ba038718812fc9b5e375438d53e85f5fae51cdea04cc7403ae6a3e61738d2d0510f04d069ae7d44c1850c0d1ced20cb6ad01149cce91b4f896c7c6489 microsoft.netcore.app.runtime.linux-musl-x64.6.0.0.nupkg
5dde362cf7e3b5f5a70a197a6ddc3b9209d9ca01824d9cbf43ffdccf13e65dbed874a91425693221e0d261bb7c54fca2b0e448cdb2107370783874f5f54f8653 microsoft.netcore.app.runtime.linux-musl-arm.6.0.0.nupkg
d3b34662b55ba781384871119be9be6b4f5268265357c4cd3f63ac6308fae260f25a0d73ebebe4a7750aa38e158514ae1137451ff9a5b5b46d56d24fe20fe50e microsoft.netcore.app.runtime.linux-musl-arm64.6.0.0.nupkg
78e38bea2009f1fbbc4ced06a754db8179e56a6c2dcfdc7d62e931f65375d72c146427a3a30992b9f330afe32ca02be8ac9810cc56b2527c093c0b00a876edd0 runtime.linux-musl-x64.microsoft.netcore.dotnetapphost.6.0.0.nupkg
a2f6c54486431c0f5d903c0c30060a27af52a69fb17198d75b36dc1da4d98ab36d9676396ff51d07cf0d54e4a7aec968605d88d8d510dd6d480c9960abda7450 runtime.linux-musl-arm.microsoft.netcore.dotnetapphost.6.0.0.nupkg
0dc0536b1b38cd448a2817c0ac52b088e8fa861dce1a275f53234619defdff92f594b126cfb671ee3b3dbbd0c3d89aeffc69a48412a8f7c74cea6617dd370881 runtime.linux-musl-arm64.microsoft.netcore.dotnetapphost.6.0.0.nupkg
4740e2bbb5f295f4aed083210ab06af59c7dac82eeffbad8d61319a0aab76b639bff50543a5f2403afcc52b0d6b60f9c0d20a641107735e6827764fae535f21b runtime.linux-musl-x64.microsoft.netcore.dotnethost.6.0.0.nupkg
61d44c1e1047a08337b6d82f657fd8c2066ee6421cdf2cc163b73075b7f7bf0bd61b8840e3f6c20b6cc78579150576388fcc5ec7013376fbbc851e37b4a8a788 runtime.linux-musl-arm.microsoft.netcore.dotnethost.6.0.0.nupkg
c0f63c5a8e59b3fc2dc77a2593a723f8758ddffc42874307615d33c748c18827e5738f5c04550336f2c4688790acb6d4e2a3a1f468df21cb762900f344916bc4 runtime.linux-musl-arm64.microsoft.netcore.dotnethost.6.0.0.nupkg
a6960818d9550a5f8c5f5e9e76cb56600a77fe5038ab94a17e02d0472f31f836f6f945172708f214173df68c5ae23a807b1d674a6e85a680074a5797ad015474 runtime.linux-musl-x64.microsoft.netcore.dotnethostpolicy.6.0.0.nupkg
c1b527d0d77b9652549ae2282761f5e8d770f496bbeda7c33edf1e4aee29147f0be4d42dbc8e066f1592006ad46ce43355ac82dca525950051819b564bb96841 runtime.linux-musl-arm.microsoft.netcore.dotnethostpolicy.6.0.0.nupkg
a1de76984b55e0da45d1bdd757095b3a1ace38352c1dd51aaac80b2449aba8342dd36df7109fe5f6dc2901c941935588bf4725ddd86cb8d85877fb828c035390 runtime.linux-musl-arm64.microsoft.netcore.dotnethostpolicy.6.0.0.nupkg
0b3e126d3ff45f076240825fe03576d48c8fe0b3b5e0177d5d18fea48029d4c71328b4b6ac7020437f43ed408f0a146a3713c29e2e65f3fe2ee7361b81ddf244 runtime.linux-musl-x64.microsoft.netcore.dotnethostresolver.6.0.0.nupkg
008386a783280e97ca925bb707e267be50877f39eac2c413fd489d23a3f8768854bd668a7bae53a66ff6399bf5b4e95ad548e813505443c81b8d85a08d8a163e runtime.linux-musl-arm.microsoft.netcore.dotnethostresolver.6.0.0.nupkg
0629f6e6c5b85d56cd224201b66f1a61c36e07c9e95ead88a8dfa2135bfba4849da9eecf393b7e96132d9be7ac30a1b28354be5c9fe97f378b93e4aefc303696 runtime.linux-musl-arm64.microsoft.netcore.dotnethostresolver.6.0.0.nupkg
0eb771d7e23607a256f209c958a8025af6a7c1e20948b244f2903941aad5e1c0f130a9285ee29086d6188090e8692f5f129329a88da54d3f0a7e7e5b7e4257ef runtime.linux-musl-x64.microsoft.netcore.ilasm.6.0.0.nupkg
2a24e56ddf0f3e3ef7cb64523b7c6ebf02b91a73287c342783eb66e43a9bbe0cd23eb4b26f435e6b194bf1a40017e6aae60333ff087b18657672b243e8c8ce76 runtime.linux-musl-arm.microsoft.netcore.ilasm.6.0.0.nupkg
5ad26a79b5ba3ebdc6932dde50218d2c0669377dcb628debbb448e0dfc5d001d7e07b121f18ecd50b667ab372e10ec0bfe166a6e2103faf2f824995fdad0c355 runtime.linux-musl-arm64.microsoft.netcore.ilasm.6.0.0.nupkg
25669b580fe5d0d82316df967c285edbef3047c74c00a74a8feeaf703fd8279bad6f56de8ef244cdb4f021913360f0db2a862fd29c5b8cbef7fec01b12b3600d runtime.linux-musl-x64.microsoft.netcore.ildasm.6.0.0.nupkg
ea25a609a88dd118a3b769fb58486013e238e885826efe8da0bf248fcc1879d7b7961786648e8e022e29e3cb2592f52919bbe75ab613823747ac7891ddb9c779 runtime.linux-musl-arm.microsoft.netcore.ildasm.6.0.0.nupkg
ad094439c9e730ed076495d1720b79331199520b551df4747c3c2f5d4cff010672456b94ff8e0f80b30721b5ee410c0057a83605d5f49a277cb079475a82fb61 runtime.linux-musl-arm64.microsoft.netcore.ildasm.6.0.0.nupkg
ff6873b3e6a824989725dd9f35044c2910e9bc28bff6da379d658a4bf5b05a5346666e667ce0d2fce0630a8abbbf93644540d63f65c4282b277c8686bcb92784 runtime.linux-musl-x64.microsoft.netcore.testhost.6.0.0.nupkg
c0cd9c4a359428691e10bc336d3c13ed3e1dddbea670e344d33c05e42c8da2ca91c553685916e6c00258b03e26078661a617883f9468c7ffccb64c12e20d729e runtime.linux-musl-arm.microsoft.netcore.testhost.6.0.0.nupkg
5d35049a8151f620290c884d6bb6764a7245ced5ac7f79d394272b037f657560d9ace04a8d4c97ed4398432f9e52f91dfac7d3c6088b1ac76b3840cb0b3c7c96 runtime.linux-musl-arm64.microsoft.netcore.testhost.6.0.0.nupkg
428082c31fd588b12fd34aeae965a58bf1c26b0282184ae5267a85cdadc503f667c7c00e8641892c97fbd5ef26a38a605b683b45a0fef2da302ec7f921cf64fe dotnet-sdk-6.0.100-linux-musl-x64.tar.gz
4568f18912431cf1ffff0ae6ead281999dfaf594a3a59ef7d0492e687069cc988f9809c51cecb9c33eede863dda45868072d98c0aa52d3941fd1783590e7eb73 dotnet-sdk-6.0.100-linux-musl-arm.tar.gz
0f7a03ab2d090658623dc4bba3ece420cdf1976296f812140c152a399513cfd53a0bd5a6b0833c29860f035121b53bc38d9fa348434963a0bf6e6a3945547273 dotnet-sdk-6.0.100-linux-musl-arm64.tar.gz
"

View file

@ -1,23 +1,27 @@
# Description
APKBUILD for dotnet5-stage0
# How to build dotnet5 stack
(note: dotnet31 only needed for Darc, which usually retrieves the 3.1.1 runtime
automatically. Per preference of using repo versions of runtimes, retrieval
is disabled by patch)
* Build testing/dotnet31-stage0 first (provides binary
dotnet31-bootstrap-runtime / sdk and dotnet-host)
* Build testing/dotnet31 once (with binary bootstraps, provides repo versions
of above packages, and more)
* Build testing/dotnet31 again (with repo bootstraps, provides full repo
versions)
* Build testing/dotnet5-stage0 (provides dotnet5-bootstrap-runtime / sdk)
* Build testing/dotnet5 once (using dotnet31 runtime bootstrap and
dotnet5-stage0 runtime / sdk bootstrap)
* Build testing/dotnet5 again (with repo bootstraps, provides full repo
APKBUILD for dotnet6-stage0
# Generated packages
* aspnetcore6-stage0-runtime
* aspnetcore6-stage0-targeting-pack
* dotnet6-stage0-apphost-pack (used by dotnet6-stage0-runtime)
* dotnet6-stage0-host (provides dotnet-host)
* dotnet6-stage0-hostfxr (provides fxr for host)
* dotnet6-stage0-runtime (provides dotnet6-bootstrap-runtime)
* dotnet6-stage0-sdk (provides dotnet6-bootstrap-sdk)
* dotnet6-stage0-artifacts (provides dotnet6-bootstrap-artifacts
* dotnet6-stage0-targeting-pack
* dotnet6-stage0-templates (required by sdk)
* netstandard6-stage0-targeting-pack (provides netstandard21-targeting-pack)
# How to build dotnet6 stack
* Build testing/dotnet6-stage0 (provides dotnet6-bootstrap-runtime / sdk)
* Build testing/dotnet6-stage1 (dotnet6-stage0 runtime / sdk bootstrap)
* Build testing/dotnet6 (with repo bootstraps, provides full repo
versions)
# Known issues
* Havn't tested for builds with armv7 and aarch64 as dotnet31-stage0 doesn't
have bootstrap binaries available for those architectures, need to figure this
out
# Special functions
* ./build_apkbuild.sh: Builds APKBUILD using scripts in lib
* abuild _update_source: Stage0 adapts prebuilt artifacts packages by replacing
linux-x64 nupkgs with linux-musl-x64 versions. Any updates to artifacts will
require executing this function to update source with up to date nuget packages

View file

@ -0,0 +1,14 @@
#/bin/bash
source APKBUILD
echo "# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>" > APKBUILD
apkbuild-lint lib/*
# Build APKBUILD
sed 's:^\s*#.*$::g' lib/* >> APKBUILD
source="$(printf '%s\n' $source)"
printf 'source="\n%s\n"\n' "$source" >> APKBUILD
printf 'sha512sums="%s\n"\n' "$sha512sums" >> APKBUILD
# Strip whitespace
sed -i '/^[[:space:]]*$/d' APKBUILD

Some files were not shown because too many files have changed in this diff Show more