diff --git a/lang/dotnet-runtime/Makefile b/lang/dotnet-runtime/Makefile index 88474a6474f1..26c4f6acc5e7 100644 --- a/lang/dotnet-runtime/Makefile +++ b/lang/dotnet-runtime/Makefile @@ -1,52 +1,53 @@ PORTNAME= dotnet-host DISTVERSIONPREFIX= v DISTVERSION= 9.0.1 +PORTREVISION= 1 CATEGORIES= lang devel MAINTAINER= arrowd@FreeBSD.org COMMENT= Host runtime binary for the .NET platform WWW= https://dot.net LICENSE= MIT NOT_FOR_ARCHS= i386 NOT_FOR_ARCHS_REASON= eng/native/functions.cmake:7: 'i386' is an unsupported architecture. BUILD_DEPENDS= bash:shells/bash USES= cmake:indirect llvm:noexport ssl USE_GITHUB= yes GH_ACCOUNT= dotnet GH_PROJECT= runtime DATADIR= ${PREFIX}/share/dotnet PLIST_FILES= bin/dotnet \ share/dotnet/LICENSE.TXT \ share/dotnet/THIRD-PARTY-NOTICES.TXT \ share/dotnet/dotnet DOTNET_ARCH= ${ARCH:S|amd64|x64|:C|aarch64|arm64|} .if defined(WITH_DEBUG) BUILD_TYPE= Debug .else BUILD_TYPE= Release .endif do-build: cd ${WRKSRC} && ${SETENVI} ${MAKE_ENV} src/native/corehost/build.sh -ci -c ${BUILD_TYPE} post-build: ${ELFCTL} -e +noaslr ${WRKSRC}/artifacts/bin/freebsd-${DOTNET_ARCH}.${BUILD_TYPE}/corehost/dotnet do-install: ${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/artifacts/bin/freebsd-${DOTNET_ARCH}.${BUILD_TYPE}/corehost/dotnet \ ${STAGEDIR}${DATADIR}/ ${INSTALL_DATA} ${WRKSRC}/LICENSE.TXT ${WRKSRC}/THIRD-PARTY-NOTICES.TXT \ ${STAGEDIR}${DATADIR} ${RLN} ${STAGEDIR}${DATADIR}/dotnet ${STAGEDIR}${PREFIX}/bin/dotnet .include diff --git a/lang/dotnet-runtime/files/patch-bundled-libunwind b/lang/dotnet-runtime/files/patch-bundled-libunwind deleted file mode 100644 index 224365ac72d0..000000000000 --- a/lang/dotnet-runtime/files/patch-bundled-libunwind +++ /dev/null @@ -1,42 +0,0 @@ -Use bundled libunwind until at least - -https://github.com/libunwind/libunwind/issues/715 - -is fixed. It is also believed that using bundled libunwind may help against -random crashes on amd64 too. - ---- src/native/corehost/apphost/static/CMakeLists.txt.orig -+++ src/native/corehost/apphost/static/CMakeLists.txt -@@ -244,7 +244,7 @@ endif(CLR_CMAKE_TARGET_APPLE) - - # On *BSD, we always use the libunwind that's part of the OS - if(CLR_CMAKE_TARGET_FREEBSD) -- set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 1) -+ set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 0) - endif() - - if(CLR_CMAKE_USE_SYSTEM_LIBUNWIND AND NOT CLR_CMAKE_TARGET_APPLE) - ---- src/coreclr/pal/src/CMakeLists.txt.orig -+++ src/coreclr/pal/src/CMakeLists.txt -@@ -1,7 +1,7 @@ - if(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_FREEBSD OR CLR_CMAKE_TARGET_HAIKU) - # On OSX and *BSD, we use the libunwind that's part of the OS - # On Haiku, we used a special port of libunwind -- set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 1) -+ set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 0) - endif(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_FREEBSD OR CLR_CMAKE_TARGET_HAIKU) - - if(NOT DEFINED ENV{ROOTFS_DIR}) - ---- src/native/external/libunwind.cmake.orig -+++ src/native/external/libunwind.cmake -@@ -96,7 +96,7 @@ elseif(CLR_CMAKE_TARGET_FREEBSD) - set(libunwind_la_SOURCES_arm_os arm/Gos-freebsd.c) - set(libunwind_la_SOURCES_arm_os_local arm/Los-freebsd.c) - set(libunwind_la_SOURCES_aarch64_os aarch64/Gos-freebsd.c) -- set(libunwind_la_SOURCES_aarch64_os_local aarch64/Los-freebsd.c) -+ set(libunwind_la_SOURCES_aarch64_os_local aarch64/Los-freebsd.c aarch64/setcontext.S) - list(APPEND libunwind_coredump_la_SOURCES coredump/_UCD_access_reg_freebsd.c) - elseif(CLR_CMAKE_HOST_SUNOS) - set(libunwind_la_SOURCES_os ${libunwind_la_SOURCES_os_solaris}) diff --git a/lang/dotnet/Makefile b/lang/dotnet/Makefile index 1f8ad574c065..51e2f3725fd5 100644 --- a/lang/dotnet/Makefile +++ b/lang/dotnet/Makefile @@ -1,114 +1,115 @@ PORTNAME= dotnet DISTVERSIONPREFIX= v DISTVERSION= ${DOTNETVERSION}.1 +PORTREVISION= 1 CATEGORIES= lang devel MASTER_SITES= https://github.com/dotnet/dotnet/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/release.json?dummy=/:dotnetmanifest \ https://github.com/sec/dotnet-core-freebsd-source-build/releases/download/9.0.0-rc.2-native/:bootstrap 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 LICENSE= MIT 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= libbrotlienc.so:archivers/brotli \ libicuuc.so:devel/icu \ libinotify.so:devel/libinotify \ libunwind.so:devel/libunwind RUN_DEPENDS= terminfo-db>0:misc/terminfo-db \ dotnet:lang/dotnet-runtime USES= autoreconf:build gssapi:mit llvm:noexport pkgconfig \ python:build,3.9+ shebangfix ssl USE_GITHUB= yes SHEBANG_FILES= src/diagnostics/src/Tools/dotnet-trace/*.sh BINARY_ALIAS= grep=${LOCALBASE}/bin/ggrep DOTNET_ENV= PYTHON=${PYTHON_CMD} BOOTSTRAP_DOTNETVERSION= 9.0 BOOTSTRAP_SDKVERSION= ${BOOTSTRAP_DOTNETVERSION}.100 BOOTSTRAP_SDKVERSIONSUFFIX= -rc.2.24474.1 BOOTSTRAP_SDKVERSIONBINSUFFIX= -rc.2.24474.11 BOOTSTRAP_SOURCEBUILT_ARTIFACTS_DISTNAME= Private.SourceBuilt.Artifacts.${BOOTSTRAP_SDKVERSION}${BOOTSTRAP_SDKVERSIONSUFFIX}.freebsd.13-${DOTNET_ARCH} BOOTSTRAP_SDK_DISTNAME= dotnet-sdk-${BOOTSTRAP_SDKVERSION}${BOOTSTRAP_SDKVERSIONBINSUFFIX}-freebsd-${DOTNET_ARCH} DOTNETVERSION= 9.0 SDKVERSION= ${DOTNETVERSION}.102 SDKVERSIONSUFFIX= -rtm.24610.9 SDK_DISTNAME= dotnet-sdk-${SDKVERSION}-${SDK_RID} SDK_RID= freebsd.${_OSVERSION_MAJOR}-${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} \ SDK_RID=${SDK_RID} .include .if ${ARCH} == amd64 PLIST_SUB+= VXSORT= .else PLIST_SUB+= VXSORT="@comment " .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 post-patch: ${REINPLACE_CMD} -e 's|linux-${DOTNET_ARCH}|freebsd-${DOTNET_ARCH}|g' \ ${WRKDIR}/bootstrap_sdk/sdk/${BOOTSTRAP_SDKVERSION}${BOOTSTRAP_SDKVERSIONBINSUFFIX}/Microsoft.NETCoreSdk.BundledVersions.props 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 \ --source-build \ -- \ -maxcpucount:${MAKE_JOBS_NUMBER} do-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${WRKSRC}/artifacts/assets/Release/${SDK_DISTNAME}${EXTRACT_SUFX} -C ${STAGEDIR}${DATADIR} ${EXTRACT_AFTER_ARGS} ${FIND} ${WRKSRC}/artifacts/packages/Release -name "*freebsd*.nupkg" -exec \ ${INSTALL_DATA} {} ${STAGEDIR}${DATADIR}/library-packs/ \; ${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 ${FIND} ${STAGEDIR}${DATADIR} -name "*.so" -exec ${STRIP_CMD} -s "{}" ";" ${RLN} ${STAGEDIR}${DATADIR}/dotnet ${STAGEDIR}${PREFIX}/bin/dotnet .include diff --git a/lang/dotnet/files/patch-bundled-libunwind b/lang/dotnet/files/patch-bundled-libunwind deleted file mode 100644 index 72082263884c..000000000000 --- a/lang/dotnet/files/patch-bundled-libunwind +++ /dev/null @@ -1,42 +0,0 @@ -Use bundled libunwind until at least - -https://github.com/libunwind/libunwind/issues/715 - -is fixed. It is also believed that using bundled libunwind may help against -random crashes on amd64 too. - ---- src/runtime/src/native/corehost/apphost/static/CMakeLists.txt.orig -+++ src/runtime/src/native/corehost/apphost/static/CMakeLists.txt -@@ -244,7 +244,7 @@ endif(CLR_CMAKE_TARGET_APPLE) - - # On *BSD, we always use the libunwind that's part of the OS - if(CLR_CMAKE_TARGET_FREEBSD) -- set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 1) -+ set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 0) - endif() - - if(CLR_CMAKE_USE_SYSTEM_LIBUNWIND AND NOT CLR_CMAKE_TARGET_APPLE) - ---- src/runtime/src/coreclr/pal/src/CMakeLists.txt.orig -+++ src/runtime/src/coreclr/pal/src/CMakeLists.txt -@@ -1,7 +1,7 @@ - if(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_FREEBSD OR CLR_CMAKE_TARGET_HAIKU) - # On OSX and *BSD, we use the libunwind that's part of the OS - # On Haiku, we used a special port of libunwind -- set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 1) -+ set(CLR_CMAKE_USE_SYSTEM_LIBUNWIND 0) - endif(CLR_CMAKE_TARGET_OSX OR CLR_CMAKE_TARGET_FREEBSD OR CLR_CMAKE_TARGET_HAIKU) - - if(NOT DEFINED ENV{ROOTFS_DIR}) - ---- src/runtime/src/native/external/libunwind.cmake.orig -+++ src/runtime/src/native/external/libunwind.cmake -@@ -96,7 +96,7 @@ elseif(CLR_CMAKE_TARGET_FREEBSD) - set(libunwind_la_SOURCES_arm_os arm/Gos-freebsd.c) - set(libunwind_la_SOURCES_arm_os_local arm/Los-freebsd.c) - set(libunwind_la_SOURCES_aarch64_os aarch64/Gos-freebsd.c) -- set(libunwind_la_SOURCES_aarch64_os_local aarch64/Los-freebsd.c) -+ set(libunwind_la_SOURCES_aarch64_os_local aarch64/Los-freebsd.c aarch64/setcontext.S) - list(APPEND libunwind_coredump_la_SOURCES coredump/_UCD_access_reg_freebsd.c) - elseif(CLR_CMAKE_HOST_SUNOS) - set(libunwind_la_SOURCES_os ${libunwind_la_SOURCES_os_solaris})