git: f56b1e6a8ed5 - main - lang/dotnet: Add a hidden DOTNET_PORTABLE option to be used when producing bootstraps

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Sun, 23 Feb 2025 19:10:55 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f56b1e6a8ed5078e60d11f66a5efe2911bdba0ae

commit f56b1e6a8ed5078e60d11f66a5efe2911bdba0ae
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2025-02-23 19:10:00 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2025-02-23 19:10:48 +0000

    lang/dotnet: Add a hidden DOTNET_PORTABLE option to be used when producing bootstraps
---
 lang/dotnet/Makefile  | 12 +++++++++++-
 lang/dotnet/pkg-plist |  2 +-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/lang/dotnet/Makefile b/lang/dotnet/Makefile
index 5a7f2cdd5721..c6dc65f21b09 100644
--- a/lang/dotnet/Makefile
+++ b/lang/dotnet/Makefile
@@ -63,6 +63,14 @@ PLIST_SUB=	DOTNET_ARCH=${DOTNET_ARCH} FULL_DOTNETVERSION=${PORTVERSION} \
 		SDKSERVICESUFFIX=${SDKSERVICESUFFIX} MANIFESTSUFFIX=${MANIFESTSUFFIX} \
 		LIBPACKSUFFIX=${LIBPACKSUFFIX}
 
+.if defined(DOTNET_PORTABLE)
+SDK_RID=		freebsd-${DOTNET_ARCH}
+PORTABLE_BUILD_FLAG=	/p:PortableBuild=true
+PLIST_SUB+=	NONPORTABLE="@comment "
+.else
+PLIST_SUB+=	NONPORTABLE=
+.endif
+
 .include <bsd.port.pre.mk>
 
 .if ${SSL_DEFAULT} == base
@@ -110,7 +118,8 @@ do-build:
 		--with-packages ${WRKDIR}/packages \
 		--source-build \
 		-- \
-		-maxcpucount:${MAKE_JOBS_NUMBER}
+		-maxcpucount:${MAKE_JOBS_NUMBER} \
+		${PORTABLE_BUILD_FLAG}
 
 do-install:
 	@${MKDIR} ${STAGEDIR}${DATADIR}
@@ -118,6 +127,7 @@ do-install:
 	${FIND} ${WRKSRC}/artifacts/packages/Release -name "*freebsd*.nupkg" -exec \
 		${INSTALL_DATA} {} ${STAGEDIR}${DATADIR}/library-packs/ \;
 
+	${STRIP_CMD} ${STAGEDIR}${DATADIR}/dotnet
 	${STRIP_CMD} ${STAGEDIR}${DATADIR}/sdk/${SDKVERSION}/AppHostTemplate/apphost
 	${STRIP_CMD} ${STAGEDIR}${DATADIR}/packs/Microsoft.NETCore.App.Host.${SDK_RID}/${DISTVERSION}/runtimes/${SDK_RID}/native/apphost
 	${STRIP_CMD} ${STAGEDIR}${DATADIR}/packs/Microsoft.NETCore.App.Host.${SDK_RID}/${DISTVERSION}/runtimes/${SDK_RID}/native/singlefilehost
diff --git a/lang/dotnet/pkg-plist b/lang/dotnet/pkg-plist
index 1699b3632687..edf1c65c3591 100644
--- a/lang/dotnet/pkg-plist
+++ b/lang/dotnet/pkg-plist
@@ -1514,7 +1514,7 @@
 %%DATADIR%%/packs/runtime.%%SDK_RID%%.Microsoft.DotNet.ILCompiler/%%FULL_DOTNETVERSION%%/sdk/libstandalonegc-enabled.a
 %%DATADIR%%/packs/runtime.%%SDK_RID%%.Microsoft.DotNet.ILCompiler/%%FULL_DOTNETVERSION%%/sdk/libstdc++compat.a
 %%DATADIR%%/packs/runtime.%%SDK_RID%%.Microsoft.DotNet.ILCompiler/%%FULL_DOTNETVERSION%%/sdk/libz.a
-%%DATADIR%%/packs/runtime.%%SDK_RID%%.Microsoft.DotNet.ILCompiler/%%FULL_DOTNETVERSION%%/sdk/nonportable.txt
+%%NONPORTABLE%%%%DATADIR%%/packs/runtime.%%SDK_RID%%.Microsoft.DotNet.ILCompiler/%%FULL_DOTNETVERSION%%/sdk/nonportable.txt
 %%DATADIR%%/packs/runtime.%%SDK_RID%%.Microsoft.DotNet.ILCompiler/%%FULL_DOTNETVERSION%%/tools/ilc
 %%DATADIR%%/packs/runtime.%%SDK_RID%%.Microsoft.DotNet.ILCompiler/%%FULL_DOTNETVERSION%%/tools/libclrjit_universal_arm64_%%DOTNET_ARCH%%.so
 %%DATADIR%%/packs/runtime.%%SDK_RID%%.Microsoft.DotNet.ILCompiler/%%FULL_DOTNETVERSION%%/tools/libclrjit_universal_arm_%%DOTNET_ARCH%%.so