--- b/lang/Makefile +++ b/lang/Makefile @@ -199,7 +199,7 @@ SUBDIR += mono-basic SUBDIR += mono5.10 SUBDIR += mono5.20 - SUBDIR += mono6.8 + SUBDIR += mono6.12 SUBDIR += mosh SUBDIR += mosml SUBDIR += mtasc --- /dev/null +++ b/lang/mono6.12/Makefile @@ -0,0 +1,109 @@ +PORTNAME= mono +DISTVERSION= 6.12.0.199 +CATEGORIES= lang +MASTER_SITES= https://download.mono-project.com/sources/mono/ +PKGNAMESUFFIX= 6.12 +DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} + +MAINTAINER= ports@FreeBSD.org +COMMENT= Open source implementation of .NET Development Framework +WWW= https://www.mono-project.com/ + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +NOT_FOR_ARCHS= riscv64 riscv64sf sparc64 + +BUILD_DEPENDS= bash:shells/bash \ + cmake-core>0:devel/cmake-core \ + p5-XML-Parser>=0:textproc/p5-XML-Parser +LIB_DEPENDS= libinotify.so:devel/libinotify +RUN_DEPENDS= ca_root_nss>=0:security/ca_root_nss \ + sqlite3>0:databases/sqlite3 \ + zip>=0:archivers/zip + +USES= autoreconf bison compiler:c11 cpe gmake iconv libtool localbase \ + pathfix perl5 python shebangfix tar:xz +USE_LDCONFIG= yes +USE_PERL5= build + +SHEBANG_FILES= scripts/mono-find-provides.in scripts/mono-find-requires.in \ + scripts/mono-heapviz scripts/mono-package-runtime + +GNU_CONFIGURE= yes +CONFIGURE_SCRIPT= autogen.sh +CONFIGURE_ARGS_aarch64= --with-csc=mcs +CONFIGURE_ARGS= ${CONFIGURE_ARGS_${ARCH}} \ + --disable-dtrace +# Do not remove - this is needed to work around automake's lack of hinting +CONFIGURE_ENV+= ac_cv_header_sys_inotify_h=yes + +MAKE_ENV= INSTALL_STRIP_FLAG="${STRIP}" \ + MONO_SHARED_DIR="${WRKDIR}" + +TEST_ARGS= -k +TEST_TARGET= check + +CONFLICTS_INSTALL= certmgr coin-or-disco disco mono mono[0-9]* + +BINARY_ALIAS= python=${PYTHON_CMD} +PORTSCOUT= limit:^\d+\.\d+\.[1-9]\d* + +# XXX MCL mat says: no. Options must not change themselves depending on what is installed. +# XXX MCL just leave this out for now to try to get *something* done. +# .if !exists(${LOCALBASE}/bin/mcs) +# OPTIONS_SLAVE= MONOLITE +# .endif + +OPTIONS_DEFINE= BIGARRAY MONODEV MONOLITE NINJA NLS ODBC SPECTRE X11 +OPTIONS_DEFAULT= MONOLITE NLS X11 +OPTIONS_SUB= yes + +BIGARRAY_DESC= allocating arrays Enable greater Int32.MaxValue than +MONODEV_DESC= (disables Build crash development for Mono privacy) +MONOLITE_DESC= Use monolite to bootstrap mcs (otherwise use installed mcs) +NINJA_DESC= Use ninja to build wherever possible +NLS_DESC= NLS Localization Support +ODBC_DESC= System.Data: support for unixODBC +SPECTRE_DESC= Enable internal Mono Spectre mitigations + +BIGARRAY_CONFIGURE_ENABLE= big-arrays +MONODEV_CONFIGURE_ON= --enable-icall-export \ + --enable-icall-symbol-map \ + --with-crash_privacy=no +MONOLITE_MASTER_SITES= http://download.mono-project.com/monolite/:monolite +MONOLITE_DISTFILES= monolite-linux-${MONOLITE_VERSION}-latest.tar.gz:monolite +# DO NOT ALTER OR REMOVE. DANGER, CASE-SENSITIVE! +# monolite 2020-01-13 @ 1798d23b +MONOLITE_VERSION= 1798d23b-3dbc-4161-b3f4-6bb00134ee4e +NINJA_CONFIGURE_ENABLE= ninja +NINJA_USES= ninja:build +NLS_CONFIGURE_OFF= --disable-nls +NLS_USES= gettext +ODBC_BUILD_DEPENDS= unixODBC>0:databases/unixODBC +ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC +SPECTRE_CONFIGURE_ON= --with-spectre-mitigation=yes +X11_CONFIGURE_WITH= x +X11_RUN_DEPENDS= libgdiplus>0:x11-toolkits/libgdiplus \ + pango>0:x11-toolkits/pango +X11_USES= display:test + +.include + +.if ${ARCH:Mpowerpc*} +PLIST+= ${.CURDIR}/pkg-plist.powerpc +.endif + +.if defined(QEMU_EMULATING) && "${QEMU_EMULATING}" == "1" +BROKEN= fails to build under qemu: Roslyn requires more functional POSIX implementation +.endif + +post-patch: +# Needed to force regeneration due to tarball packaging + ${RM} ${WRKSRC}/configure ${WRKSRC}/Makefile ${WRKSRC}/mono/Makefile \ + ${WRKSRC}/mono/native/Makefile + +post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/mono + +.include --- b/lang/mono6.12/distinfo +++ b/lang/mono6.12/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1589939235 -SHA256 (mono-6.8.0.123.tar.xz) = e2e42d36e19f083fc0d82f6c02f7db80611d69767112af353df2f279744a2ac5 -SIZE (mono-6.8.0.123.tar.xz) = 243827664 +TIMESTAMP = 1691289411 +SHA256 (mono-6.12.0.199.tar.xz) = c0850d545353a6ba2238d45f0914490c6a14a0017f151d3905b558f033478ef5 +SIZE (mono-6.12.0.199.tar.xz) = 304146664 SHA256 (monolite-linux-1798d23b-3dbc-4161-b3f4-6bb00134ee4e-latest.tar.gz) = c8baa24750315156144586a416c9ae7ee0613a9472519b360f0fa75ffd66e825 SIZE (monolite-linux-1798d23b-3dbc-4161-b3f4-6bb00134ee4e-latest.tar.gz) = 5359646 --- /dev/null +++ b/lang/mono6.12/files/patch-configure.ac @@ -0,0 +1,66 @@ +--- configure.ac.orig 2023-06-14 15:18:39 UTC ++++ configure.ac +@@ -2296,7 +2296,8 @@ if test x$host_win32 = xno; then + dnl *** won't always indicate the interface sched_affinity has. *** + dnl **************************************************************** + AC_MSG_CHECKING(for sched_setaffinity from glibc < 2.3.4) +- AC_TRY_COMPILE([#include ], [ ++ AC_TRY_COMPILE([#define _WITH_CPU_SET_T ++ #include ], [ + int mask = 1; + sched_setaffinity(0, &mask); + ], [ +@@ -2307,8 +2308,9 @@ if test x$host_win32 = xno; then + # We have the new, three-parameter version + AC_MSG_RESULT(no) + ]) +- AC_TRY_COMPILE([#include ], [ +- CPU_COUNT((void *) 0); ++ AC_TRY_COMPILE([#define _WITH_CPU_SET_T ++ #include ], [ ++ CPU_COUNT((cpuset_t *) 0); + ], [ + AC_MSG_RESULT(yes) + AC_DEFINE(GLIBC_HAS_CPU_COUNT, 1, [GLIBC has CPU_COUNT macro in sched.h]) +@@ -2369,6 +2371,29 @@ if test x$host_win32 = xno; then + dnl *** Checks for libinotify *** + dnl ***************************** + AC_CHECK_LIB(inotify, inotify_init, LIBS="$LIBS -linotify") ++ AC_MSG_CHECKING(for METADATA_CFLAGS) ++ if test "x$ac_cv_lib_inotify_inotify_init" = "xyes" ; then ++ AC_DEFINE(HAVE_LIBINOTIFY, 1, [FreeBSD libinotify kqueue shim]) ++ dnl Needs to be done this way to avoid collision with various ++ dnl ports including glib and llvm* ++ METADATA_CFLAGS="-I/usr/local/include" ++ AC_SUBST(METADATA_CFLAGS) ++ fi ++ dnl Workaround due to inotify_rm_watch check failing without -I ++ AC_MSG_CHECKING(for inotify_rm_watch with unsigned wd in libinotify) ++ AC_TRY_LINK([ ++ #include ++ ], [ ++ intptr_t fd; ++ uint32_t wd; ++ int result = inotify_rm_watch(fd, wd); ++ ],[ ++ AC_MSG_RESULT(yes) ++ AC_DEFINE(INOTIFY_RM_WATCH_WD_UNSIGNED, 1, [inotify_rm_watch with unsigned wd]) ++ ], [ ++ AC_MSG_RESULT(no) ++ ]) ++ ;; + esac + + dnl ***************************** +@@ -6577,9 +6602,9 @@ elif case $host_os in freebsd*) true;; *) false;; esac + mono_native_text="FreeBSD" + MONO_NATIVE_CC=$CC + MONO_NATIVE_CXX=$CXX +- MONO_NATIVE_CPPFLAGS=$CPPFLAGS ++ MONO_NATIVE_CPPFLAGS="$CPPFLAGS -I/usr/local/include" + MONO_NATIVE_CXXFLAGS=$CXXFLAGS +- MONO_NATIVE_CFLAGS=$CFLAGS ++ MONO_NATIVE_CFLAGS="$CFLAGS -I/usr/local/include" + MONO_NATIVE_LDFLAGS=$LDFLAGS + + mono_native=yes --- b/lang/mono6.12/files/patch-mono_metadata_Makefile.am +++ b/lang/mono6.12/files/patch-mono_metadata_Makefile.am @@ -1,11 +1,11 @@ ---- mono/metadata/Makefile.am.orig 2020-05-20 16:09:20.183060000 +0000 -+++ mono/metadata/Makefile.am 2020-05-20 16:10:38.992083000 +0000 -@@ -143,7 +143,7 @@ - +--- mono/metadata/Makefile.am.orig 2023-08-07 01:58:02 UTC ++++ mono/metadata/Makefile.am +@@ -107,7 +107,7 @@ lib_LTLIBRARIES = $(icall_table_libraries) $(ilgen_lib + lib_LTLIBRARIES = $(icall_table_libraries) $(ilgen_libraries) - + -AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CPPFLAGS) $(GLIB_CFLAGS) $(SHARED_CFLAGS) +AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/mono $(LIBGC_CPPFLAGS) $(GLIB_CFLAGS) $(SHARED_CFLAGS) $(METADATA_CFLAGS) - + # # Make sure any prefix changes are updated in the binaries too. --- b/lang/mono6.12/files/patch-mono_mini_driver.c +++ b/lang/mono6.12/files/patch-mono_mini_driver.c @@ -1,15 +1,14 @@ ---- mono/mini/driver.c.orig 2018-08-24 08:17:13.000000000 -0700 -+++ mono/mini/driver.c 2021-11-27 20:03:33.006998000 -0800 -@@ -16,6 +16,8 @@ +--- mono/mini/driver.c.orig 2023-08-06 11:45:22 UTC ++++ mono/mini/driver.c +@@ -15,6 +15,7 @@ #include - #endif #if HAVE_SCHED_SETAFFINITY -+#include -+#define _WITH_CPU_SET_T #include ++#define _WITH_CPU_SET_T #endif #ifdef HAVE_UNISTD_H -@@ -1652,6 +1654,9 @@ + #include +@@ -1881,6 +1882,9 @@ mono_set_use_smp (int use_smp) #if HAVE_SCHED_SETAFFINITY if (!use_smp) { unsigned long proc_mask = 1; --- /dev/null +++ b/lang/mono6.12/files/patch-mono_native_Makefile.am @@ -0,0 +1,10 @@ +--- mono/native/Makefile.am.orig 2023-08-06 11:47:42 UTC ++++ mono/native/Makefile.am +@@ -168,6 +168,7 @@ common_cflags = \ + -I$(abs_top_srcdir)/external/corefx/src/Native/AnyOS/brotli/include \ + $(GLIB_CFLAGS) \ + $(SHARED_CFLAGS) \ ++ $(METADATA_CFLAGS) \ + -DBROTLI_BUILD_NO_RBIT \ + -Wno-typedef-redefinition + --- /dev/null +++ b/lang/mono6.12/files/patch-mono_utils_mono-proclib.c @@ -0,0 +1,10 @@ +--- mono/utils/mono-proclib.c.orig 2023-08-06 11:48:25 UTC ++++ mono/utils/mono-proclib.c +@@ -18,6 +18,7 @@ + #include + #endif + #ifdef HAVE_SCHED_GETAFFINITY ++#define _WITH_CPUT_SET_T + #include + #endif + --- b/lang/mono6.12/pkg-descr +++ b/lang/mono6.12/pkg-descr @@ -5,10 +5,3 @@ Microsoft that have now been submitted to the ECMA for standardization. Mono provides the necessary software to develop and run .NET client and server applications on BSD, Linux, Solaris, Mac OS X, Windows, and Unix. - -SPECTRE MITIGATION: Mono 6.4+ introduces additional internal changes to -better protect against Spectre and Meltdown attacks for both compiled and -interpreted code during runtime. This can cause severe performance impacts -to applications in a number of scenarios, and is not enabled by default for -that reason. When used in high risk environments such as shared hosting, -it is strongly recommended to enable this option. --- /dev/null +++ b/lang/mono6.12/pkg-help @@ -0,0 +1,6 @@ +SPECTRE MITIGATION: Mono 6.4+ introduces additional internal changes to +better protect against Spectre and Meltdown attacks for both compiled and +interpreted code during runtime. This can cause severe performance impacts +to applications in a number of scenarios, and is not enabled by default for +that reason. When used in high risk environments such as shared hosting, +it is strongly recommended to enable this option. --- b/lang/mono6.12/pkg-plist +++ b/lang/mono6.12/pkg-plist @@ -2953,8 +2953,8 @@ lib/mono/gac/Mono.CSharp/4.0.0.0__0738eb9f132ed756/Mono.CSharp.dll lib/mono/gac/Mono.CSharp/4.0.0.0__0738eb9f132ed756/Mono.CSharp.pdb lib/mono/gac/Mono.Cairo/4.0.0.0__0738eb9f132ed756/Mono.Cairo.dll lib/mono/gac/Mono.Cairo/4.0.0.0__0738eb9f132ed756/Mono.Cairo.pdb -lib/mono/gac/Mono.Cecil/0.11.0.0__0738eb9f132ed756/Mono.Cecil.dll -lib/mono/gac/Mono.Cecil/0.11.0.0__0738eb9f132ed756/Mono.Cecil.pdb +lib/mono/gac/Mono.Cecil/0.11.1.0__0738eb9f132ed756/Mono.Cecil.dll +lib/mono/gac/Mono.Cecil/0.11.1.0__0738eb9f132ed756/Mono.Cecil.pdb lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.dll lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.pdb lib/mono/gac/Mono.CodeContracts/4.0.0.0__0738eb9f132ed756/Mono.CodeContracts.dll @@ -3416,38 +3416,6 @@ man/man1/xbuild.1.gz man/man1/xsd.1.gz man/man5/mdoc.5.gz man/man5/mono-config.5.gz -share/libgc-mono/README -share/libgc-mono/README.DGUX386 -share/libgc-mono/README.Mac -share/libgc-mono/README.MacOSX -share/libgc-mono/README.OS2 -share/libgc-mono/README.amiga -share/libgc-mono/README.arm.cross -share/libgc-mono/README.autoconf -share/libgc-mono/README.changes -share/libgc-mono/README.contributors -share/libgc-mono/README.cords -share/libgc-mono/README.darwin -share/libgc-mono/README.dj -share/libgc-mono/README.environment -share/libgc-mono/README.ews4800 -share/libgc-mono/README.hp -share/libgc-mono/README.linux -share/libgc-mono/README.macros -share/libgc-mono/README.rs6000 -share/libgc-mono/README.sgi -share/libgc-mono/README.solaris2 -share/libgc-mono/README.uts -share/libgc-mono/README.win32 -share/libgc-mono/barrett_diagram -share/libgc-mono/debugging.html -share/libgc-mono/gc.man -share/libgc-mono/gcdescr.html -share/libgc-mono/gcinterface.html -share/libgc-mono/leak.html -share/libgc-mono/scale.html -share/libgc-mono/simple_example.html -share/libgc-mono/tree.html %%NLS%%share/locale/de/LC_MESSAGES/mcs.mo %%NLS%%share/locale/es/LC_MESSAGES/mcs.mo %%NLS%%share/locale/ja/LC_MESSAGES/mcs.mo --- b/lang/mono6.12/pkg-plist.powerpc +++ b/lang/mono6.12/pkg-plist.powerpc @@ -3425,10 +3425,10 @@ share/libgc-mono/leak.html share/libgc-mono/scale.html share/libgc-mono/simple_example.html share/libgc-mono/tree.html -share/locale/de/LC_MESSAGES/mcs.mo -share/locale/es/LC_MESSAGES/mcs.mo -share/locale/ja/LC_MESSAGES/mcs.mo -share/locale/pt_BR/LC_MESSAGES/mcs.mo +%%NLS%%share/locale/de/LC_MESSAGES/mcs.mo +%%NLS%%share/locale/es/LC_MESSAGES/mcs.mo +%%NLS%%share/locale/ja/LC_MESSAGES/mcs.mo +%%NLS%%share/locale/pt_BR/LC_MESSAGES/mcs.mo %%DATADIR%%-2.0/mono/cil/cil-opcodes.xml %%DATADIR%%-2.0/mono/eglib/eglib-config.h %%DATADIR%%-2.0/mono/profiler/mono-profiler-coverage.suppression --- a/lang/mono6.8/Makefile +++ /dev/null @@ -1,123 +0,0 @@ -PORTNAME= mono -PORTVERSION= 6.8.0.123 -PORTREVISION= 1 -CATEGORIES= lang -MASTER_SITES= https://download.mono-project.com/sources/mono/ -PKGNAMESUFFIX= 6.8 -DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} - -MAINTAINER= ports@FreeBSD.org -COMMENT= Open source implementation of .NET Development Framework -WWW= https://www.mono-project.com/ - -LICENSE= MIT -LICENSE_FILE= ${WRKSRC}/LICENSE - -NOT_FOR_ARCHS= riscv64 riscv64sf sparc64 - -BUILD_DEPENDS= p5-XML-Parser>=0:textproc/p5-XML-Parser \ - bash:shells/bash \ - cmake-core>0:devel/cmake-core -LIB_DEPENDS= libinotify.so:devel/libinotify -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>=0:graphics/py-pillow@${PY_FLAVOR} \ - ca_root_nss>=0:security/ca_root_nss \ - sqlite3>0:databases/sqlite3 \ - zip>=0:archivers/zip - -CONFLICTS_INSTALL= certmgr coin-or-disco disco mono mono[0-9]* - -USES= autoreconf bison compiler:c11 cpe gmake iconv libtool localbase \ - pathfix perl5 python shebangfix tar:xz -USE_PERL5= build - -CONFIGURE_SCRIPT= autogen.sh -GNU_CONFIGURE= yes -USE_LDCONFIG= yes - -SHEBANG_FILES= mono/mini/genmdesc.py \ - mono/tests/gc-descriptors/gen-descriptor-tests.py \ - mono/tests/test_lldb.py scripts/mono-find-provides.in \ - scripts/mono-find-requires.in scripts/mono-heapviz \ - scripts/mono-package-runtime -BINARY_ALIAS= python=${PYTHON_CMD} - -CONFIGURE_ARGS_aarch64= --with-csc=mcs -CONFIGURE_ARGS= ${CONFIGURE_ARGS_${ARCH}} --disable-dtrace -# Do not remove - this is needed to work around automake's lack of hinting -CONFIGURE_ENV+= ac_cv_header_sys_inotify_h=yes - -MAKE_ENV= MONO_SHARED_DIR="${WRKDIR}" \ - INSTALL_STRIP_FLAG="${STRIP}" - -TEST_ARGS= -k -TEST_TARGET= check - -PORTSCOUT= limit:^\d+\.\d+\.[1-9]\d* - -# XXX MCL mat says: no. Options must not change themselves depending on what is installed. -# XXX MCL just leave this out for now to try to get *something* done. -# .if !exists(${LOCALBASE}/bin/mcs) -# OPTIONS_SLAVE= MONOLITE -# .endif - -# intentionally sorted alpha, then SPECTRE and MONODEV at the end -# because they have performance and security implications -OPTIONS_DEFINE= BIGARRAY MONOLITE NINJA NLS ODBC X11 SPECTRE MONODEV -OPTIONS_DEFAULT= MONOLITE NLS X11 -OPTIONS_SUB= yes - -BIGARRAY_DESC= Enable allocating arrays greater than Int32.MaxValue -BIGARRAY_CONFIGURE_ENABLE= big-arrays - -MONOLITE_DESC= Use monolite to bootstrap mcs (otherwise use installed mcs) -MONOLITE_DISTFILES= monolite-linux-${MONOLITE_VERSION}-latest.tar.gz:monolite -MONOLITE_MASTER_SITES= http://download.mono-project.com/monolite/:monolite -# DO NOT ALTER OR REMOVE. DANGER, CASE-SENSITIVE! -# monolite 2020-01-13 @ 1798d23b -MONOLITE_VERSION= 1798d23b-3dbc-4161-b3f4-6bb00134ee4e - -MONODEV_DESC= Build for Mono development (disables crash privacy) -MONODEV_CONFIGURE_ON= --enable-icall-symbol-map --enable-icall-export --with-crash_privacy=no - -NINJA_DESC= Use ninja to build wherever possible -NINJA_CONFIGURE_ON= ninja -NINJA_USES= ninja:build - -NLS_DESC= NLS Localization Support -NLS_CONFIGURE_OFF= --disable-nls -NLS_USES= gettext - -ODBC_DESC= System.Data: support for unixODBC -ODBC_BUILD_DEPENDS= unixODBC>0:databases/unixODBC -ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC - -SPECTRE_DESC= Enable internal Mono Spectre mitigations (SEE pkg-descr) -SPECTRE_CONFIGURE_ON= --with-spectre-mitigation=yes - -X11_USES= display:test -X11_CONFIGURE_WITH= x -X11_RUN_DEPENDS= pango>0:x11-toolkits/pango \ - libgdiplus>0:x11-toolkits/libgdiplus - -.include - -.if ${ARCH:Mpowerpc*} -PLIST+= ${.CURDIR}/pkg-plist.powerpc -.endif - -.include - -.if defined(QEMU_EMULATING) && "${QEMU_EMULATING}" == "1" -BROKEN= fails to build under qemu: Roslyn requires more functional POSIX implementation -.endif - -post-patch: - # Needed to force regeneration due to tarball packaging - ${RM} ${WRKSRC}/configure ${WRKSRC}/Makefile \ - ${WRKSRC}/mono/Makefile \ - ${WRKSRC}/mono/native/Makefile - -post-install: - ${MKDIR} ${STAGEDIR}${PREFIX}/mono - -.include --- a/lang/mono6.8/files/patch-boringssl +++ /dev/null @@ -1,138 +0,0 @@ -diff --git a/CODE-OF-CONDUCT.md external/boringssl/CODE-OF-CONDUCT.md -new file mode 100644 -index 00000000..775f221c ---- /dev/null -+++ external/boringssl/CODE-OF-CONDUCT.md -@@ -0,0 +1,6 @@ -+# Code of Conduct -+ -+This project has adopted the code of conduct defined by the Contributor Covenant -+to clarify expected behavior in our community. -+ -+For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). -diff --git a/THIRD-PARTY-NOTICES.TXT external/boringssl/THIRD-PARTY-NOTICES.TXT -new file mode 100644 -index 00000000..069ac8f2 ---- /dev/null -+++ external/boringssl/THIRD-PARTY-NOTICES.TXT -@@ -0,0 +1,20 @@ -+Mono uses third-party libraries or other resources that may be -+distributed under licenses different than the .NET Core software. -+ -+ Attributions and license notices for test cases originally authored by -+third parties can be found in the respective test directories. -+ -+ In the event that we accidentally failed to list a required notice, please -+bring it to our attention. Post an issue or email us: -+ -+ dotnet@microsoft.com -+ -+ The attached notices are provided for information only. -+ -+ License notice for Code Project -+-------------------------------- -+ -+Title: Thread Local Storage - The C++ Way -+Content: https://www.codeproject.com/Articles/8113/Thread-Local-Storage-The-C-Way -+Reference: https://github.com/mono/boringssl/bloexternal/boringssl/eec2ca7e76c04ca41ef5bfc875ee3b0374cb7a94/crypto/thread_win.c#L138-L148 -+License: https://www.codeproject.com/info/EULA.aspx -diff --git a/crypto/aes/asm/aesv8-armx.pl external/boringssl/crypto/aes/asm/aesv8-armx.pl -index 89e6f874..c41175a6 100644 ---- a/crypto/aes/asm/aesv8-armx.pl -+++ external/boringssl/crypto/aes/asm/aesv8-armx.pl -@@ -51,15 +51,7 @@ $code=<<___; - .text - ___ - $code.=<<___ if ($flavour =~ /64/); --#if !defined(__clang__) - .arch armv8-a+crypto --#elif defined(ANDROID) && defined(__clang__) --#if __clang_major__ > 3 --.arch armv8-a+crypto --#else --.arch armv8-a+crypto,+neon --#endif --#endif - ___ - $code.=".arch armv7-a\n.fpu neon\n.code 32\n" if ($flavour !~ /64/); - #^^^^^^ this is done to simplify adoption by not depending -diff --git a/crypto/cpu-aarch64-linux.c external/boringssl/crypto/cpu-aarch64-linux.c -index 1b0f3955..93d12237 100644 ---- a/crypto/cpu-aarch64-linux.c -+++ external/boringssl/crypto/cpu-aarch64-linux.c -@@ -25,6 +25,48 @@ - - extern uint32_t OPENSSL_armcap_P; - -+#if defined(__FreeBSD__) -+ -+#include -+#include -+#include -+ -+// Support for older version of armreg.h -+#ifndef ID_AA64ISAR0_AES_VAL -+#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES -+#endif -+#ifndef ID_AA64ISAR0_SHA1_VAL -+#define ID_AA64ISAR0_SHA1_VAL ID_AA64ISAR0_SHA1 -+#endif -+#ifndef ID_AA64ISAR0_SHA2_VAL -+#define ID_AA64ISAR0_SHA2_VAL ID_AA64ISAR0_SHA2 -+#endif -+ -+void OPENSSL_cpuid_setup(void) { -+ if (getenv("QEMU_EMULATING") != NULL) { -+ return; -+ } -+ -+ uint64_t isar0_val = READ_SPECIALREG(id_aa64isar0_el1); -+ -+ OPENSSL_armcap_P |= ARMV7_NEON; -+ -+ if (ID_AA64ISAR0_AES_VAL(isar0_val) >= ID_AA64ISAR0_AES_BASE) { -+ OPENSSL_armcap_P |= ARMV8_PMULL; -+ } -+ if (ID_AA64ISAR0_AES_VAL(isar0_val) >= ID_AA64ISAR0_AES_PMULL) { -+ OPENSSL_armcap_P |= ARMV8_PMULL; -+ } -+ if (ID_AA64ISAR0_SHA1_VAL(isar0_val) >= ID_AA64ISAR0_SHA1_BASE) { -+ OPENSSL_armcap_P |= ARMV8_SHA1; -+ } -+ if (ID_AA64ISAR0_SHA2_VAL(isar0_val) >= ID_AA64ISAR0_SHA2_BASE) { -+ OPENSSL_armcap_P |= ARMV8_SHA256; -+ } -+} -+ -+#else // linux -+ - void OPENSSL_cpuid_setup(void) { - unsigned long hwcap = getauxval(AT_HWCAP); - -@@ -58,4 +100,6 @@ void OPENSSL_cpuid_setup(void) { - } - } - -+#endif -+ - #endif /* OPENSSL_AARCH64 && !OPENSSL_STATIC_ARMCAP */ -diff --git a/crypto/modes/asm/ghashv8-armx.pl external/boringssl/crypto/modes/asm/ghashv8-armx.pl -index 73421405..eabef0cb 100644 ---- a/crypto/modes/asm/ghashv8-armx.pl -+++ external/boringssl/crypto/modes/asm/ghashv8-armx.pl -@@ -59,15 +59,7 @@ $code=<<___; - .text - ___ - $code.=<<___ if ($flavour =~ /64/); --#if !defined(__clang__) - .arch armv8-a+crypto --#elif defined(ANDROID) && defined(__clang__) --#if __clang_major__ > 3 --.arch armv8-a+crypto --#else --.arch armv8-a+crypto,+neon --#endif --#endif - ___ - $code.=".fpu neon\n.code 32\n" if ($flavour !~ /64/); - --- a/lang/mono6.8/files/patch-mono_configure.ac +++ /dev/null @@ -1,121 +0,0 @@ ---- configure.ac.orig 2020-05-11 11:05:34.000000000 -0700 -+++ configure.ac 2021-12-09 11:17:20.499137000 -0800 -@@ -2279,7 +2279,8 @@ - dnl *** won't always indicate the interface sched_affinity has. *** - dnl **************************************************************** - AC_MSG_CHECKING(for sched_setaffinity from glibc < 2.3.4) -- AC_TRY_COMPILE([#include ], [ -+ AC_TRY_COMPILE([#define _WITH_CPU_SET_T -+#include ], [ - int mask = 1; - sched_setaffinity(0, &mask); - ], [ -@@ -2290,8 +2291,9 @@ - # We have the new, three-parameter version - AC_MSG_RESULT(no) - ]) -- AC_TRY_COMPILE([#include ], [ -- CPU_COUNT((void *) 0); -+ AC_TRY_COMPILE([#define _WITH_CPU_SET_T -+#include ], [ -+ CPU_COUNT((cpuset_t *) 0); - ], [ - AC_MSG_RESULT(yes) - AC_DEFINE(GLIBC_HAS_CPU_COUNT, 1, [GLIBC has CPU_COUNT macro in sched.h]) -@@ -2346,14 +2348,6 @@ - dnl ***************************** - AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket") - -- case "$host" in -- *-*-*freebsd*) -- dnl ***************************** -- dnl *** Checks for libinotify *** -- dnl ***************************** -- AC_CHECK_LIB(inotify, inotify_init, LIBS="$LIBS -linotify") -- esac -- - dnl ******************************* - dnl *** Checks for MSG_NOSIGNAL *** - dnl ******************************* -@@ -3619,6 +3613,37 @@ - ], [ - AC_MSG_RESULT(no) - ]) -+ -+ case "$host" in -+ *-*-*freebsd*) -+ dnl ***************************** -+ dnl *** Checks for libinotify *** -+ dnl ***************************** -+ AC_CHECK_LIB(inotify, inotify_init, LIBS="$LIBS -linotify") -+ AC_MSG_CHECKING(for METADATA_CFLAGS) -+ if test "x$ac_cv_lib_inotify_inotify_init" = "xyes" ; then -+ AC_DEFINE(HAVE_LIBINOTIFY, 1, [FreeBSD libinotify kqueue shim]) -+ dnl Needs to be done this way to avoid collision with various -+ dnl ports includign glib and llvm* -+ METADATA_CFLAGS="-I/usr/local/include" -+ AC_SUBST(METADATA_CFLAGS) -+ fi -+ dnl Workaround due to inotify_rm_watch check failing without -I -+ AC_MSG_CHECKING(for inotify_rm_watch with unsigned wd in libinotify) -+ AC_TRY_LINK([ -+ #include -+ ], [ -+ intptr_t fd; -+ uint32_t wd; -+ int result = inotify_rm_watch(fd, wd); -+ ],[ -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(INOTIFY_RM_WATCH_WD_UNSIGNED, 1, [inotify_rm_watch with unsigned wd]) -+ ], [ -+ AC_MSG_RESULT(no) -+ ]) -+ ;; -+ esac - - CFLAGS="$ORIG_CFLAGS" - -@@ -4465,13 +4490,27 @@ - ;; - macppc-*-openbsd* | powerpc*-*-linux* | powerpc-*-openbsd* | \ - powerpc-*-sysv* | powerpc-*-darwin* | powerpc-*-netbsd* | \ -- powerpc-*-freebsd* | powerpc*-*-aix* | powerpc*-*-os400* ) -+ powerpc*-*-freebsd* | powerpc*-*-aix* | powerpc*-*-os400* ) - if test "x$ac_cv_sizeof_void_p" = "x8"; then - TARGET=POWERPC64; - CPPFLAGS="$CPPFLAGS -D__mono_ppc__ -D__mono_ppc64__" -- if ! (echo $CC | grep -q -- 'clang'); then -- CFLAGS="$CFLAGS -mminimal-toc" -- fi -+ AC_MSG_NOTICE([Checking for PowerPC ISA -mminimal-toc support]) -+ AX_CHECK_COMPILE_FLAG( -+ [-mminimal-toc], -+ [CFLAGS="$CFLAGS -mminimal-toc"], -+ [CFLAGS="$CFLAGS"] -+ ) -+ case "$host" in -+ powerpc*-*-freebsd*) -+ # We need to be aware if we are ELFv1 or v2 here -+ AC_MSG_NOTICE([Checking FreeBSD ELF version]) -+ if ! ( echo | cc -dM -E - | awk '/_CALL_ELF/ {print $NF}'); then -+ AC_DEFINE([POWERPC_ELF], 1, [PowerPC ELFv1]) -+ else -+ AC_DEFINE([POWERPC_ELFV2], 1, [PowerPC ELFv2]) -+ fi -+ ;; -+ esac - else - TARGET=POWERPC; - CPPFLAGS="$CPPFLAGS -D__mono_ppc__" -@@ -6488,9 +6527,9 @@ - mono_native_text="FreeBSD" - MONO_NATIVE_CC=$CC - MONO_NATIVE_CXX=$CXX -- MONO_NATIVE_CPPFLAGS=$CPPFLAGS -+ MONO_NATIVE_CPPFLAGS="$CPPFLAGS -I/usr/local/include" - MONO_NATIVE_CXXFLAGS=$CXXFLAGS -- MONO_NATIVE_CFLAGS=$CFLAGS -+ MONO_NATIVE_CFLAGS="$CFLAGS -I/usr/local/include" - MONO_NATIVE_LDFLAGS=$LDFLAGS - - mono_native=yes --- a/lang/mono6.8/files/patch-mono_native_Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ -# Upstreamed for next release -# PR#19234 ---- mono/native/Makefile.am.orig 2020-03-16 13:42:24.386278000 -0400 -+++ mono/native/Makefile.am 2020-03-16 13:42:43.715070000 -0400 -@@ -159,10 +159,11 @@ - -I$(abs_top_srcdir)/external/corefx/src/Native/Unix/Common \ - -I$(abs_top_srcdir)/external/corefx/src/Native/Unix/System.Native \ - -I$(abs_top_srcdir)/external/corefx/src/Native/AnyOS/brotli/include \ - $(GLIB_CFLAGS) \ - $(SHARED_CFLAGS) \ -+ $(METADATA_CFLAGS) \ - -DBROTLI_BUILD_NO_RBIT \ - -Wno-typedef-redefinition - - endif # !ENABLE_MSVC_ONLY --- a/lang/mono6.8/files/patch-mono_utils_mono-proclib.c +++ /dev/null @@ -1,10 +0,0 @@ ---- mono/utils/mono-proclib.c.orig 2018-08-24 08:17:13.000000000 -0700 -+++ mono/utils/mono-proclib.c 2021-11-27 14:55:20.354869000 -0800 -@@ -17,6 +17,7 @@ - #include - #endif - #ifdef HAVE_SCHED_GETAFFINITY -+#define _WITH_CPU_SET_T - #include - #endif - --- b/lang/python27/pkg-plist +++ b/lang/python27/pkg-plist @@ -1908,7 +1908,6 @@ lib/python2.7/lib-dynload/_curses.so lib/python2.7/lib-dynload/_curses_panel.so lib/python2.7/lib-dynload/_elementtree.so lib/python2.7/lib-dynload/_functools.so -lib/python2.7/lib-dynload/_hashlib.so lib/python2.7/lib-dynload/_heapq.so lib/python2.7/lib-dynload/_hotshot.so lib/python2.7/lib-dynload/_io.so