aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
l---------srcpkgs/aspnetcore-runtime1
l---------srcpkgs/dotnet-runtime1
-rw-r--r--srcpkgs/dotnet-sdk/patches/sdk_telemetry-output.patch33
-rw-r--r--srcpkgs/dotnet-sdk/template68
4 files changed, 103 insertions, 0 deletions
diff --git a/srcpkgs/aspnetcore-runtime b/srcpkgs/aspnetcore-runtime
new file mode 120000
index 00000000000..121eb4adae7
--- /dev/null
+++ b/srcpkgs/aspnetcore-runtime
@@ -0,0 +1 @@
+dotnet-sdk \ No newline at end of file
diff --git a/srcpkgs/dotnet-runtime b/srcpkgs/dotnet-runtime
new file mode 120000
index 00000000000..121eb4adae7
--- /dev/null
+++ b/srcpkgs/dotnet-runtime
@@ -0,0 +1 @@
+dotnet-sdk \ No newline at end of file
diff --git a/srcpkgs/dotnet-sdk/patches/sdk_telemetry-output.patch b/srcpkgs/dotnet-sdk/patches/sdk_telemetry-output.patch
new file mode 100644
index 00000000000..864afa4d4ef
--- /dev/null
+++ b/srcpkgs/dotnet-sdk/patches/sdk_telemetry-output.patch
@@ -0,0 +1,33 @@
+From 20472f229151ca848196a1d3276d9685cad662a0 Mon Sep 17 00:00:00 2001
+From: Luca Matei Pintilie <luca@lucamatei.com>
+Date: Thu, 6 Jul 2023 21:02:59 +0200
+Subject: [PATCH] SDK telemetry optout
+
+Disables telemetry by default.
+
+Patch copied from Alpine Linux
+and authored by Antoine Martin <dev@ayakael.net>
+---
+ src/sdk/src/Cli/dotnet/Program.cs | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/sdk/src/Cli/dotnet/Program.cs b/src/sdk/src/Cli/dotnet/Program.cs
+index 32a9f4ccc6..ac3f5fd293 100644
+--- a/src/sdk/src/Cli/dotnet/Program.cs
++++ b/src/sdk/src/Cli/dotnet/Program.cs
+@@ -27,6 +27,12 @@ public class Program
+
+ public static int Main(string[] args)
+ {
++ // opt out of telemetry by default if the env var is unset
++ string telemetryValue = Environment.GetEnvironmentVariable("DOTNET_CLI_TELEMETRY_OPTOUT");
++ if (String.IsNullOrEmpty(telemetryValue))
++ {
++ Environment.SetEnvironmentVariable("DOTNET_CLI_TELEMETRY_OPTOUT", "1");
++ }
+ using AutomaticEncodingRestorer _ = new();
+
+ // Setting output encoding is not available on those platforms
+--
+2.41.0
+
diff --git a/srcpkgs/dotnet-sdk/template b/srcpkgs/dotnet-sdk/template
new file mode 100644
index 00000000000..469334d7b78
--- /dev/null
+++ b/srcpkgs/dotnet-sdk/template
@@ -0,0 +1,68 @@
+# Template file for 'dotnet-sdk'
+pkgname=dotnet-sdk
+version=8.0.1
+revision=1
+archs="x86_64"
+hostmakedepends="curl python3 clang cmake tar jq"
+makedepends="llvm15 mit-krb5-devel lttng-ust-devel icu-devel"
+short_desc=".NET is the free framework for building apps and powerful services"
+maintainer="Luca Matei Pintilie <luca@lucamatei.com>"
+license="MIT"
+homepage="https://dotnet.microsoft.com/en-us/"
+changelog="https://github.com/dotnet/dotnet/releases/"
+distfiles="https://github.com/dotnet/dotnet/archive/refs/tags/v${version}.tar.gz
+ https://github.com/dotnet/dotnet/releases/download/v${version}/release.json"
+checksum="df2d95fc3f00fea808bb238edf0d29d27b786307d63bdbf3787466b7f08d7963
+ b1743b0f9b13be66f1d73b296672b19cea7057721448c3326d8716dda9c343c1"
+skip_extraction="release.json"
+
+# Private stuff used throughout below
+_libbase="/usr/lib/dotnet"
+_binbase="/usr/bin/dotnet"
+_rid="x64"
+_releasepath="$XBPS_SRCDISTDIR/$pkgname-$version/release.json"
+
+pre_build() {
+ bash ./prep.sh
+}
+
+do_build() {
+ PATH="/usr/libexec/chroot-git:${PATH}"
+ DOTNET_CLI_TELEMETRY_OPTOUT=1
+ bash ./build.sh \
+ --clean-while-building \
+ --online \
+ --source-repository "$(jq -r .sourceRepository "${_releasepath}")" \
+ --source-version "$(jq -r .sourceVersion "${_releasepath}")"
+}
+
+do_install() {
+ mkdir -p "${DESTDIR}${_libbase}" || true
+ tar xvf "artifacts/${_rid}/Release/dotnet-sdk-$(jq -r .sdkVersion "${_releasepath}")-void-${_rid}.tar.gz" -C "${DESTDIR}${_libbase}"
+ mkdir -p "${DESTDIR}/usr/bin" || true
+ ln -s "$_libbase/dotnet" "$DESTDIR$_binbase" || true
+}
+
+post_install() {
+ vlicense "LICENSE.TXT"
+ vlicense "THIRD-PARTY-NOTICES.txt"
+}
+
+dotnet-runtime_package() {
+ short_desc+=" - runtime"
+ pkg_install() {
+ mkdir -p "${PKGDESTDIR}${_libbase}" || true
+ tar xvf "artifacts/${_rid}/Release/dotnet-runtime-${version}-void-${_rid}.tar.gz" -C "${PKGDESTDIR}${_libbase}"
+ mkdir -p "${PKGDESTDIR}/usr/bin" || true
+ ln -s "$_libbase/dotnet" "$PKGDESTDIR$_binbase" || true
+ }
+}
+
+aspnetcore-runtime_package() {
+ short_desc+=" - aspnetcore-runtime"
+ depends="dotnet-runtime>=${version}_${revision}"
+ pkg_install() {
+ mkdir -p "${PKGDESTDIR}${_libbase}" || true
+ tar xvf "artifacts/${_rid}/Release/aspnetcore-runtime-${version}-void-${_rid}.tar.gz" -C "${PKGDESTDIR}${_libbase}"
+ }
+}