diff options
Diffstat (limited to 'testing/dotnet31-bootstrap/APKBUILD')
-rw-r--r-- | testing/dotnet31-bootstrap/APKBUILD | 347 |
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 -" |