git: 7b5af7da67b7 - main - devel/libdispatch: update to 6.4.0 releasse (+)

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Sat, 10 Oct 2026 16:01:29 UTC
The branch main has been updated by fluffy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7b5af7da67b7ddf98aa9d376429970ee1e5f421a

commit 7b5af7da67b7ddf98aa9d376429970ee1e5f421a
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2026-10-10 15:50:48 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2026-10-10 15:50:48 +0000

    devel/libdispatch: update to 6.4.0 releasse (+)
    
    Release notes:  https://github.com/swiftlang/swift-corelibs-libdispatch/releases/tag/swift-6.4.0-RELEASE
---
 devel/libdispatch/Makefile                         |   3 +-
 devel/libdispatch/distinfo                         |   6 +-
 devel/libdispatch/files/patch-CMakeLists.txt       |  32 ++-
 ...ch-cmake_modules_DispatchCompilerWarnings.cmake |  10 +-
 .../files/patch-cmake_modules_SwiftSupport.cmake   |  11 -
 devel/libdispatch/files/patch-private_private.h    |  20 --
 devel/libdispatch/files/patch-src_CMakeLists.txt   |   7 -
 devel/libdispatch/files/patch-src_event_event.c    |  11 -
 .../files/patch-src_event_event__kevent.c          | 259 ---------------------
 devel/libdispatch/files/patch-src_init.c           |  36 ---
 devel/libdispatch/files/patch-src_internal.h       |  25 --
 devel/libdispatch/files/patch-src_io.c             |  23 +-
 devel/libdispatch/files/patch-src_queue.c          | 103 +-------
 devel/libdispatch/files/patch-src_shims_lock.c     | 106 +--------
 devel/libdispatch/files/patch-src_shims_lock.h     |  47 +---
 .../libdispatch/files/patch-src_swift_Source.swift |  23 +-
 .../files/patch-src_swift_Wrapper.swift            |  16 +-
 devel/libdispatch/files/patch-tests_CMakeLists.txt |  15 --
 .../libdispatch/files/patch-tests_bsdtestharness.c |  32 ---
 .../files/patch-tests_dispatch__workqueue.c        |  75 ------
 20 files changed, 72 insertions(+), 788 deletions(-)

diff --git a/devel/libdispatch/Makefile b/devel/libdispatch/Makefile
index 4a6e9475719f..a69ad26924d2 100644
--- a/devel/libdispatch/Makefile
+++ b/devel/libdispatch/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	libdispatch
-DISTVERSION=	6.1.1
-PORTREVISION=	1
+DISTVERSION=	6.4.0
 PORTEPOCH=	1
 CATEGORIES=	devel
 
diff --git a/devel/libdispatch/distinfo b/devel/libdispatch/distinfo
index e7ce29e7403c..8b7ef990412f 100644
--- a/devel/libdispatch/distinfo
+++ b/devel/libdispatch/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1757674615
-SHA256 (swiftlang-swift-corelibs-libdispatch-6.1.1-swift-6.1.1-RELEASE_GH0.tar.gz) = 6fc6f8b1767a1348e1d960647b2bfbc52fd7074b7aeab97bd0f4b21af58baa47
-SIZE (swiftlang-swift-corelibs-libdispatch-6.1.1-swift-6.1.1-RELEASE_GH0.tar.gz) = 595723
+TIMESTAMP = 1791293883
+SHA256 (swiftlang-swift-corelibs-libdispatch-6.4.0-swift-6.4.0-RELEASE_GH0.tar.gz) = af15fcc3da4514def6454ed672b82daa9ac1d40cb1d08fb69a6611cb8fc104c6
+SIZE (swiftlang-swift-corelibs-libdispatch-6.4.0-swift-6.4.0-RELEASE_GH0.tar.gz) = 600377
diff --git a/devel/libdispatch/files/patch-CMakeLists.txt b/devel/libdispatch/files/patch-CMakeLists.txt
index e96f7e93416f..d619c0a133ef 100644
--- a/devel/libdispatch/files/patch-CMakeLists.txt
+++ b/devel/libdispatch/files/patch-CMakeLists.txt
@@ -1,21 +1,31 @@
---- CMakeLists.txt.orig	2025-03-07 00:50:44 UTC
+--- CMakeLists.txt.orig	2026-05-01 02:25:26 UTC
 +++ CMakeLists.txt
-@@ -132,6 +132,7 @@ include(SwiftSupport)
+@@ -121,7 +121,7 @@ include(DTrace)
+ include(DispatchSanitization)
  include(DispatchCompilerWarnings)
  include(DTrace)
- include(SwiftSupport)
+-
 +include(PkgConfigGeneration)
+ include(EnableFramePointers)
  
  # NOTE(abdulras) this is the CMake supported way to control whether we generate
- # shared or static libraries.  This impacts the behaviour of `add_library` in
-@@ -191,6 +192,10 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Android)
- 
- if(NOT CMAKE_SYSTEM_NAME STREQUAL Android)
+@@ -184,6 +184,10 @@ endif()
    find_package(LibRT)
-+endif()
-+
-+if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
-+  find_package(BlocksRuntime)
  endif()
  
++if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
++  find_package(BlocksRuntime)
++endif()
++
  check_function_exists(_pthread_workqueue_init HAVE__PTHREAD_WORKQUEUE_INIT)
+ check_function_exists(getprogname HAVE_GETPROGNAME)
+ check_function_exists(mach_absolute_time HAVE_MACH_ABSOLUTE_TIME)
+@@ -339,7 +343,7 @@ add_subdirectory(private)
+ add_subdirectory(man)
+ add_subdirectory(os)
+ add_subdirectory(private)
+-if(NOT APPLE)
++if(NOT BlocksRuntime_FOUND)
+   add_subdirectory(src/BlocksRuntime)
+ endif()
+ add_subdirectory(src)
diff --git a/devel/libdispatch/files/patch-cmake_modules_DispatchCompilerWarnings.cmake b/devel/libdispatch/files/patch-cmake_modules_DispatchCompilerWarnings.cmake
index 91a0b3738997..646032664763 100644
--- a/devel/libdispatch/files/patch-cmake_modules_DispatchCompilerWarnings.cmake
+++ b/devel/libdispatch/files/patch-cmake_modules_DispatchCompilerWarnings.cmake
@@ -1,10 +1,10 @@
---- cmake/modules/DispatchCompilerWarnings.cmake.orig	2024-06-13 00:13:26 UTC
+--- cmake/modules/DispatchCompilerWarnings.cmake.orig	2026-05-01 02:25:26 UTC
 +++ cmake/modules/DispatchCompilerWarnings.cmake
 @@ -6,7 +6,6 @@ else()
    # so that we can use __popcnt64
