Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Oct 2025 17:06:59 GMT
From:      Gleb Popov <arrowd@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 1c9c8045c26c - main - lang/dotnet*: Convert to master/slave ports
Message-ID:  <202510091706.599H6xXq082448@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by arrowd:

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

commit 1c9c8045c26c01aa0ce641ea3e178d361d4a0129
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2025-10-09 17:06:30 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2025-10-09 17:06:50 +0000

    lang/dotnet*: Convert to master/slave ports
---
 lang/dotnet/Makefile  |  49 +++++++++++++--------
 lang/dotnet8/Makefile | 120 ++++++--------------------------------------------
 2 files changed, 44 insertions(+), 125 deletions(-)

diff --git a/lang/dotnet/Makefile b/lang/dotnet/Makefile
index d467f22cfbce..b746ef87cbee 100644
--- a/lang/dotnet/Makefile
+++ b/lang/dotnet/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	dotnet
-DISTVERSION=	${DOTNETVERSION}.9
+DISTVERSION?=	${DOTNETVERSION}.9
+PORTREVISION?=	0
 CATEGORIES=	lang devel
 MASTER_SITES=	https://github.com/dotnet/dotnet/releases/download/${GH_TAGNAME}/release.json?dummy=/:dotnetmanifest \
 		LOCAL/arrowd/dotnet/:bootstrap
@@ -35,26 +36,28 @@ USES=		autoreconf:build gssapi:mit llvm:noexport pkgconfig \
 USE_GITHUB=	yes
 GH_TAGNAME=	v${SDKVERSION}
 
