summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/dotnet/Makefile49
-rw-r--r--lang/dotnet8/Makefile120
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"