-   add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-fms-extensions>)
+   add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-fms-extensions>)
  else()
--  add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Werror>)
-   add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wall>)
-   add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE:CXX>>:-Wextra>)
+-  add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Werror>)
+   add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wall>)
+   add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wextra>)
  
diff --git a/devel/libdispatch/files/patch-cmake_modules_SwiftSupport.cmake b/devel/libdispatch/files/patch-cmake_modules_SwiftSupport.cmake
deleted file mode 100644
index 9f7eb35422c1..000000000000
--- a/devel/libdispatch/files/patch-cmake_modules_SwiftSupport.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- cmake/modules/SwiftSupport.cmake.orig	2021-09-17 04:54:52 UTC
-+++ cmake/modules/SwiftSupport.cmake
-@@ -23,6 +23,8 @@ function(get_swift_host_arch result_var_name)
-     set("${result_var_name}" "armv7" PARENT_SCOPE)
-   elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "armv7l")
-     set("${result_var_name}" "armv7" PARENT_SCOPE)
-+  elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "amd64")
-+    set("${result_var_name}" "amd64" PARENT_SCOPE)
-   elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64")
-     set("${result_var_name}" "x86_64" PARENT_SCOPE)
-   elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "IA64")
diff --git a/devel/libdispatch/files/patch-private_private.h b/devel/libdispatch/files/patch-private_private.h
deleted file mode 100644
index 64fb8e2c3bfd..000000000000
--- a/devel/libdispatch/files/patch-private_private.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- private/private.h.orig	2021-09-17 04:54:52 UTC
-+++ private/private.h
-@@ -177,7 +177,7 @@ void _dispatch_prohibit_transition_to_multithreaded(bo
- 
- #if TARGET_OS_MAC
- #define DISPATCH_COCOA_COMPAT 1
--#elif defined(__linux__) || defined(__FreeBSD__) || defined(_WIN32)
-+#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(_WIN32)
- #define DISPATCH_COCOA_COMPAT 1
- #else
- #define DISPATCH_COCOA_COMPAT 0
-@@ -191,6 +191,8 @@ typedef int dispatch_runloop_handle_t;
- typedef mach_port_t dispatch_runloop_handle_t;
- #elif defined(__linux__) || defined(__FreeBSD__)
- typedef int dispatch_runloop_handle_t;
-+#elif defined(__unix__)
-+typedef uint64_t dispatch_runloop_handle_t;
- #elif defined(_WIN32)
- typedef void *dispatch_runloop_handle_t;
- #else
diff --git a/devel/libdispatch/files/patch-src_CMakeLists.txt b/devel/libdispatch/files/patch-src_CMakeLists.txt
index 2ee9aa26a227..7d409d87567f 100644
--- a/devel/libdispatch/files/patch-src_CMakeLists.txt
+++ b/devel/libdispatch/files/patch-src_CMakeLists.txt
@@ -1,12 +1,5 @@
 --- src/CMakeLists.txt.orig	2025-03-07 00:50:44 UTC
 +++ src/CMakeLists.txt
-@@ -1,5 +1,5 @@
- 
--if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
-+if(NOT BlocksRuntime_FOUND)
-   add_subdirectory(BlocksRuntime)
- endif()
- 
 @@ -145,7 +145,7 @@ target_compile_options(dispatch PRIVATE -fblocks)
  # FIXME(compnerd) add check for -fblocks?
  target_compile_options(dispatch PRIVATE -fblocks)
diff --git a/devel/libdispatch/files/patch-src_event_event.c b/devel/libdispatch/files/patch-src_event_event.c
deleted file mode 100644
index 4ac4d8ec33ff..000000000000
--- a/devel/libdispatch/files/patch-src_event_event.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/event/event.c.orig	2023-06-15 00:55:45 UTC
-+++ src/event/event.c
-@@ -792,7 +792,7 @@ _dispatch_timer_unote_disarm(dispatch_timer_source_ref
- _dispatch_timer_unote_disarm(dispatch_timer_source_refs_t dt,
- 		dispatch_timer_heap_t dth)
- {
--	uint32_t tidx = dt->du_ident;
-+	uint32_t tidx = (uint32_t)dt->du_ident;
- 
- 	dispatch_assert(_dispatch_unote_armed(dt));
- 	_dispatch_timer_heap_remove(&dth[tidx], dt);
diff --git a/devel/libdispatch/files/patch-src_event_event__kevent.c b/devel/libdispatch/files/patch-src_event_event__kevent.c
deleted file mode 100644
index 6a56878e962d..000000000000
--- a/devel/libdispatch/files/patch-src_event_event__kevent.c
+++ /dev/null
@@ -1,259 +0,0 @@
---- src/event/event_kevent.c.orig	2021-09-17 04:54:52 UTC
-+++ src/event/event_kevent.c
-@@ -101,8 +101,12 @@ _evfiltstr(short filt)
- 	_evfilt2(EVFILT_MACHPORT);
- 	_evfilt2(DISPATCH_EVFILT_MACH_NOTIFICATION);
- #endif
-+#ifdef EVFILT_FS
- 	_evfilt2(EVFILT_FS);
-+#endif
-+#ifdef EVFILT_USER
- 	_evfilt2(EVFILT_USER);
-+#endif
- #ifdef EVFILT_SOCK
- 	_evfilt2(EVFILT_SOCK);
- #endif
-@@ -236,9 +240,9 @@ dispatch_kevent_debug(const char *verb, const dispatch
- 
- #define _dispatch_du_debug(what, du) \
- 		_dispatch_debug("kevent-source[%p]: %s kevent[%p] " \
--				"{ filter = %s, ident = 0x%x }", \
-+				"{ filter = %s, ident = 0x%llx }", \
- 				_dispatch_wref2ptr((du)->du_owner_wref), what, \
--				(du), _evfiltstr((du)->du_filter), (du)->du_ident)
-+				(du), _evfiltstr((du)->du_filter), (unsigned long long)(du)->du_ident)
- 
- #if DISPATCH_MACHPORT_DEBUG
- #ifndef MACH_PORT_TYPE_SPREQUEST
-@@ -388,8 +392,10 @@ _dispatch_kevent_print_error(dispatch_kevent_t ke)
- 	switch (ke->data) {
- 	case 0:
- 		return;
-+#if DISPATCH_USE_KEVENT_QOS
- 	case ERANGE: /* A broken QoS was passed to kevent_id() */
- 		DISPATCH_INTERNAL_CRASH(ke->qos, "Invalid kevent priority");
-+#endif
- 	default:
- 		// log the unexpected error
- 		_dispatch_bug_kevent_client("kevent", _evfiltstr(ke->filter),
-@@ -397,7 +403,7 @@ _dispatch_kevent_print_error(dispatch_kevent_t ke)
- 				ke->flags & EV_DELETE ? "delete" :
- 				ke->flags & EV_ADD ? "add" :
- 				ke->flags & EV_ENABLE ? "enable" : "monitor",
--				(int)ke->data, ke->ident, ke->udata, du);
-+				(int)ke->data, ke->ident, (uint64_t)ke->udata, du);
- 	}
- }
- 
-@@ -528,11 +534,17 @@ _dispatch_kevent_merge_muxed(dispatch_kevent_t ke)
- 	}
- }
- 
-+#define DISPATCH_KEVENT_ERSATZ_EVFILT_USER_MASK 0xfffffe00
-+
- DISPATCH_NOINLINE
- static void
- _dispatch_kevent_drain(dispatch_kevent_t ke)
- {
-+#ifdef EVFILT_USER
- 	if (ke->filter == EVFILT_USER) {
-+#else
-+	if (ke->filter == EVFILT_TIMER && ke->ident == DISPATCH_KEVENT_ERSATZ_EVFILT_USER_MASK) {
-+#endif
- 		_dispatch_kevent_mgr_debug("received", ke);
- 		return;
- 	}
-@@ -579,10 +591,17 @@ _dispatch_kq_create(intptr_t *fd_ptr)
- _dispatch_kq_create(intptr_t *fd_ptr)
- {
- 	static const dispatch_kevent_s kev = {
-+#ifdef EVFILT_USER
- 		.ident = 1,
- 		.filter = EVFILT_USER,
- 		.flags = EV_ADD|EV_CLEAR,
- 		.udata = (dispatch_kevent_udata_t)DISPATCH_WLH_MANAGER,
-+#else
-+		.ident = DISPATCH_KEVENT_ERSATZ_EVFILT_USER_MASK,
-+		.filter = EVFILT_TIMER,
-+		.flags = EV_ADD|EV_DISABLE,
-+		.data = 1,
-+#endif
- 	};
- 	int kqfd;
- 
-@@ -591,7 +610,6 @@ _dispatch_kq_create(intptr_t *fd_ptr)
- 	guardid_t guard = (uintptr_t)fd_ptr;
- 	kqfd = guarded_kqueue_np(&guard, GUARD_CLOSE | GUARD_DUP);
- #else
--	(void)guard_ptr;
- 	kqfd = kqueue();
- #endif
- 	if (kqfd == -1) {
-@@ -727,6 +745,10 @@ retry:
- 		(void)avail;
- 		const struct timespec timeout_immediately = {}, *timeout = NULL;
- 		if (flags & KEVENT_FLAG_IMMEDIATE) timeout = &timeout_immediately;
-+#ifdef EVFILT_USER
-+		const struct timespec timeout_1ms = {.tv_sec = 0, .tv_nsec = 1000000};
-+		if (ke->ident == DISPATCH_KEVENT_ERSATZ_EVFILT_USER_MASK) timeout = &timeout_1ms;
-+#endif
- 		r = kevent(kqfd, ke, n, ke_out, n_out, timeout);
- #endif
- #if DISPATCH_USE_KEVENT_WORKLOOP
-@@ -743,7 +765,7 @@ retry:
- 		switch (err) {
- 		case ENOMEM:
- 			_dispatch_temporary_resource_shortage();
--			/* FALLTHROUGH */
-+			DISPATCH_FALLTHROUGH;
- 		case EINTR:
- 			goto retry;
- 		case EBADF:
-@@ -754,7 +776,7 @@ retry:
- 					(flags & KEVENT_FLAG_DYNAMIC_KQ_MUST_EXIST)) {
- 				return 0;
- 			}
--			/* FALLTHROUGH */
-+			DISPATCH_FALLTHROUGH;
- #endif // DISPATCH_USE_KEVENT_WORKLOOP
- 		default:
- 			DISPATCH_CLIENT_CRASH(err, "Unexpected error from kevent");
-@@ -786,9 +808,15 @@ _dispatch_kq_drain(dispatch_wlh_t wlh, dispatch_kevent
- 
- #if DISPATCH_DEBUG
- 	for (r = 0; r < n; r++) {
-+#ifdef EVFILT_USER
- 		if (ke[r].filter != EVFILT_USER || DISPATCH_MGR_QUEUE_DEBUG) {
- 			_dispatch_kevent_debug_n(NULL, ke + r, r, n);
- 		}
-+#else
-+		if (DISPATCH_MGR_QUEUE_DEBUG) {
-+			_dispatch_kevent_debug_n(NULL, ke + r, r, n);
-+		}
-+#endif
- 	}
- #endif
- 
-@@ -860,7 +888,6 @@ _dispatch_kq_unote_set_kevent(dispatch_unote_t _du, di
- 				du->du_priority),
- #endif
- 	};
--	(void)pp; // if DISPATCH_USE_KEVENT_QOS == 0
- }
- 
- DISPATCH_ALWAYS_INLINE
-@@ -921,9 +948,13 @@ _dispatch_kq_deferred_update(dispatch_wlh_t wlh, dispa
- 				ke->udata);
- 		dispatch_kevent_t dk = _dispatch_kq_deferred_reuse_slot(wlh, ddi, slot);
- 		*dk = *ke;
-+#ifdef EVFILT_USER
- 		if (ke->filter != EVFILT_USER) {
- 			_dispatch_kevent_mgr_debug("deferred", ke);
- 		}
-+#else
-+		_dispatch_kevent_mgr_debug("deferred", ke);
-+#endif
- 	} else {
- 		_dispatch_kq_update_one(wlh, ke);
- 	}
-@@ -985,6 +1016,7 @@ _dispatch_sync_ipc_handoff_end(dispatch_wlh_t wlh, mac
- }
- #endif
- 
-+#if DISPATCH_HAVE_DIRECT_KNOTES
- DISPATCH_NOINLINE
- static bool
- _dispatch_kq_unote_update(dispatch_wlh_t wlh, dispatch_unote_t _du,
-@@ -1055,6 +1087,7 @@ done:
- 	dispatch_assume_zero(r);
- 	return true;
- }
-+#endif
- 
- #pragma mark dispatch_muxnote_t
- 
-@@ -1283,6 +1316,7 @@ _dispatch_unote_unregister_direct(dispatch_unote_t du,
- #pragma mark -
- #pragma mark dispatch_event_loop
- 
-+#if DISPATCH_USE_KEVENT_WORKLOOP
- enum {
- 	DISPATCH_WORKLOOP_ASYNC,
- 	DISPATCH_WORKLOOP_ASYNC_FROM_SYNC,
-@@ -1316,6 +1350,7 @@ static char const * const _dispatch_workloop_actions[]
- 	[DISPATCH_WORKLOOP_SYNC_WAKE]                   = "sync-wake",
- 	[DISPATCH_WORKLOOP_SYNC_END]                    = "sync-end",
- };
-+#endif
- 
- void
- _dispatch_event_loop_atfork_child(void)
-@@ -1410,7 +1445,7 @@ _dispatch_kq_fill_workloop_event(dispatch_kevent_t ke,
- 	switch (which) {
- 	case DISPATCH_WORKLOOP_ASYNC_FROM_SYNC:
- 		fflags |= NOTE_WL_END_OWNERSHIP;
--		/* FALLTHROUGH */
-+		DISPATCH_FALLTHROUGH;
- 	case DISPATCH_WORKLOOP_ASYNC:
- 	case DISPATCH_WORKLOOP_ASYNC_DISCOVER_SYNC:
- 	case DISPATCH_WORKLOOP_ASYNC_QOS_UPDATE:
-@@ -1434,10 +1469,10 @@ _dispatch_kq_fill_workloop_event(dispatch_kevent_t ke,
- 
- 	case DISPATCH_WORKLOOP_ASYNC_LEAVE_FROM_SYNC:
- 		fflags |= NOTE_WL_END_OWNERSHIP;
--		/* FALLTHROUGH */
-+		DISPATCH_FALLTHROUGH;
- 	case DISPATCH_WORKLOOP_ASYNC_LEAVE_FROM_TRANSFER:
- 		fflags |= NOTE_WL_IGNORE_ESTALE;
--		/* FALLTHROUGH */
-+		DISPATCH_FALLTHROUGH;
- 	case DISPATCH_WORKLOOP_ASYNC_LEAVE:
- 		dispatch_assert(!_dq_state_is_enqueued_on_target(dq_state));
- 		action = EV_ADD | EV_DELETE | EV_ENABLE;
-@@ -1881,10 +1916,17 @@ _dispatch_event_loop_poke(dispatch_wlh_t wlh, uint64_t
- {
- 	if (wlh == DISPATCH_WLH_MANAGER) {
- 		dispatch_kevent_s ke = (dispatch_kevent_s){
-+#ifdef EVFILT_USER
- 			.ident  = 1,
- 			.filter = EVFILT_USER,
- 			.fflags = NOTE_TRIGGER,
- 			.udata = (dispatch_kevent_udata_t)DISPATCH_WLH_MANAGER,
-+#else
-+			.ident = DISPATCH_KEVENT_ERSATZ_EVFILT_USER_MASK,
-+			.filter = EVFILT_TIMER,
-+			.flags = EV_ADD|EV_ENABLE,
-+			.data = 1
-+#endif
- 		};
- 		return _dispatch_kq_deferred_update(DISPATCH_WLH_ANON, &ke);
- 	} else if (wlh && wlh != DISPATCH_WLH_ANON) {
-@@ -2357,6 +2399,12 @@ _dispatch_event_loop_timer_arm(dispatch_timer_heap_t d
- 		target += range.leeway;
- 		range.leeway = 0;
- 	}
-+#if !NOTE_ABSOLUTE
-+	target = range.delay;
-+#if defined(__FreeBSD__)
-+	target /= 1000000;
-+#endif
-+#endif
- 
- 	_dispatch_event_loop_timer_program(dth, tidx, target, range.leeway,
- 			EV_ADD | EV_ENABLE);
-@@ -2445,6 +2493,7 @@ const dispatch_source_type_s _dispatch_source_type_vno
- 	.dst_merge_evt  = _dispatch_source_merge_evt,
- };
- 
-+#ifdef EVFILT_FS
- const dispatch_source_type_s _dispatch_source_type_vfs = {
- 	.dst_kind       = "vfs",
- 	.dst_filter     = EVFILT_FS,
-@@ -2477,6 +2526,7 @@ const dispatch_source_type_s _dispatch_source_type_vfs
- 	.dst_create     = _dispatch_unote_create_without_handle,
- 	.dst_merge_evt  = _dispatch_source_merge_evt,
- };
-+#endif
- 
- #ifdef EVFILT_SOCK
- const dispatch_source_type_s _dispatch_source_type_sock = {
diff --git a/devel/libdispatch/files/patch-src_init.c b/devel/libdispatch/files/patch-src_init.c
deleted file mode 100644
index ec2ff9cdbf96..000000000000
--- a/devel/libdispatch/files/patch-src_init.c
+++ /dev/null
@@ -1,36 +0,0 @@
---- src/init.c.orig	2025-03-07 00:50:44 UTC
-+++ src/init.c
-@@ -964,7 +964,6 @@ _dispatch_continuation_get_function_symbol(dispatch_co
- 	return dc->dc_func;
- }
- 
--#if HAVE_MACH
- void
- _dispatch_bug_kevent_client(const char *msg, const char *filter,
- 		const char *operation, int err, uint64_t ident, uint64_t udata,
-@@ -1008,7 +1007,6 @@ _dispatch_bug_kevent_client(const char *msg, const cha
- 				msg, strerror(err), err, udata, filter, ident, ident, func);
- 	}
- }
--#endif // HAVE_MACH
- 
- #if RDAR_49023449
- 
-@@ -1051,7 +1049,7 @@ _dispatch_bug_kevent_vanished(dispatch_unote_t du)
- 			"{ %p[%s], ident: %" PRIdPTR " / 0x%" PRIxPTR ", handler: %p }",
- 			dux_type(du._du)->dst_kind, dou._dq,
- 			dou._dq->dq_label ? dou._dq->dq_label : "<unknown>",
--			du._du->du_ident, du._du->du_ident, func);
-+			(intptr_t)du._du->du_ident, (uintptr_t)du._du->du_ident, func);
- }
- 
- #endif // RDAR_49023449
-@@ -1157,7 +1155,7 @@ _dispatch_logv_init(void *context DISPATCH_UNUSED)
- #else
- 			dprintf(dispatch_logfile, "=== log file opened for %s[%u] at "
- 					"%ld.%06u ===\n", getprogname() ?: "", getpid(),
--					tv.tv_sec, (int)tv.tv_usec);
-+					(time_t)tv.tv_sec, (int)tv.tv_usec);
- #endif
- 		}
- 	}
diff --git a/devel/libdispatch/files/patch-src_internal.h b/devel/libdispatch/files/patch-src_internal.h
deleted file mode 100644
index d2ca8a141670..000000000000
--- a/devel/libdispatch/files/patch-src_internal.h
+++ /dev/null
@@ -1,25 +0,0 @@
---- src/internal.h.orig	2025-03-07 00:50:44 UTC
-+++ src/internal.h
-@@ -277,6 +277,9 @@ upcast(dispatch_object_t dou)
- #include <sys/sysctl.h>
- #include <sys/queue.h>
- #endif
-+#if defined(__FreeBSD__)
-+#include <sys/eventfd.h>
-+#endif // __FreeBSD__
- #include <sys/socket.h>
- #include <sys/time.h>
- #include <sys/mman.h>
-@@ -475,12 +478,10 @@ struct dispatch_unote_class_s;
- 
- struct dispatch_unote_class_s;
- 
--#if HAVE_MACH
- DISPATCH_NOINLINE DISPATCH_COLD
- void _dispatch_bug_kevent_client(const char *msg, const char *filter,
- 		const char *operation, int err, uint64_t ident, uint64_t udata,
- 		struct dispatch_unote_class_s *du);
--#endif // HAVE_MACH
- 
- DISPATCH_NOINLINE DISPATCH_COLD
- void _dispatch_bug_kevent_vanished(struct dispatch_unote_class_s *du);
diff --git a/devel/libdispatch/files/patch-src_io.c b/devel/libdispatch/files/patch-src_io.c
index 519919464bc8..0fbba66f69b8 100644
--- a/devel/libdispatch/files/patch-src_io.c
+++ b/devel/libdispatch/files/patch-src_io.c
@@ -1,20 +1,11 @@
---- src/io.c.orig	2021-09-17 04:54:52 UTC
+--- src/io.c.orig	2026-05-01 02:25:26 UTC
 +++ src/io.c
-@@ -22,7 +22,7 @@
- 
- #if defined(__FreeBSD__)
- #include <fcntl.h>
--#define F_RDADVISE F_RDAHEAD
-+//#define F_RDADVISE F_RDAHEAD
- #endif
- 
- #ifndef DISPATCH_IO_DEBUG
-@@ -2308,7 +2308,7 @@ _dispatch_operation_advise(dispatch_operation_t op, si
+@@ -2357,7 +2357,7 @@ _dispatch_operation_advise(dispatch_operation_t op, si
+ 		case ESPIPE: break; // fd refers to a pipe or FIFO
  		default: (void)dispatch_assume_zero(err); break;
  	}
+-#elif defined(__OpenBSD__)
++#elif defined(__OpenBSD__) || defined(__FreeBSD__)
+ 	(void)err;
  #else
--#error "_dispatch_operation_advise not implemented on this platform"
-+	(void)err;
- #endif // defined(F_RDADVISE)
- #endif // defined(_WIN32)
- }
+ #error "_dispatch_operation_advise not implemented on this platform"
diff --git a/devel/libdispatch/files/patch-src_queue.c b/devel/libdispatch/files/patch-src_queue.c
index e1464314faaf..ae241d7f6bad 100644
--- a/devel/libdispatch/files/patch-src_queue.c
+++ b/devel/libdispatch/files/patch-src_queue.c
@@ -1,106 +1,11 @@
---- src/queue.c.orig	2021-09-17 04:54:52 UTC
+--- src/queue.c.orig	2026-05-01 02:25:26 UTC
 +++ src/queue.c
-@@ -6469,6 +6469,8 @@ _dispatch_runloop_handle_is_valid(dispatch_runloop_han
- 	return MACH_PORT_VALID(handle);
- #elif defined(__linux__)
- 	return handle >= 0;
-+#elif defined(__unix__)
-+	return handle >= 0;
- #elif defined(_WIN32)
- 	return handle != NULL;
- #else
-@@ -6485,6 +6487,8 @@ _dispatch_runloop_queue_get_handle(dispatch_lane_t dq)
- #elif defined(__linux__)
- 	// decode: 0 is a valid fd, so offset by 1 to distinguish from NULL
- 	return ((dispatch_runloop_handle_t)(uintptr_t)dq->do_ctxt) - 1;
-+#elif defined(__unix__)
-+	return ((dispatch_runloop_handle_t)(uintptr_t)dq->do_ctxt);
- #elif defined(_WIN32)
- 	return ((dispatch_runloop_handle_t)(uintptr_t)dq->do_ctxt);
- #else
-@@ -6502,6 +6506,8 @@ _dispatch_runloop_queue_set_handle(dispatch_lane_t dq,
- #elif defined(__linux__)
- 	// encode: 0 is a valid fd, so offset by 1 to distinguish from NULL
- 	dq->do_ctxt = (void *)(uintptr_t)(handle + 1);
-+#elif defined(__unix__)
-+	dq->do_ctxt = (void *)(uintptr_t)handle;
- #elif defined(_WIN32)
- 	dq->do_ctxt = (void *)(uintptr_t)handle;
- #else
-@@ -6509,6 +6515,12 @@ _dispatch_runloop_queue_set_handle(dispatch_lane_t dq,
- #endif
- }
- 
-+#if defined(__unix__)
-+#define DISPATCH_RUNLOOP_HANDLE_PACK(rfd, wfd) (((uint64_t)(rfd) << 32) | (wfd))
-+#define DISPATCH_RUNLOOP_HANDLE_RFD(h) ((int)((h) >> 32))
-+#define DISPATCH_RUNLOOP_HANDLE_WFD(h) ((int)((h) & 0xffffffff))
-+#endif
-+
- static void
- _dispatch_runloop_queue_handle_init(void *ctxt)
- {
-@@ -6558,6 +6570,14 @@ _dispatch_runloop_queue_handle_init(void *ctxt)
- 		}
- 	}
- 	handle = fd;
-+#elif defined(__unix__)
-+	int fds[2];
-+	int r = pipe2(fds, O_CLOEXEC | O_NONBLOCK);
-+	if (r == -1) {
-+		DISPATCH_CLIENT_CRASH(errno, "pipe2 failure");
-+	}
-+	uint32_t rfd = (uint32_t)fds[0], wfd = (uint32_t)fds[1];
-+	handle = DISPATCH_RUNLOOP_HANDLE_PACK(rfd, wfd);
- #elif defined(_WIN32)
- 	HANDLE hEvent;
- 	hEvent = CreateEventW(NULL, /*bManualReset=*/FALSE,
-@@ -6592,6 +6612,11 @@ _dispatch_runloop_queue_handle_dispose(dispatch_lane_t
- #elif defined(__linux__)
- 	int rc = close(handle);
- 	(void)dispatch_assume_zero(rc);
-+#elif defined(__unix__)
-+	int rc = close(DISPATCH_RUNLOOP_HANDLE_WFD(handle));
-+	(void)dispatch_assume_zero(rc);
-+	rc = close(DISPATCH_RUNLOOP_HANDLE_RFD(handle));
-+	(void)dispatch_assume_zero(rc);
- #elif defined(_WIN32)
- 	BOOL bSuccess;
- 	bSuccess = CloseHandle(handle);
-@@ -6628,6 +6653,13 @@ _dispatch_runloop_queue_class_poke(dispatch_lane_t dq)
- 		result = eventfd_write(handle, 1);
- 	} while (result == -1 && errno == EINTR);
- 	(void)dispatch_assume_zero(result);
-+#elif defined(__unix__)
-+	int wfd = DISPATCH_RUNLOOP_HANDLE_WFD(handle);
-+	ssize_t result;
-+	do {
-+		result = write(wfd, "x", 1);
-+	} while (result == -1 && errno == EINTR);
-+	(void)dispatch_assume_zero(result - 1);
- #elif defined(_WIN32)
- 	BOOL bSuccess;
- 	bSuccess = SetEvent(handle);
-@@ -6915,7 +6947,7 @@ _dispatch_runloop_root_queue_wakeup_4CF(dispatch_queue
+@@ -7036,7 +7036,7 @@ _dispatch_runloop_root_queue_wakeup_4CF(dispatch_queue
  	_dispatch_runloop_queue_wakeup(upcast(dq)._dl, 0, false);
  }
  
--#if TARGET_OS_MAC || defined(_WIN32)
-+#if TARGET_OS_MAC || defined(_WIN32) || defined(__FreeBSD__)
+-#if TARGET_OS_MAC || defined(_WIN32) || defined(__OpenBSD__)
++#if TARGET_OS_MAC || defined(_WIN32) || defined(__OpenBSD__) || defined(__FreeBSD__)
  dispatch_runloop_handle_t
  _dispatch_runloop_root_queue_get_port_4CF(dispatch_queue_t dq)
  {
-@@ -7304,6 +7336,13 @@ _gettid(void)
- _gettid(void)
- {
- 	return (pid_t)pthread_getthreadid_np();
-+}
-+#elif defined(__FreeBSD__)
-+DISPATCH_ALWAYS_INLINE
-+static inline pid_t
-+_gettid(void)
-+{
-+	return getthrid();
- }
- #elif defined(_WIN32)
- DISPATCH_ALWAYS_INLINE
diff --git a/devel/libdispatch/files/patch-src_shims_lock.c b/devel/libdispatch/files/patch-src_shims_lock.c
index f54778de96ac..5942cdef3aa4 100644
--- a/devel/libdispatch/files/patch-src_shims_lock.c
+++ b/devel/libdispatch/files/patch-src_shims_lock.c
@@ -1,52 +1,6 @@
---- src/shims/lock.c.orig	2025-03-07 00:50:44 UTC
+--- src/shims/lock.c.orig	2026-05-01 02:25:26 UTC
 +++ src/shims/lock.c
-@@ -56,6 +56,20 @@ _dispatch_thread_switch(dispatch_lock value, dispatch_
- #endif
- #endif
- 
-+#if defined(__unix__)
-+#if !HAVE_UL_UNFAIR_LOCK
-+DISPATCH_ALWAYS_INLINE
-+static inline void
-+_dispatch_thread_switch(dispatch_lock value, dispatch_lock_options_t flags,
-+  uint32_t timeout)
-+{
-+	(void)value;
-+	(void)flags;
-+	(void)timeout;
-+}
-+#endif // HAVE_UL_UNFAIR_LOCK
-+#endif
-+
- #pragma mark - semaphores
- 
- #if USE_MACH_SEM
-@@ -395,8 +409,10 @@ _dispatch_unfair_lock_wake(uint32_t *uaddr, uint32_t f
- #include <sys/time.h>
- #ifdef __ANDROID__
- #include <sys/syscall.h>
--#else
-+#elif __linux__
- #include <syscall.h>
-+#else
-+#include <sys/futex.h>
- #endif /* __ANDROID__ */
- 
- DISPATCH_ALWAYS_INLINE
-@@ -405,7 +421,12 @@ _dispatch_futex(uint32_t *uaddr, int op, uint32_t val,
- 		const struct timespec *timeout, uint32_t *uaddr2, uint32_t val3,
- 		int opflags)
- {
-+#if __linux__
- 	return (int)syscall(SYS_futex, uaddr, op | opflags, val, timeout, uaddr2, val3);
-+#else
-+	(void)val3;
-+	return futex(uaddr, op | opflags, (int)val, timeout, uaddr2);
-+#endif
- }
- 
- // returns 0, ETIMEDOUT, EFAULT, EINTR, EWOULDBLOCK
-@@ -415,11 +436,15 @@ _futex_blocking_op(uint32_t *uaddr, int futex_op, uint
+@@ -447,11 +447,15 @@ _futex_blocking_op(uint32_t *uaddr, int futex_op, uint
  		const struct timespec *timeout, int flags)
  {
  	for (;;) {
@@ -65,57 +19,19 @@
  		case EINTR:
  			/*
  			 * if we have a timeout, we need to return for the caller to
-@@ -455,6 +480,7 @@ _dispatch_futex_wake(uint32_t *uaddr, int wake, int op
- 	DISPATCH_INTERNAL_CRASH(errno, "_dlock_wake() failed");
+@@ -478,6 +482,7 @@ _dispatch_futex_wait(uint32_t *uaddr, uint32_t val,
+ 	return _futex_blocking_op(uaddr, FUTEX_WAIT, val, timeout, opflags);
  }
  
 +#if HAVE_FUTEX_PI
  static void
- _dispatch_futex_lock_pi(uint32_t *uaddr, struct timespec *timeout, int detect,
- 	      int opflags)
-@@ -472,6 +498,7 @@ _dispatch_futex_unlock_pi(uint32_t *uaddr, int opflags
- 	if (rc == 0) return;
- 	DISPATCH_CLIENT_CRASH(errno, "futex_unlock_pi() failed");
+ _dispatch_futex_wake(uint32_t *uaddr, int wake, int opflags)
+ {
+@@ -486,6 +491,7 @@ _dispatch_futex_wake(uint32_t *uaddr, int wake, int op
+ 	if (rc >= 0 || errno == ENOENT) return;
+ 	DISPATCH_INTERNAL_CRASH(errno, "_dlock_wake() failed");
  }
 +#endif
  
- #endif
- #pragma mark - wait for address
-@@ -516,6 +543,19 @@ _dispatch_wait_on_address(uint32_t volatile *_address,
- 			? INFINITE : ((nsecs + 1000000) / 1000000);
- 	if (dwMilliseconds == 0) return ETIMEDOUT;
- 	return WaitOnAddress(address, &value, sizeof(value), dwMilliseconds) == TRUE;
-+#elif defined(__FreeBSD__)
-+	uint64_t usecs = 0;
-+	int rc;
-+	if (nsecs == DISPATCH_TIME_FOREVER) {
-+		return _dispatch_ulock_wait(address, value, 0, flags);
-+	}
-+	do {
-+		usecs = howmany(nsecs, NSEC_PER_USEC);
-+		if (usecs > UINT32_MAX) usecs = UINT32_MAX;
-+		rc = _dispatch_ulock_wait(address, value, (uint32_t)usecs, flags);
-+	} while (usecs == UINT32_MAX && rc == ETIMEDOUT &&
-+			(nsecs = _dispatch_timeout(timeout)) != 0);
-+	return rc;
- #else
- #error _dispatch_wait_on_address unimplemented for this platform
- #endif
-@@ -606,7 +646,7 @@ _dispatch_unfair_lock_lock_slow(dispatch_unfair_lock_t
- 		}
- 	}
- }
--#elif HAVE_FUTEX
-+#elif HAVE_FUTEX_PI
- void
- _dispatch_unfair_lock_lock_slow(dispatch_unfair_lock_t dul,
- 		dispatch_lock_options_t flags)
-@@ -643,7 +683,7 @@ _dispatch_unfair_lock_unlock_slow(dispatch_unfair_lock
- 	if (_dispatch_lock_has_waiters(cur)) {
- 		_dispatch_unfair_lock_wake(&dul->dul_lock, 0);
- 	}
--#elif HAVE_FUTEX
-+#elif HAVE_FUTEX_PI
- 	// futex_unlock_pi() handles both OWNER_DIED which we abuse & WAITERS
- 	_dispatch_futex_unlock_pi(&dul->dul_lock, FUTEX_PRIVATE_FLAG);
- #else
+ #if HAVE_FUTEX_PI
+ static void
diff --git a/devel/libdispatch/files/patch-src_shims_lock.h b/devel/libdispatch/files/patch-src_shims_lock.h
index 6e61fd9faafa..a2fb2af73897 100644
--- a/devel/libdispatch/files/patch-src_shims_lock.h
+++ b/devel/libdispatch/files/patch-src_shims_lock.h
@@ -1,49 +1,12 @@
---- src/shims/lock.h.orig	2025-03-07 00:50:44 UTC
+--- src/shims/lock.h.orig	2026-05-01 02:25:26 UTC
 +++ src/shims/lock.h
-@@ -100,6 +100,29 @@ _dispatch_lock_owner(dispatch_lock lock_value)
- 	return lock_value & DLOCK_OWNER_MASK;
- }
- 
-+#elif defined(__FreeBSD__)
-+
-+#include <sys/types.h>
-+#include <sys/umtx.h>
-+#include <sched.h>
-+
-+typedef uint32_t dispatch_tid;
-+typedef uint32_t dispatch_lock;
-+
-+#define DLOCK_OWNER_NULL   ((dispatch_tid)0)
-+#define DLOCK_OWNER_MASK   ((dispatch_lock)0xfffffffc)
-+#define DLOCK_WAITERS_BIT   ((dispatch_lock)0x00000001)
-+#define DLOCK_FAILED_TRYLOCK_BIT  ((dispatch_lock)0x00000002)
-+
-+#define _dispatch_tid_self()        ((dispatch_tid)(_dispatch_get_tsd_base()->tid))
-+
-+DISPATCH_ALWAYS_INLINE
-+static inline dispatch_tid
-+_dispatch_lock_owner(dispatch_lock lock_value)
-+{
-+  return lock_value & DLOCK_OWNER_MASK;
-+}
-+
- #else
- #  error define _dispatch_lock encoding scheme for your platform here
- #endif
-@@ -167,10 +190,15 @@ _dispatch_lock_has_failed_trylock(dispatch_lock lock_v
- #endif
- 
- #ifndef HAVE_FUTEX
--#ifdef __linux__
-+#if defined(__linux__)
+@@ -214,6 +214,9 @@ _dispatch_lock_has_failed_trylock(dispatch_lock lock_v
+ #elif defined(__OpenBSD__)
  #define HAVE_FUTEX 1
-+#define HAVE_FUTEX_PI 1
+ #define HAVE_FUTEX_PI 0
 +#elif defined(__FreeBSD__)
 +#define HAVE_FUTEX 0
 +#define HAVE_FUTEX_PI 0
  #else
  #define HAVE_FUTEX 0
-+#define HAVE_FUTEX_PI 0
- #endif
- #endif // HAVE_FUTEX
- 
+ #define HAVE_FUTEX_PI 0
diff --git a/devel/libdispatch/files/patch-src_swift_Source.swift b/devel/libdispatch/files/patch-src_swift_Source.swift
index 76aebc195c96..65c69e5f0ee3 100644
--- a/devel/libdispatch/files/patch-src_swift_Source.swift
+++ b/devel/libdispatch/files/patch-src_swift_Source.swift
@@ -1,4 +1,4 @@
---- src/swift/Source.swift.orig	2021-09-17 04:54:52 UTC
+--- src/swift/Source.swift.orig	2026-05-01 02:25:26 UTC
 +++ src/swift/Source.swift
 @@ -116,7 +116,7 @@ extension DispatchSource {
  	}
@@ -9,7 +9,7 @@
  	public struct ProcessEvent : OptionSet, RawRepresentable {
  		public let rawValue: UInt
  		public init(rawValue: UInt) { self.rawValue = rawValue }
-@@ -174,7 +174,7 @@ extension DispatchSource {
+@@ -186,7 +186,7 @@ extension DispatchSource {
  	}
  #endif
  
@@ -18,16 +18,7 @@
  	public class func makeProcessSource(identifier: pid_t, eventMask: ProcessEvent, queue: DispatchQueue? = nil) -> DispatchSourceProcess {
  		let source = dispatch_source_create(_swift_dispatch_source_type_PROC(), UInt(identifier), eventMask.rawValue, queue?.__wrapped)
  		return DispatchSource(source: source) as DispatchSourceProcess
-@@ -224,7 +224,7 @@ extension DispatchSource {
- 		return DispatchSource(source: source) as DispatchSourceUserDataReplace
- 	}
- 
--#if !os(Linux) && !os(Android) && !os(Windows)
-+#if !os(Linux) && !os(Android) && !os(Windows) && !os(FreeBSD)
- 	public class func makeFileSystemObjectSource(fileDescriptor: Int32, eventMask: FileSystemEvent, queue: DispatchQueue? = nil) -> DispatchSourceFileSystemObject {
- 		let source = dispatch_source_create(_swift_dispatch_source_type_VNODE(), UInt(fileDescriptor), eventMask.rawValue, queue?.__wrapped)
- 		return DispatchSource(source: source) as DispatchSourceFileSystemObject
-@@ -290,7 +290,7 @@ extension DispatchSourceMemoryPressure {
+@@ -302,7 +302,7 @@ extension DispatchSourceMemoryPressure {
  }
  #endif
  
@@ -35,13 +26,13 @@
 +#if !os(Linux) && !os(Android) && !os(Windows) && !os(FreeBSD)
  extension DispatchSourceProcess {
  	public var handle: pid_t {
- 		return pid_t(dispatch_source_get_handle(self as! DispatchSource))
-@@ -646,7 +646,7 @@ extension DispatchSourceTimer {
+ 		return pid_t(CDispatch.dispatch_source_get_handle((self as! DispatchSource).__wrapped))
+@@ -658,7 +658,7 @@ extension DispatchSourceTimer {
  	}
  }
  
--#if !os(Linux) && !os(Android) && !os(Windows)
-+#if !os(Linux) && !os(Android) && !os(Windows) && !os(FreeBSD)
+-#if !os(Linux) && !os(Android) && !os(Windows) && !os(OpenBSD)
++#if !os(Linux) && !os(Android) && !os(Windows) && !os(OpenBSD) && !os(FreeBSD)
  extension DispatchSourceFileSystemObject {
  	public var handle: Int32 {
  		return Int32(dispatch_source_get_handle((self as! DispatchSource).__wrapped))
diff --git a/devel/libdispatch/files/patch-src_swift_Wrapper.swift b/devel/libdispatch/files/patch-src_swift_Wrapper.swift
index 92372e66cf50..08a39fa5d563 100644
--- a/devel/libdispatch/files/patch-src_swift_Wrapper.swift
+++ b/devel/libdispatch/files/patch-src_swift_Wrapper.swift
@@ -1,15 +1,15 @@
---- src/swift/Wrapper.swift.orig	2021-09-17 04:54:52 UTC
+--- src/swift/Wrapper.swift.orig	2026-05-01 02:25:26 UTC
 +++ src/swift/Wrapper.swift
-@@ -181,7 +181,7 @@ extension DispatchSource : DispatchSourceMachSend,
+@@ -182,7 +182,7 @@ extension DispatchSource : DispatchSourceMachSend,
  }
  #endif
  
 -#if !os(Linux) && !os(Android) && !os(Windows)
 +#if !os(Linux) && !os(Android) && !os(Windows) && !os(FreeBSD)
- extension DispatchSource : DispatchSourceProcess,
- 	DispatchSourceFileSystemObject {
+ extension DispatchSource : DispatchSourceProcess {
  }
-@@ -272,7 +272,7 @@ public protocol DispatchSourceMemoryPressure : Dispatc
+ #endif
+@@ -277,7 +277,7 @@ public protocol DispatchSourceMemoryPressure : Dispatc
  }
  #endif
  
@@ -18,12 +18,12 @@
  public protocol DispatchSourceProcess : DispatchSourceProtocol {
  	var handle: pid_t { get }
  
-@@ -302,7 +302,7 @@ public protocol DispatchSourceTimer : DispatchSourcePr
+@@ -307,7 +307,7 @@ public protocol DispatchSourceTimer : DispatchSourcePr
  	func scheduleRepeating(wallDeadline: DispatchWallTime, interval: Double, leeway: DispatchTimeInterval)
  }
  
--#if !os(Linux) && !os(Android) && !os(Windows)
-+#if !os(Linux) && !os(Android) && !os(Windows) && !os(FreeBSD)
+-#if !os(Linux) && !os(Android) && !os(Windows) && !os(OpenBSD)
++#if !os(Linux) && !os(Android) && !os(Windows) && !os(OpenBSD) && !os(FreeBSD)
  public protocol DispatchSourceFileSystemObject : DispatchSourceProtocol {
  	var handle: Int32 { get }
  
diff --git a/devel/libdispatch/files/patch-tests_CMakeLists.txt b/devel/libdispatch/files/patch-tests_CMakeLists.txt
deleted file mode 100644
index 36a9dcaa20e8..000000000000
--- a/devel/libdispatch/files/patch-tests_CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
---- tests/CMakeLists.txt.orig	2021-09-17 04:54:52 UTC
-+++ tests/CMakeLists.txt
-@@ -183,6 +183,12 @@ add_unit_test(dispatch_plusplus SOURCES dispatch_plusp
- add_unit_test(dispatch_c99 SOURCES dispatch_c99.c)
- add_unit_test(dispatch_plusplus SOURCES dispatch_plusplus.cpp)
- 
-+if (DISPATCH_USE_INTERNAL_WORKQUEUE)
-+  add_unit_test(dispatch_workqueue
-+                SOURCES
-+                  dispatch_workqueue.c)
-+endif()
-+
*** 122 LINES SKIPPED ***