-SHEBANG_FILES=	src/diagnostics/src/Tools/dotnet-trace/*.sh
+SHEBANG_FILES+=	src/diagnostics/src/Tools/dotnet-trace/*.sh
 
 BINARY_ALIAS=	grep=${LOCALBASE}/bin/ggrep
-DOTNET_ENV=	PYTHON=${PYTHON_CMD}
+DOTNET_ENV+=	PYTHON=${PYTHON_CMD}
 
-BOOTSTRAP_DOTNETVERSION=			9.0
-BOOTSTRAP_SDKVERSION=				${BOOTSTRAP_DOTNETVERSION}.110
-BOOTSTRAP_SDKVERSIONSUFFIX=			-servicing.25421.1
+BOOTSTRAP_DOTNETVERSION?=			9.0
+BOOTSTRAP_SDKVERSION?=				${BOOTSTRAP_DOTNETVERSION}.110
+BOOTSTRAP_SDKVERSIONSUFFIX?=			-servicing.25421.1
 BOOTSTRAP_SOURCEBUILT_ARTIFACTS_DISTNAME=	Private.SourceBuilt.Artifacts.${BOOTSTRAP_SDKVERSION}${BOOTSTRAP_SDKVERSIONSUFFIX}.freebsd.13-${DOTNET_ARCH}
 BOOTSTRAP_SDK_DISTNAME=				dotnet-sdk-${BOOTSTRAP_SDKVERSION}-freebsd-${DOTNET_ARCH}
 
-DOTNETVERSION=		9.0
-SDKVERSION=		${DOTNETVERSION}.110
-SDKVERSIONSUFFIX=	-servicing.25420.3
+DOTNETVERSION?=		9.0
+SDKVERSION?=		${DOTNETVERSION}.110
+SDKVERSIONSUFFIX?=	-servicing.25420.3
 SDKSERVICESUFFIX=	-servicing.25421.1
 MANIFESTSUFFIX=		${DOTNETVERSION}.100
-SDK_DISTNAME=		dotnet-sdk-${SDKVERSION}-${SDK_RID}
-SDK_RID=		freebsd.${_OSVERSION_MAJOR}-${DOTNET_ARCH}
 DOTNET_ARCH=		${ARCH:S|amd64|x64|:C|aarch64|arm64|}
+SDK_DISTNAME?=		dotnet-sdk-${SDKVERSION}-${SDK_RID}
+SDK_RID?=		freebsd.${_OSVERSION_MAJOR}-${DOTNET_ARCH}
+DOTNET_BUILD_SH_EXTRA_FLAGS?=	--source-build
 
+ARTIFACTS_SUBDIR?=	/artifacts/assets/Release
 SOURCEBUILT_ARTIFACTS_DISTNAME?=Private.SourceBuilt.Artifacts.${SDKVERSION}${SDKSERVICESUFFIX}.freebsd-${DOTNET_ARCH}
 
 PLIST_SUB=	DOTNET_ARCH=${DOTNET_ARCH} FULL_DOTNETVERSION=${DISTVERSION} \
@@ -72,7 +75,11 @@ PLIST_SUB+=	NONPORTABLE=
 
 .include <bsd.port.pre.mk>
 
-.if ${SSL_DEFAULT} == base
+.if ${DOTNETVERSION:R} == 8 && ${ARCH} == aarch64
+BROKEN=		"crossgen2" exited with code 139
+.endif
+
+.if ${SSL_DEFAULT} == base && ${DOTNETVERSION:R} > 8
 EXTRA_PATCHES=	${PATCHDIR}/extra-patch-base-openssl
 .endif
 
@@ -109,31 +116,37 @@ do-build:
 		--clean-while-building \
 		--with-sdk ${WRKDIR}/bootstrap_sdk \
 		--with-packages ${WRKDIR}/packages \
-		--source-build \
+		${DOTNET_BUILD_SH_EXTRA_FLAGS} \
 		-- \
 		-maxcpucount:${MAKE_JOBS_NUMBER} \
 		${PORTABLE_BUILD_FLAG}
 
 do-install:
 	@${MKDIR} ${STAGEDIR}${DATADIR}
-	${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${WRKSRC}/artifacts/assets/Release/${SDK_DISTNAME}${EXTRACT_SUFX} -C ${STAGEDIR}${DATADIR} ${EXTRACT_AFTER_ARGS}
+	${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${WRKSRC}${ARTIFACTS_SUBDIR}/${SDK_DISTNAME}${EXTRACT_SUFX} -C ${STAGEDIR}${DATADIR} ${EXTRACT_AFTER_ARGS}
+.if ${DOTNETVERSION:R} == 8
+	${RM} -r ${STAGEDIR}${DATADIR}/packs/NETStandard.Library.Ref
+.else
 	${FIND} ${WRKSRC}/artifacts/packages/Release -name "*freebsd*.nupkg" -exec \
 		${INSTALL_DATA} {} ${STAGEDIR}${DATADIR}/library-packs/ \;
+.endif
 
 	${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
+.if ${DOTNETVERSION:R} > 8
 	${STRIP_CMD} ${STAGEDIR}${DATADIR}/packs/runtime.${SDK_RID}.Microsoft.DotNet.ILCompiler/${DISTVERSION}/tools/ilc
+.endif
 	${FIND} ${STAGEDIR}${DATADIR} -name "*.so" -exec ${STRIP_CMD} -s "{}" ";"
 
 bootstrap-makesum:
-	cd ${WRKSRC}/artifacts/assets/Release && sha256 ${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}
+	cd ${WRKSRC}${ARTIFACTS_SUBDIR} && sha256 ${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}
 	@${ECHO_CMD} -n "SIZE (${DIST_SUBDIR}/${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}) = "
-	@${STAT} -f %z ${WRKSRC}/artifacts/assets/Release/${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}
+	@${STAT} -f %z ${WRKSRC}${ARTIFACTS_SUBDIR}/${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}
 
-	@cd ${WRKSRC}/artifacts/assets/Release && sha256 ${SDK_DISTNAME}${EXTRACT_SUFX}
+	@cd ${WRKSRC}${ARTIFACTS_SUBDIR} && sha256 ${SDK_DISTNAME}${EXTRACT_SUFX}
 	@${ECHO_CMD} -n "SIZE (${DIST_SUBDIR}/${SDK_DISTNAME}${EXTRACT_SUFX}) = "
-	@${STAT} -f %z ${WRKSRC}/artifacts/assets/Release/${SDK_DISTNAME}${EXTRACT_SUFX}
+	@${STAT} -f %z ${WRKSRC}${ARTIFACTS_SUBDIR}/${SDK_DISTNAME}${EXTRACT_SUFX}
 
 	@${ECHO_CMD}
 
diff --git a/lang/dotnet8/Makefile b/lang/dotnet8/Makefile
index f932757d464a..c63474b8e068 100644
--- a/lang/dotnet8/Makefile
+++ b/lang/dotnet8/Makefile
@@ -1,119 +1,25 @@
-PORTNAME=	dotnet
 DISTVERSION=	${DOTNETVERSION}.20
-CATEGORIES=	lang devel
-MASTER_SITES=	https://github.com/dotnet/dotnet/releases/download/${GH_TAGNAME}/release.json?dummy=/:dotnetmanifest \
-		LOCAL/arrowd/dotnet/:bootstrap
 PKGNAMESUFFIX=	8
-DISTFILES=	release.json-${PORTVERSION}:dotnetmanifest \
-		${BOOTSTRAP_SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}:bootstrap \
-		${BOOTSTRAP_SDK_DISTNAME}${EXTRACT_SUFX}:bootstrap
-DIST_SUBDIR=	dotnet
-EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 
-MAINTAINER=	arrowd@FreeBSD.org
-COMMENT=	Open-source developer platform and a cross-platform runtime for cloud, mobile, desktop, and IoT apps
-WWW=		https://dot.net
+SHEBANG_FILES=	src/source-build-externals/src/azure-activedirectory-identitymodel-extensions-for-dotnet/updateAssemblyInfo.sh
 
-LICENSE=	MIT
+DOTNET_ENV=	PATH=${PATH}:${LLVM_PREFIX}/bin
 
-ONLY_FOR_ARCHS=	aarch64 amd64
-
-BUILD_DEPENDS=	bash:shells/bash \
-		cmake:devel/cmake-core \
-		git:devel/git \
-		ggrep:textproc/gnugrep \
-		terminfo-db>0:misc/terminfo-db
-LIB_DEPENDS=	libicuuc.so:devel/icu \
-		libinotify.so:devel/libinotify \
-		libunwind.so:devel/libunwind
-RUN_DEPENDS=	terminfo-db>0:misc/terminfo-db \
-		dotnet:lang/dotnet-host
-
-USES=		autoreconf:build gssapi:mit llvm:noexport pkgconfig \
-		python:build,3.9+ shebangfix ssl
-
-USE_GITHUB=	yes
-GH_TAGNAME=	v${SDKVERSION}
-
-SHEBANG_FILES=	src/diagnostics/src/Tools/dotnet-trace/*.sh \
-		src/source-build-externals/src/azure-activedirectory-identitymodel-extensions-for-dotnet/updateAssemblyInfo.sh
-
-BINARY_ALIAS=	grep=${LOCALBASE}/bin/ggrep
-DOTNET_ENV=	PYTHON=${PYTHON_CMD} PATH=${PATH}:${LLVM_PREFIX}/bin
-
-BOOTSTRAP_DOTNETVERSION=			8.0
-BOOTSTRAP_SDKVERSION=				${BOOTSTRAP_DOTNETVERSION}.120
-BOOTSTRAP_SDKVERSIONSUFFIX=			-servicing.25421.1
-BOOTSTRAP_SOURCEBUILT_ARTIFACTS_DISTNAME=	Private.SourceBuilt.Artifacts.${BOOTSTRAP_SDKVERSION}${BOOTSTRAP_SDKVERSIONSUFFIX}.freebsd.13-${DOTNET_ARCH}
-BOOTSTRAP_SDK_DISTNAME=				dotnet-sdk-${BOOTSTRAP_SDKVERSION}-freebsd-${DOTNET_ARCH}
+BOOTSTRAP_DOTNETVERSION=	8.0
+BOOTSTRAP_SDKVERSION=		${BOOTSTRAP_DOTNETVERSION}.120
+BOOTSTRAP_SDKVERSIONSUFFIX=	-servicing.25421.1
 
 DOTNETVERSION=			8.0
 SDKVERSION=			${DOTNETVERSION}.120
 SDKVERSIONSUFFIX=		-servicing.25323.1
-SOURCEBUILT_ARTIFACTS_DISTNAME?=Private.SourceBuilt.Artifacts.${SDKVERSION}${SDKVERSIONSUFFIX}.freebsd.13-${DOTNET_ARCH}
-SDK_DISTNAME=			dotnet-sdk-${SDKVERSION}-freebsd-${DOTNET_ARCH}
-DOTNET_ARCH=				${ARCH:S|amd64|x64|:C|aarch64|arm64|}
-
-PLIST_SUB=			DOTNET_ARCH=${DOTNET_ARCH} FULL_DOTNETVERSION=${PORTVERSION} \
-				DOTNETVERSION=${DOTNETVERSION} \
-				SDKVERSION=${SDKVERSION} SDKVERSIONSUFFIX=${SDKVERSIONSUFFIX} \
-				BOOTSTRAP_SDKVERSION=${BOOTSTRAP_SDKVERSION}
-
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} >= 1400000
-LIB_DEPENDS+=	libcrypto.so.111:misc/compat13x
-.endif
-
-.if ${ARCH} == aarch64
-BROKEN=		"crossgen2" exited with code 139
-.endif
-
-post-extract:
-	${CP} ${DISTDIR}/${DIST_SUBDIR}/release.json-${PORTVERSION} ${WRKSRC}/release.json
-
-	@${MKDIR} ${WRKDIR}/packages
-	${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \
-		${DISTDIR}/${DIST_SUBDIR}/${BOOTSTRAP_SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX} \
-		-C ${WRKDIR}/packages \
-		${EXTRACT_AFTER_ARGS}
-
-	@${MKDIR} ${WRKDIR}/bootstrap_sdk
-	${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \
-		${DISTDIR}/${DIST_SUBDIR}/${BOOTSTRAP_SDK_DISTNAME}${EXTRACT_SUFX} \
-		-C ${WRKDIR}/bootstrap_sdk \
-		${EXTRACT_AFTER_ARGS}
-
-	${ELFCTL} -e +noaslr ${WRKDIR}/bootstrap_sdk/dotnet
-
-do-build:
-	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${DOTNET_ENV} ./build.sh \
-		--release-manifest release.json \
-		--clean-while-building \
-		--with-sdk ${WRKDIR}/bootstrap_sdk \
-		--with-packages ${WRKDIR}/packages \
-		-- \
-		-maxcpucount:${MAKE_JOBS_NUMBER}
-
-do-install:
-	@${MKDIR} ${STAGEDIR}${DATADIR}
-	${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${WRKSRC}/artifacts/${DOTNET_ARCH}/Release/${SDK_DISTNAME}${EXTRACT_SUFX} -C ${STAGEDIR}${DATADIR} ${EXTRACT_AFTER_ARGS}
-	${RM} -r ${STAGEDIR}${DATADIR}/packs/NETStandard.Library.Ref
-
-	${STRIP_CMD} ${STAGEDIR}${DATADIR}/sdk/${SDKVERSION}/AppHostTemplate/apphost
-	${STRIP_CMD} ${STAGEDIR}${DATADIR}/packs/Microsoft.NETCore.App.Host.freebsd-${DOTNET_ARCH}/${DISTVERSION}/runtimes/freebsd-${DOTNET_ARCH}/native/apphost
-	${STRIP_CMD} ${STAGEDIR}${DATADIR}/packs/Microsoft.NETCore.App.Host.freebsd-${DOTNET_ARCH}/${DISTVERSION}/runtimes/freebsd-${DOTNET_ARCH}/native/singlefilehost
-	${FIND} ${STAGEDIR}${DATADIR} -name "*.so" -exec ${STRIP_CMD} -s "{}" ";"
-
-bootstrap-makesum:
-	cd ${WRKSRC}/artifacts/${DOTNET_ARCH}/Release && sha256 ${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}
-	@${ECHO_CMD} -n "SIZE (${DIST_SUBDIR}/${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}) = "
-	@${STAT} -f %z ${WRKSRC}/artifacts/${DOTNET_ARCH}/Release/${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}
+SDK_RID=			freebsd-${DOTNET_ARCH}
 
-	@cd ${WRKSRC}/artifacts/${DOTNET_ARCH}/Release && sha256 ${SDK_DISTNAME}${EXTRACT_SUFX}
-	@${ECHO_CMD} -n "SIZE (${DIST_SUBDIR}/${SDK_DISTNAME}${EXTRACT_SUFX}) = "
-	@${STAT} -f %z ${WRKSRC}/artifacts/${DOTNET_ARCH}/Release/${SDK_DISTNAME}${EXTRACT_SUFX}
+DOTNET_BUILD_SH_EXTRA_FLAGS=
+ARTIFACTS_SUBDIR=	/artifacts/${DOTNET_ARCH}/Release
 
-	@${ECHO_CMD}
+MASTERDIR=	${.CURDIR}/../dotnet
+PATCHDIR=	${.CURDIR}/files
+DISTINFO_FILE=	${.CURDIR}/distinfo
+PLIST=		${.CURDIR}/pkg-plist
 
-.include <bsd.port.post.mk>
+.include	"${MASTERDIR}/Makefile"


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510091706.599H6xXq082448>