lang/dotnet: Microsoft .NET programming framework
This commit is contained in:
parent
1c7a06b4e3
commit
48daa424f9
8 changed files with 4250 additions and 0 deletions
109
lang/dotnet/Makefile
Normal file
109
lang/dotnet/Makefile
Normal file
|
@ -0,0 +1,109 @@
|
|||
PORTNAME= dotnet
|
||||
DISTVERSIONPREFIX= v
|
||||
DISTVERSION= ${DOTNETVERSION}.0
|
||||
CATEGORIES= lang devel
|
||||
MASTER_SITES= https://github.com/dotnet/dotnet/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/release.json?dummy=/:dotnetmanifest \
|
||||
LOCAL/arrowd/dotnet/:bootstrap
|
||||
DISTFILES= release.json-${PORTVERSION}:dotnetmanifest \
|
||||
${BOOTSTRAP_SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}:bootstrap \
|
||||
${BOOTSTRAP_SDK_DISTNAME}${EXTRACT_SUFX}:bootstrap
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
USES= autoreconf:build gssapi:mit llvm:noexport nodejs pkgconfig \
|
||||
python:build,3.9+ shebangfix ssl
|
||||
|
||||
USE_GITHUB= yes
|
||||
|
||||
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}
|
||||
|
||||
DIST_SUBDIR= dotnet
|
||||
|
||||
BOOTSTRAP_DOTNETVERSION= 8.0
|
||||
BOOTSTRAP_SDKVERSION= ${BOOTSTRAP_DOTNETVERSION}.100
|
||||
BOOTSTRAP_SDKVERSIONSUFFIX= -rtm.23551.1
|
||||
BOOTSTRAP_SOURCEBUILT_ARTIFACTS_DISTNAME= Private.SourceBuilt.Artifacts.${BOOTSTRAP_SDKVERSION}${BOOTSTRAP_SDKVERSIONSUFFIX}.freebsd.13-x64
|
||||
BOOTSTRAP_SDK_DISTNAME= dotnet-sdk-${BOOTSTRAP_SDKVERSION}-freebsd-x64
|
||||
|
||||
DOTNETVERSION= 8.0
|
||||
SDKVERSION= ${DOTNETVERSION}.100
|
||||
SDKVERSIONSUFFIX= -rtm.23551.1
|
||||
SOURCEBUILT_ARTIFACTS_DISTNAME= Private.SourceBuilt.Artifacts.${SDKVERSION}${SDKVERSIONSUFFIX}.freebsd.13-x64
|
||||
SDK_DISTNAME= dotnet-sdk-${SDKVERSION}-freebsd-x64
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if ${OSVERSION} >= 1400000
|
||||
LIB_DEPENDS+= libcrypto.so.111:misc/compat13x
|
||||
.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}${PREFIX}/dotnet
|
||||
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${WRKSRC}/artifacts/x64/Release/${SDK_DISTNAME}${EXTRACT_SUFX} -C ${STAGEDIR}${PREFIX}/dotnet ${EXTRACT_AFTER_ARGS}
|
||||
${ELFCTL} -e +noaslr ${STAGEDIR}${PREFIX}/dotnet/dotnet
|
||||
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/dotnet/dotnet
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/dotnet/sdk/${SDKVERSION}/AppHostTemplate/apphost
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/dotnet/packs/Microsoft.NETCore.App.Host.freebsd-x64/${DISTVERSION}/runtimes/freebsd-x64/native/apphost
|
||||
${STRIP_CMD} ${STAGEDIR}${PREFIX}/dotnet/packs/Microsoft.NETCore.App.Host.freebsd-x64/${DISTVERSION}/runtimes/freebsd-x64/native/singlefilehost
|
||||
${FIND} ${STAGEDIR}${PREFIX}/dotnet -name "*.so" -exec ${STRIP_CMD} -s "{}" ";"
|
||||
|
||||
${RLN} ${STAGEDIR}${PREFIX}/dotnet/dotnet ${STAGEDIR}${PREFIX}/bin/dotnet
|
||||
|
||||
bootstrap-makesum:
|
||||
@cd ${WRKSRC}/artifacts/x64/Release && sha256 ${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}
|
||||
@${ECHO_CMD} -n "SIZE (${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}) = "
|
||||
@${STAT} -f %z ${WRKSRC}/artifacts/x64/Release/${SOURCEBUILT_ARTIFACTS_DISTNAME}${EXTRACT_SUFX}
|
||||
|
||||
@cd ${WRKSRC}/artifacts/x64/Release && sha256 ${SDK_DISTNAME}${EXTRACT_SUFX}
|
||||
@${ECHO_CMD} -n "SIZE (${SDK_DISTNAME}${EXTRACT_SUFX}) = "
|
||||
@${STAT} -f %z ${WRKSRC}/artifacts/x64/Release/${SDK_DISTNAME}${EXTRACT_SUFX}
|
||||
|
||||
@${ECHO_CMD}
|
||||
|
||||
.include <bsd.port.post.mk>
|
9
lang/dotnet/distinfo
Normal file
9
lang/dotnet/distinfo
Normal file
|
@ -0,0 +1,9 @@
|
|||
TIMESTAMP = 1703335237
|
||||
SHA256 (dotnet/release.json-8.0.0) = dab198858ac1c42ca7157b0d629bc4593e7b946b41c84c176713bbe31d32acbc
|
||||
SIZE (dotnet/release.json-8.0.0) = 241
|
||||
SHA256 (dotnet/Private.SourceBuilt.Artifacts.8.0.100-rtm.23551.1.freebsd.13-x64.tar.gz) = b91acf8ac130274fb40110f6af1d92f2348613f8cb0943b8b87f853351c8d6d2
|
||||
SIZE (dotnet/Private.SourceBuilt.Artifacts.8.0.100-rtm.23551.1.freebsd.13-x64.tar.gz) = 1162274049
|
||||
SHA256 (dotnet/dotnet-sdk-8.0.100-freebsd-x64.tar.gz) = d6118ff2cb9ded82eeeb976f3001bdea4ea2904e276b27ef526f458059e04149
|
||||
SIZE (dotnet/dotnet-sdk-8.0.100-freebsd-x64.tar.gz) = 385932876
|
||||
SHA256 (dotnet/dotnet-dotnet-v8.0.0_GH0.tar.gz) = 84f967761223cfbb287404eae959c2dcd952639d35724bfbacd63edb6ac57c5a
|
||||
SIZE (dotnet/dotnet-dotnet-v8.0.0_GH0.tar.gz) = 282103151
|
|
@ -0,0 +1,37 @@
|
|||
--- src/installer/src/redist/targets/GenerateBundledVersions.targets.orig 2023-11-01 21:55:24 UTC
|
||||
+++ src/installer/src/redist/targets/GenerateBundledVersions.targets
|
||||
@@ -160,7 +160,7 @@
|
||||
win-x86;
|
||||
" />
|
||||
|
||||
- <NetCore31RuntimePackRids Include="@(NetCore30RuntimePackRids)"/>
|
||||
+ <NetCore31RuntimePackRids Include="@(NetCore30RuntimePackRids);freebsd-x64"/>
|
||||
|
||||
<Net50AppHostRids Include="
|
||||
@(NetCore31RuntimePackRids);
|
||||
@@ -281,7 +281,7 @@
|
||||
linux-arm64;
|
||||
" />
|
||||
|
||||
- <Net50Crossgen2SupportedRids Include="linux-musl-x64;linux-x64;win-x64" />
|
||||
+ <Net50Crossgen2SupportedRids Include="linux-musl-x64;linux-x64;win-x64;freebsd-x64" />
|
||||
|
||||
<Net60Crossgen2SupportedRids Include="
|
||||
@(Net50Crossgen2SupportedRids);
|
||||
@@ -317,6 +317,7 @@
|
||||
@(Net70ILCompilerSupportedRids);
|
||||
osx-x64;
|
||||
osx-arm64;
|
||||
+ freebsd-x64;
|
||||
" />
|
||||
|
||||
<NativeAOTRuntimePackRids Include="
|
||||
@@ -335,7 +336,7 @@
|
||||
"
|
||||
/>
|
||||
|
||||
- <AspNetCore31RuntimePackRids Include="@(AspNetCore30RuntimePackRids)" />
|
||||
+ <AspNetCore31RuntimePackRids Include="@(AspNetCore30RuntimePackRids);freebsd-x64" />
|
||||
<AspNetCore50RuntimePackRids Include="@(AspNetCore31RuntimePackRids);linux-musl-arm;win-arm64" />
|
||||
<AspNetCore60RuntimePackRids Include="@(AspNetCore50RuntimePackRids);osx-arm64;linux-s390x" />
|
||||
<AspNetCore70RuntimePackRids Include="@(AspNetCore60RuntimePackRids);linux-ppc64le" />
|
|
@ -0,0 +1,62 @@
|
|||
--- src/runtime/src/coreclr/gc/unix/gcenv.unix.cpp.orig 2023-11-01 21:55:24 UTC
|
||||
+++ src/runtime/src/coreclr/gc/unix/gcenv.unix.cpp
|
||||
@@ -1171,7 +1171,34 @@ uint64_t GetAvailablePhysicalMemory()
|
||||
uint64_t available = 0;
|
||||
|
||||
// Get the physical memory available.
|
||||
-#ifndef __APPLE__
|
||||
+#if defined(__APPLE__)
|
||||
+ vm_size_t page_size;
|
||||
+ mach_port_t mach_port;
|
||||
+ mach_msg_type_number_t count;
|
||||
+ vm_statistics_data_t vm_stats;
|
||||
+ mach_port = mach_host_self();
|
||||
+ count = sizeof(vm_stats) / sizeof(natural_t);
|
||||
+ if (KERN_SUCCESS == host_page_size(mach_port, &page_size))
|
||||
+ {
|
||||
+ if (KERN_SUCCESS == host_statistics(mach_port, HOST_VM_INFO, (host_info_t)&vm_stats, &count))
|
||||
+ {
|
||||
+ available = (int64_t)vm_stats.free_count * (int64_t)page_size;
|
||||
+ }
|
||||
+ }
|
||||
+ mach_port_deallocate(mach_task_self(), mach_port);
|
||||
+#elif defined(__FreeBSD__)
|
||||
+ size_t inactive_count = 0, laundry_count = 0, free_count = 0;
|
||||
+ size_t sz = sizeof(inactive_count);
|
||||
+ sysctlbyname("vm.stats.vm.v_inactive_count", &inactive_count, &sz, NULL, 0);
|
||||
+
|
||||
+ sz = sizeof(laundry_count);
|
||||
+ sysctlbyname("vm.stats.vm.v_laundry_count", &laundry_count, &sz, NULL, 0);
|
||||
+
|
||||
+ sz = sizeof(free_count);
|
||||
+ sysctlbyname("vm.stats.vm.v_free_count", &free_count, &sz, NULL, 0);
|
||||
+
|
||||
+ available = (inactive_count + laundry_count + free_count) * sysconf(_SC_PAGESIZE);
|
||||
+#else // Linux
|
||||
static volatile bool tryReadMemInfo = true;
|
||||
|
||||
if (tryReadMemInfo)
|
||||
@@ -1187,22 +1214,7 @@ uint64_t GetAvailablePhysicalMemory()
|
||||
// Fall back to getting the available pages using sysconf.
|
||||
available = sysconf(SYSCONF_PAGES) * sysconf(_SC_PAGE_SIZE);
|
||||
}
|
||||
-#else // __APPLE__
|
||||
- vm_size_t page_size;
|
||||
- mach_port_t mach_port;
|
||||
- mach_msg_type_number_t count;
|
||||
- vm_statistics_data_t vm_stats;
|
||||
- mach_port = mach_host_self();
|
||||
- count = sizeof(vm_stats) / sizeof(natural_t);
|
||||
- if (KERN_SUCCESS == host_page_size(mach_port, &page_size))
|
||||
- {
|
||||
- if (KERN_SUCCESS == host_statistics(mach_port, HOST_VM_INFO, (host_info_t)&vm_stats, &count))
|
||||
- {
|
||||
- available = (int64_t)vm_stats.free_count * (int64_t)page_size;
|
||||
- }
|
||||
- }
|
||||
- mach_port_deallocate(mach_task_self(), mach_port);
|
||||
-#endif // __APPLE__
|
||||
+#endif
|
||||
|
||||
return available;
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
--- src/runtime/src/libraries/System.Runtime/tests/System/GCTests.cs.orig 2023-11-01 21:55:24 UTC
|
||||
+++ src/runtime/src/libraries/System.Runtime/tests/System/GCTests.cs
|
||||
@@ -818,7 +818,6 @@ namespace System.Tests
|
||||
|
||||
private static bool IsNotArmProcessAndRemoteExecutorSupported => PlatformDetection.IsNotArmProcess && RemoteExecutor.IsSupported;
|
||||
|
||||
- [ActiveIssue("https://github.com/dotnet/runtime/issues/64935", TestPlatforms.FreeBSD)]
|
||||
[ActiveIssue("https://github.com/dotnet/runtime/issues/73167", TestRuntimes.Mono)]
|
||||
[ConditionalFact(nameof(IsNotArmProcessAndRemoteExecutorSupported))] // [ActiveIssue("https://github.com/dotnet/runtime/issues/29434")]
|
||||
public static void GetGCMemoryInfo()
|
|
@ -0,0 +1,11 @@
|
|||
--- src/runtime/src/native/libs/System.Native/pal_networkstatistics.c.orig 2023-11-01 21:55:24 UTC
|
||||
+++ src/runtime/src/native/libs/System.Native/pal_networkstatistics.c
|
||||
@@ -58,6 +58,8 @@
|
||||
#elif HAVE_IOS_NETINET_IP_VAR_H
|
||||
#include "ios/netinet/ip_var.h"
|
||||
#endif
|
||||
+#include <sys/callout.h>
|
||||
+#include <sys/osd.h>
|
||||
#include <netinet/tcp_var.h>
|
||||
#include <netinet/tcp.h>
|
||||
#if HAVE_TCP_FSM_H
|
4
lang/dotnet/pkg-descr
Normal file
4
lang/dotnet/pkg-descr
Normal file
|
@ -0,0 +1,4 @@
|
|||
.NET is an open source developer platform, created by Microsoft, for building
|
||||
many different types of applications. It provides a standard set of base class
|
||||
libraries and APIs that are common to all .NET applications. .NET apps can be
|
||||
written in such languages as C#, F#, or Visual Basic.
|
4008
lang/dotnet/pkg-plist
Normal file
4008
lang/dotnet/pkg-plist
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue