aboutsummaryrefslogtreecommitdiffstats
path: root/testing/dotnet31-bootstrap/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'testing/dotnet31-bootstrap/APKBUILD')
-rw-r--r--testing/dotnet31-bootstrap/APKBUILD347
1 files changed, 0 insertions, 347 deletions
diff --git a/testing/dotnet31-bootstrap/APKBUILD b/testing/dotnet31-bootstrap/APKBUILD
deleted file mode 100644
index f3d55c3d488..00000000000
--- a/testing/dotnet31-bootstrap/APKBUILD
+++ /dev/null
@@ -1,347 +0,0 @@
-# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
-# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
-
-#
-# This is generated from dotnet31-build's APKBUILD.
-# Any modifications to be done in that APKBUILD and propagated by
-# executing 'abuild _update_bootstrap'
-#
-# Variables for dotnet build version 3.1
-# This APKBUILD is designed to be the same for version 5.0 and under
-# except for the variables in this first section
-#
-
-pkgname=dotnet31-bootstrap
-pkgver=3.1.416
-pkgrel=0
-
-# Tag of tarball generator. This may change from usual due to mistakes from upstream
-_installertag="v$pkgver-SDK"
-
-# Tag of SBRP builder for dotnet 3.1
-_sbrptag=045b2888ccfaf4c203c945a09b3f41f0e6393d1c
-
-# this should match what is sourced by source-build's ./prep.sh script
-# and, at the very least, the artifacts version sourced, as defined in
-# eng/Version.Details.xml by var PrivateSourceBuiltArtifactsPackageVersion
-# Sometimes, this needs updating by stage0 scripts, thus it is bumped from this
-# version to establish that we are moving away from upstream
-_bootstrapver=3.1.416-r0
-
-# LLVM version to be used for this build
-_llvmver=12
-
-# Patches to be used. String before '_' refers to repo to patch
-# Look for patch notes within each patch for what they fix / where they come from
-# build_* patches applies directly to $builddir
-_patches="
- application-insights_fix-net40-location.patch
- build_darc-fix-alpine.patch
- build_ignore-warnings.patch
- build_musl-build.patch
- cli_add-zsh-compdef-completion-script.patch
- coreclr_non-portable-distrorid-fix-alpine.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
- references_sh-build-fix.patch
- "
-# Custom prepare
-default_prepare() {
- return
-}
-
-# Following for for dotnet builds version 5.0 and under
-_pkgver_macro=${pkgver%.*}
-_pkgver_prior=${pkgver%.*.*}
-_pkgver_name=${_pkgver_macro//[.0]}
-pkgdesc="The .NET $_pkgver_macro SDK"
-arch="x86_64"
-case $CARCH in
- x86_64) _dotnet_arch=x64;;
- aarch64) _dotnet_arch=arm64;;
- armv7) _dotnet_arch=arm;;
-esac
-url=https://www.microsoft.com/net/core
-license="MIT"
-_bootstrappkg="stage0"
-makedepends="
- bash
- clang
- cmake
- dotnet$_pkgver_name-$_bootstrappkg=$_bootstrapver
- dotnet$_pkgver_name-$_bootstrappkg-artifacts=$_bootstrapver
- findutils
- git
- grep
- 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
-
-# packages artifacts if building bootstrap
-[ "$_bootstrappkg" = "stage0" ] && subpackages="$pkgname-artifacts"
-
-source="
- source-build-$_installertag.tar.gz::https://github.com/dotnet/source-build/archive/refs/tags/$_installertag.tar.gz
- source-build-reference-packages-$_sbrptag.tar.gz::https://github.com/dotnet/source-build-reference-packages/archive/$_sbrptag.tar.gz
- $_patches
- "
-builddir="$srcdir/source-build-${_installertag/v}"
-_sbrpdir="$srcdir"/source-build-reference-packages-$_sbrptag
-_artifactsdir="/usr/share/dotnet/artifacts/${_bootstrapver%-*}"
-_referencesdir="/usr/share/dotnet/artifacts/${_bootstrapver%-*}/SourceBuildReferencePackages"
-_cli_root="$srcdir"/bootstrap
-
-# Custom patch logics for dotnet 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"
- ;;
- references_*.patch)
- echo "applying $i to references"
- cd "$_sbrpdir"
- 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
-}
-
-# aport for bootstrap is effectively a copy of this aport, except that it
-# builds using stage0 bits, which are sourced from Microsoft prebuilts.
-# Another major difference is that rather than package build artifacts
-# under $dotnet_path/build to be packages later, it send artifacts to
-# $dotnet_path/bootstrap, as this is the directory that is sourced by
-# _prepare_bootstrap for build.
-_update_bootstrap() {
- msg "Updating bootstrap APKBUILD"
- # Copy patches
- rm ../dotnet$_pkgver_name-bootstrap/*.patch || true
- for i in ../dotnet"$_pkgver_name"-build/*.patch; do
- cp $i ${i/$_pkgver_name-build/$_pkgver_name-bootstrap}
- done
-
- # Generate bootstrap
- {
- echo -n "# "
- echo "Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>"
- echo "# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>"
- echo
- echo "#"
- echo "# This is generated from dotnet$_pkgver_name-build's APKBUILD."
- echo "# Any modifications to be done in that APKBUILD and propagated by"
- echo -n "# executing 'abuild _update_bootstrap'"
- sed \
- -e "s/pkgname=dotnet$_pkgver_name-build/pkgname=dotnet$_pkgver_name-bootstrap/" \
- -e "s/_bootstrappkg=\"bootstrap\"/_bootstrappkg=\"stage0\"/" \
- -e "1,2d" \
- ../dotnet$_pkgver_name-build/APKBUILD
- } > ../dotnet$_pkgver_name-bootstrap/APKBUILD
-}
-
-# dotnet relies on itself when building, we thus need a bootstrap runtime
-# that is copied to write-capable folder
-_prepare_bootstrap() {
- msg "Settings up bootstrap"
- cp -r /usr/share/dotnet/bootstrap/${_bootstrapver%-*} "$_cli_root"
-
- # Corrupt libcoreclrtraceptprovider.so when lttng <=2.13.0
- # is detected as tracing is broken on dotnet platform
- # due to ABI changes
- # See https://github.com/dotnet/runtime/issues/57784.
- if [ -f "/usr/lib/liblttng-ust.so.1 " ]; then
- rm "$_cli_root"/shared/Microsoft.NETCore.App/*/libcoreclrtraceptprovider.so
- fi
-}
-
-# Build doesn't set all the right executable bits for the right file types
-_fix_executable() {
- # add executable bit
- find "$1" -type f \( \
- -name 'apphost' -o \
- -name 'singlefilehost' -o \
- -name 'lib*so' \
- \) \
- -exec chmod +x '{}' \;
-
- # remove executable bit
- find "$1" -type f \( \
- -name '*.a' -o \
- -name '*.dll' -o \
- -name '*.h' -o \
- -name '*.json' -o \
- -name '*.pdb' -o \
- -name '*.props' -o \
- -name '*.pubxml' -o \
- -name '*.targets' -o \
- -name '*.txt' -o \
- -name '*.xml' \
- \) \
- -exec chmod -x '{}' \;
-}
-
-prepare() {
- default_prepare
-
- # source-build expects to be in a git repo
- git init
- git add ./*
- git commit -m 'initial commit'
- git remote add origin https://github.com/dotnet/source-build.git
-
- _patch
- _prepare_bootstrap
-
- # by default build populates these folders using Artifacts and SBRP archives
- # we are instead going to populate them from the prebuilt artifacts provided
- # by dotnetx-bootstrap-artifacts
- [ -f "$builddir/packages" ] || mkdir -p "$builddir"/packages
- cp -r "$_artifactsdir" "$builddir"/packages/prebuilt
- mv "$builddir"/packages/prebuilt/SourceBuildReferencePackages "$builddir"/packages/reference
- # make sure archives wont be downloaded or aren't expected.
- [ -d "$builddir"/packages/archive ] && rm -r "$builddir"/packages/archive
-
- # by default, coreclr-tools is not sourced from dotnetx-bootstrap-artifacts, thus
- # it'll be the wrong architecture. Below replaces default coreclr-tools with
- # versions from artifacts, which have been built properly
- mkdir -p "$builddir"/Tools/source-built
- cp -r "$builddir"/packages/prebuilt/coreclr-tools "$builddir"/Tools/source-built/.
-}
-
-build() {
- msg "Building $pkgname-$pkgver"
-
- # logs args, else the output is forwarded to log files which isn't ideal in a
- # pipeline environment
- local args="
- /v:n
- /p:LogVerbosity=n
- /p:MinimalConsoleLogOutput=false
- "
-
- # defaults args for build on Alpine
- local args="$args
- /p:SkipDownloadingPreviouslySourceBuiltPackages=true
- /p:SkipDownloadingReferencePackages=true
- /p:ContinueOnPrebuiltBaselineError=true
- /p:SkipPrebuiltEnforcement=true
- /p:UseSystemLibraries=true
- /p:UseSystemLibunwind=true
- "
-
- ./build.sh \
- --with-sdk "$_cli_root" \
- $args | tee -a build.log
-
- # only build references when building with stage0
- [ "$_bootstrappkg" = "bootstrap" ] && return
-
- msg "Building source build reference packages"
- cd "$_sbrpdir"
- ./build.sh \
- --with-sdk "$_cli_root" \
- --with-packages "$builddir"/artifacts/$_dotnet_arch/Release/Private.SourceBuilt.Artifacts.0.1.0-dev.tar.gz \
- | tee -a build.log
-}
-
-package() {
- local subdir=${pkgname/*-}
- local targetdir="$pkgdir"/usr/share/dotnet/$subdir/$pkgver
-
- # directory creation
- install -dm 755 \
- "$targetdir"/docs \
- "$targetdir"/comp
-
- # unpack build artifacts to subdir defined by pkgname. If bootstrap, unpacks
- # to bootstrap, if build unpacks to build
- tar -xzf "$builddir"/artifacts/$_dotnet_arch/Release/dotnet-sdk-$_pkgver_macro*.tar.gz -C "$targetdir"/ --no-same-owner
-
- # assemble completions
- install -m 755 "$builddir"/artifacts/src/cli.*/scripts/register-completions.bash "$targetdir"/comp/
- install -m 755 "$builddir"/artifacts/src/cli.*/scripts/register-completions.zsh "$targetdir"/comp/
-
- # assemble docs
- find "$builddir" -iname 'dotnet*.1' -type f -exec cp '{}' "$targetdir"/docs/ \;
-
- # some files either should or should not have executable bits
- _fix_executable "$pkgdir"
-
- # See https://github.com/dotnet/source-build/issues/2579
- find "$pkgdir" -type f -name 'testhost.x86' -delete
- find "$pkgdir" -type f -name 'vstest.console' -delete
-}
-
-# build relies on a plethora of nupkgs which are provided by this Artifacts file.
-# stage0 sources these from Microsoft, which then allows bootstrap to build
-# locally hosted versions. The following unpacks built tarball into directory
-# for use by future builds.
-artifacts() {
- pkgdesc="Internal package for building .NET $_pkgver_macro Software Development Kit"
-
- # directory creation
- install -dm 755 \
- "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/SourceBuildReferencePackages \
- "$subpkgdir"/usr/share/licenses
-
- # extract artifacts to artifacts dir for use by future dotnet builds
- tar -xzf "$builddir"/artifacts/$_dotnet_arch/Release/Private.SourceBuilt.Artifacts.*.tar.gz -C "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/ --no-same-owner \
- --exclude '*Intermediate*'
-
- # pulls SBRP artifacts
- install -m 644 "$_sbrpdir"/artifacts/reference-packages/* "$subpkgdir"/usr/share/dotnet/artifacts/$pkgver/SourceBuildReferencePackages/.
-}
-
-sha512sums="
-651c59c44ec2492efbcbea86e1c42f27add2ea9dbe76d4123d24ee868538c707e82e3c7538f2183a6482e62f1038475af46717005938d77c7900ae3a5a1cc3a7 source-build-v3.1.416-SDK.tar.gz
-9d7ae29c311cd9550389225cab891df359385e098aaccb8100c77832ea7b7b1f6a7984d811cb1f45bd323182149246c33f2016b4ee85d97ee9b29243acc644bc source-build-reference-packages-045b2888ccfaf4c203c945a09b3f41f0e6393d1c.tar.gz
-1ef3cb59231b7462167f782cbfcacee4a7bc7d73ec635de4ea3f4510cc6d46c5548ce2ec2ce3d3943bf6d1c29cb288dc1c82f1b22fe1c61fb6013e2df728467e application-insights_fix-net40-location.patch
-f945552c083828e80031bdae584514aa8e7eb64544cc1fc3ca658a4162303f2a1caf076f44bc567c34ed2cf4c42323eaaafae0719adf9855756af125a566e99b build_darc-fix-alpine.patch
-bd28775f37c9d448eab52922d0b8e0a6a32a3e16f772337850c48bd886e0302f97423b7b58dbc010c30764772f0bc00115ace72422dd12f447a5282ae62da4b3 build_ignore-warnings.patch
-e2a63a9c262a95698eba5639a32eb8ba968a3d4c1fb70ea9890f3915e9923190a4aabed0ef74d64cb5199ee9d06c77736d36861ed8418ab8638552763c2c58b5 build_musl-build.patch
-55afa9c74be6f5a87f1ff5aa44caad094cf620eb4388f6407218acf3d58a878f5565a0e875e95c3dbe0efca1879c120ee4b8076c521bfc9d6069a652c4a4fdd8 cli_add-zsh-compdef-completion-script.patch
-dcbb3824acb432739b08d329a5b2f95a32d806bdb4a11d3cdd0245724e6ee92ee85bbf30f5a0f6607598f5252cd9cdaf92cea5101d33b4bf5161b7b22b853c0e coreclr_non-portable-distrorid-fix-alpine.patch
-5dffe94647daebd0a56ffd63db7f7f64ac7c4b279aa7189396d792fe4143989a91ffdb86f687dea3caa2475ac2ad43b95abcddacd175fef392bd24b52c957964 core-sdk_generate-layout-core-setup-blob-path-fix.patch
-8f2de7774a62c846a3c5806a2a6fa651930f30dc91f06fac7a8dc9032cb1fb8bbff6bdd833fc0767effcd35751ee43a4ca059fced926f2cd9f970c88dd7271eb core-setup_rid-plat-generation-on-alpine-fix.patch
-2e05046b087670ff95c9df585b0d5d153518e1b2d7abc3288217e067728620fb85bf9bd8ec1541433fdae694fcb11dacaf5448fa4acd812afcfaa869f17e7fcd corefx_fix-build-clang10.patch
-2fd67942f2f93e950e5977296b553ebbd9316f9e9be380a74673e18836bacebfa005cab0d6e8f02d1dd4a67a92d6d526522393dd2fa8b7bc22f1165af87b7dac corefx_added-alpine-315-rid.patch
-441528c42256f30dda83854f78d53d2507b6e7a159aea4456c3872a8be3690f8f222709a6ec70503cd1875d7d8c2f43d7a54ef0c30761fbdfc3c2a394136f7fc references_sh-build-fix.patch
-"