summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dotnet-core-bin/PKGBUILD130
-rwxr-xr-xdotnet-core-bin/dotnet.sh12
2 files changed, 142 insertions, 0 deletions
diff --git a/dotnet-core-bin/PKGBUILD b/dotnet-core-bin/PKGBUILD
new file mode 100644
index 000000000..191fe3498
--- /dev/null
+++ b/dotnet-core-bin/PKGBUILD
@@ -0,0 +1,130 @@
+# Maintainer: Attila Greguss <floyd0122[at]gmail[dot]com>
+
+pkgbase=dotnet-core-bin
+pkgname=(
+ 'dotnet-host-bin'
+ 'aspnet-runtime-bin'
+ 'dotnet-runtime-bin'
+ 'dotnet-sdk-bin'
+ 'netstandard-targeting-pack-bin'
+ 'dotnet-targeting-pack-bin'
+ 'aspnet-targeting-pack-bin'
+ )
+pkgver=6.0.1.sdk101
+_runtimever=6.0.1
+_sdkver=6.0.101
+pkgrel=4
+arch=('x86_64' 'armv7h' 'aarch64')
+url='https://www.microsoft.com/net/core'
+license=('MIT')
+options=('staticlibs')
+source=('dotnet.sh')
+source_armv7h=('https://download.visualstudio.microsoft.com/download/pr/72888385-910d-4ef3-bae2-c08c28e42af0/59be90572fdcc10766f1baf5ac39529a/dotnet-sdk-6.0.101-linux-arm.tar.gz')
+source_aarch64=('https://download.visualstudio.microsoft.com/download/pr/d43345e2-f0d7-4866-b56e-419071f30ebe/68debcece0276e9b25a65ec5798cf07b/dotnet-sdk-6.0.101-linux-arm64.tar.gz')
+source_x86_64=('https://download.visualstudio.microsoft.com/download/pr/ede8a287-3d61-4988-a356-32ff9129079e/bdb47b6b510ed0c4f0b132f7f4ad9d5a/dotnet-sdk-6.0.101-linux-x64.tar.gz')
+sha512sums=('e61b9e3e5a2305646a616d598378230c9755c5dd5363692cc363f8f4add3807563c324dd86f3a7ae9d358c82d730608e7b293935a2b6c81c0c0f62d752a0a1cf')
+sha512sums_armv7h=('f9e212dc4cccbe665d9aac23da6bdddce4957ae4e4d407cf3f1d6da7e79784ebd408c3a59b3ecc6ceaa930b37cf01a4a91c6b38517970d49227e96e50658cc46')
+sha512sums_aarch64=('04cd89279f412ae6b11170d1724c6ac42bb5d4fae8352020a1f28511086dd6d6af2106dd48ebe3b39d312a21ee8925115de51979687a9161819a3a29e270a954')
+sha512sums_x86_64=('ca21345400bcaceadad6327345f5364e858059cfcbc1759f05d7df7701fec26f1ead297b6928afa01e46db6f84e50770c673146a10b9ff71e4c7f7bc76fbf709')
+
+package_dotnet-host-bin() {
+ pkgdesc='A generic driver for the .NET Core Command Line Interface (binary)'
+ provides=("dotnet-host" "dotnet-host=${_runtimever}")
+ depends=(
+ 'gcc-libs'
+ 'glibc'
+ )
+ conflicts=('dotnet-host')
+
+ install -dm 755 "${pkgdir}"/usr/{bin,lib,share/{dotnet,licenses/dotnet-host}}
+ cp -dr --no-preserve='ownership' dotnet host "${pkgdir}"/usr/share/dotnet/
+ cp -dr --no-preserve='ownership' LICENSE.txt ThirdPartyNotices.txt "${pkgdir}"/usr/share/licenses/dotnet-host
+ ln -sf /usr/share/dotnet/dotnet "${pkgdir}"/usr/bin/dotnet
+ ln -sf /usr/share/dotnet/host/fxr/"${_runtimever}"/libhostfxr.so "${pkgdir}"/usr/lib/libhostfxr.so
+ install -Dm 644 "${srcdir}"/dotnet.sh -t "${pkgdir}"/etc/profile.d/
+}
+
+package_dotnet-runtime-bin() {
+ pkgdesc='The .NET Core runtime (binary)'
+ depends=(
+ "dotnet-host>=${_runtimever}"
+ 'gcc-libs'
+ 'glibc'
+ 'icu'
+ 'libgssapi_krb5.so'
+ 'libunwind'
+ 'zlib'
+ 'openssl'
+ )
+ optdepends=('lttng-ust: CoreCLR tracing')
+ provides=("dotnet-runtime=${_runtimever}" "dotnet-runtime-6.0")
+ conflicts=("dotnet-runtime=${_runtimever}" "dotnet-runtime-6.0")
+
+ install -dm 755 "${pkgdir}"/usr/share/{dotnet/shared,licenses}
+ cp -dr --no-preserve='ownership' shared/Microsoft.NETCore.App "${pkgdir}"/usr/share/dotnet/shared/
+ ln -s dotnet-host-bin "${pkgdir}"/usr/share/licenses/dotnet-runtime-bin
+}
+
+package_aspnet-runtime-bin() {
+ pkgdesc='The ASP.NET Core runtime (binary)'
+ depends=('dotnet-runtime-bin')
+ provides=("aspnet-runtime=${_runtimever}" "aspnet-runtime-6.0")
+ conflicts=("aspnet-runtime=${_runtimever}" "aspnet-runtime-6.0")
+
+ install -dm 755 "${pkgdir}"/usr/share/{dotnet/shared,licenses}
+ cp -dr --no-preserve='ownership' shared/Microsoft.AspNetCore.App "${pkgdir}"/usr/share/dotnet/shared/
+ ln -s dotnet-host-bin "${pkgdir}"/usr/share/licenses/aspnet-runtime-bin
+}
+
+package_dotnet-sdk-bin() {
+ pkgdesc='The .NET Core SDK (binary)'
+ depends=(
+ 'glibc'
+ 'gcc-libs'
+ 'dotnet-runtime-bin'
+ 'dotnet-targeting-pack-bin'
+ 'netstandard-targeting-pack-bin')
+ optdepends=('aspnet-targeting-pack-bin: Build ASP.NET Core applications')
+ provides=("dotnet-sdk-bin" "dotnet-sdk=${pkgver}" "dotnet-sdk-6.0")
+ conflicts=("dotnet-sdk-bin" "dotnet-sdk=${pkgver}" "dotnet-sdk-6.0")
+
+ install -dm 755 "${pkgdir}"/usr/share/{dotnet,licenses}
+ cp -dr --no-preserve='ownership' sdk sdk-manifests templates "${pkgdir}"/usr/share/dotnet/
+ ln -s dotnet-host-bin "${pkgdir}"/usr/share/licenses/dotnet-sdk-bin
+}
+
+package_netstandard-targeting-pack-bin() {
+ pkgdesc='The .NET Standard targeting pack (binary)'
+ provides=('netstandard-targeting-pack-2.1' 'netstandard-targeting-pack')
+ conflicts=('netstandard-targeting-pack-2.1' 'netstandard-targeting-pack')
+
+ install -dm 755 "${pkgdir}"/usr/share/{dotnet,dotnet/packs,licenses}
+ cp -dr --no-preserve='ownership' packs/NETStandard.Library.Ref "${pkgdir}"/usr/share/dotnet/packs/
+ ln -s dotnet-host-bin "${pkgdir}"/usr/share/licenses/netstandard-targeting-pack
+}
+
+package_dotnet-targeting-pack-bin() {
+ pkgdesc='The .NET Core targeting pack (binary)'
+ depends=(netstandard-targeting-pack-bin)
+ provides=(dotnet-targeting-pack=${_runtimever} dotnet-targeting-pack-6.0)
+ conflicts=(dotnet-targeting-pack=${_runtimever} dotnet-targeting-pack-6.0)
+
+ if [ $CARCH = 'x86_64' ]; then msarch=x64;
+ elif [ $CARCH = 'armv7h' ]; then msarch=arm;
+ elif [ $CARCH = 'aarch64' ]; then msarch=arm64; fi
+
+ install -dm 755 "${pkgdir}"/usr/share/{dotnet,dotnet/packs,licenses}
+ cp -dr --no-preserve='ownership' packs/Microsoft.NETCore.App.{Host.linux-${msarch},Ref} "${pkgdir}"/usr/share/dotnet/packs/
+ ln -s dotnet-host-bin "${pkgdir}"/usr/share/licenses/dotnet-targeting-pack-bin
+}
+
+package_aspnet-targeting-pack-bin() {
+ pkgdesc='The ASP.NET Core targeting pack (binary)'
+ depends=(dotnet-targeting-pack-bin)
+ provides=(aspnet-targeting-pack=${_runtimever} aspnet-targeting-pack-6.0)
+ conflicts=(aspnet-targeting-pack=${_runtimever} aspnet-targeting-pack-6.0)
+
+ install -dm 755 "${pkgdir}"/usr/share/{dotnet,dotnet/packs,licenses}
+ cp -dr --no-preserve='ownership' packs/Microsoft.AspNetCore.App.Ref "${pkgdir}"/usr/share/dotnet/packs/
+ ln -s dotnet-host-bin "${pkgdir}"/usr/share/licenses/aspnet-targeting-pack-bin
+} \ No newline at end of file
diff --git a/dotnet-core-bin/dotnet.sh b/dotnet-core-bin/dotnet.sh
new file mode 100755
index 000000000..fcc0bfd11
--- /dev/null
+++ b/dotnet-core-bin/dotnet.sh
@@ -0,0 +1,12 @@
+# 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"