git: a17666caba5a - main - devel/libdispatch: update to 6.0.3 release (+)

From: Dima Panov <fluffy_at_FreeBSD.org>
Date: Fri, 24 Jan 2025 15:20:50 UTC
The branch main has been updated by fluffy:

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

commit a17666caba5a77f5582c5af7ec3c9139615f8fa6
Author:     Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2025-01-24 15:14:27 +0000
Commit:     Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2025-01-24 15:20:36 +0000

    devel/libdispatch: update to 6.0.3 release (+)
    
    Use system libBlocksRuntime provided by LLVM/Compiler-RT instead of bundled one
    Install versioned dispatch library to better maintenance and visibility
---
 devel/libdispatch/Makefile                         |  2 +-
 devel/libdispatch/distinfo                         |  6 +++---
 devel/libdispatch/files/patch-CMakeLists.txt       | 13 ++++++++++++
 ...ch-cmake_modules_DispatchCompilerWarnings.cmake |  8 ++++----
 .../patch-cmake_modules_FindBlocksRuntime.cmake    | 20 +++++++++++++++++++
 devel/libdispatch/files/patch-src_CMakeLists.txt   | 23 ++++++++++++++++++++--
 devel/libdispatch/pkg-plist                        |  6 ++++--
 7 files changed, 66 insertions(+), 12 deletions(-)

diff --git a/devel/libdispatch/Makefile b/devel/libdispatch/Makefile
index a082726bcf5b..9e985699fd3c 100644
--- a/devel/libdispatch/Makefile
+++ b/devel/libdispatch/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	libdispatch
-DISTVERSION=	5.10.1
+DISTVERSION=	6.0.3
 PORTEPOCH=	1
 CATEGORIES=	devel
 
diff --git a/devel/libdispatch/distinfo b/devel/libdispatch/distinfo
index b4d34f8de82d..65560e992d63 100644
--- a/devel/libdispatch/distinfo
+++ b/devel/libdispatch/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1723281605
-SHA256 (apple-swift-corelibs-libdispatch-5.10.1-swift-5.10.1-RELEASE_GH0.tar.gz) = affa3544b0fdb60f8f175bc0d2846177436d5848ef8ca73e3e560d23986f38b3
-SIZE (apple-swift-corelibs-libdispatch-5.10.1-swift-5.10.1-RELEASE_GH0.tar.gz) = 594770
+TIMESTAMP = 1737150009
+SHA256 (apple-swift-corelibs-libdispatch-6.0.3-swift-6.0.3-RELEASE_GH0.tar.gz) = 444c0de5fe18e148548a3f3b60b3bac3d4d586285c21064346c7ca17ed1d4fac
+SIZE (apple-swift-corelibs-libdispatch-6.0.3-swift-6.0.3-RELEASE_GH0.tar.gz) = 595115
diff --git a/devel/libdispatch/files/patch-CMakeLists.txt b/devel/libdispatch/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..0460f0e62c51
--- /dev/null
+++ b/devel/libdispatch/files/patch-CMakeLists.txt
@@ -0,0 +1,13 @@
+--- CMakeLists.txt.orig	2024-06-13 00:13:26 UTC
++++ CMakeLists.txt
+@@ -187,6 +187,10 @@ endif()
+   find_package(LibRT)
+ 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)
diff --git a/devel/libdispatch/files/patch-cmake_modules_DispatchCompilerWarnings.cmake b/devel/libdispatch/files/patch-cmake_modules_DispatchCompilerWarnings.cmake
index bc8ec4df8ca5..91a0b3738997 100644
--- a/devel/libdispatch/files/patch-cmake_modules_DispatchCompilerWarnings.cmake
+++ b/devel/libdispatch/files/patch-cmake_modules_DispatchCompilerWarnings.cmake
@@ -1,8 +1,8 @@
---- cmake/modules/DispatchCompilerWarnings.cmake.orig	2021-09-17 04:54:52 UTC
+--- cmake/modules/DispatchCompilerWarnings.cmake.orig	2024-06-13 00:13:26 UTC
 +++ cmake/modules/DispatchCompilerWarnings.cmake
-@@ -2,7 +2,6 @@ else()
- if("${CMAKE_C_SIMULATE_ID}" STREQUAL "MSVC")
-   # TODO: someone needs to provide the msvc equivalent warning flags
+@@ -6,7 +6,6 @@ else()
+   # so that we can use __popcnt64
+   add_compile_options($<$<OR:$<COMPILE_LANGUAGE:C>,$<COMPILE_LANGUAGE: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>)
diff --git a/devel/libdispatch/files/patch-cmake_modules_FindBlocksRuntime.cmake b/devel/libdispatch/files/patch-cmake_modules_FindBlocksRuntime.cmake
new file mode 100644
index 000000000000..1158b5c700ff
--- /dev/null
+++ b/devel/libdispatch/files/patch-cmake_modules_FindBlocksRuntime.cmake
@@ -0,0 +1,20 @@
+--- cmake/modules/FindBlocksRuntime.cmake.orig	2024-06-13 00:13:26 UTC
++++ cmake/modules/FindBlocksRuntime.cmake
+@@ -17,14 +17,14 @@ else()
+ else()
+   find_path(BlocksRuntime_INCLUDE_DIR
+             NAMES
+-              Blocks.h
++              Block.h
+             HINTS
+-              ${CMAKE_INSTALL_FULL_INCLUDEDIR})
++              /usr/include ${CMAKE_INSTALL_FULL_INCLUDEDIR})
+   find_library(BlocksRuntime_LIBRARIES
+                NAMES
+                  BlocksRuntime libBlocksRuntime
+                HINTS
+-                 ${CMAKE_INSTALL_FULL_LIBDIR})
++                 /usr/lib ${CMAKE_INSTALL_FULL_LIBDIR})
+ 
+   include(FindPackageHandleStandardArgs)
+   find_package_handle_standard_args(BlocksRuntime
diff --git a/devel/libdispatch/files/patch-src_CMakeLists.txt b/devel/libdispatch/files/patch-src_CMakeLists.txt
index ee85289310eb..5774cceae846 100644
--- a/devel/libdispatch/files/patch-src_CMakeLists.txt
+++ b/devel/libdispatch/files/patch-src_CMakeLists.txt
@@ -1,6 +1,14 @@
---- src/CMakeLists.txt.orig	2021-09-17 04:54:52 UTC
+--- src/CMakeLists.txt.orig	2024-06-13 00:13:26 UTC
 +++ src/CMakeLists.txt
-@@ -127,7 +127,7 @@ target_compile_options(dispatch PRIVATE -fblocks)
+@@ -1,6 +1,6 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
+ 
+ if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
+-  add_subdirectory(BlocksRuntime)
++#  add_subdirectory(BlocksRuntime)
+ endif()
+ 
+ add_library(dispatch
+@@ -145,7 +145,7 @@ target_compile_options(dispatch PRIVATE -fblocks)
  # FIXME(compnerd) add check for -fblocks?
  target_compile_options(dispatch PRIVATE -fblocks)
  
@@ -9,3 +17,14 @@
  if (C_SUPPORTS_OMIT_LEAF_FRAME_POINTER)
    target_compile_options(dispatch PRIVATE -momit-leaf-frame-pointer)
  endif()
+@@ -176,6 +176,10 @@ if(NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|Windows")
+ 
+ if(NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|Windows")
+   set_target_properties(dispatch PROPERTIES INSTALL_RPATH "$ORIGIN")
++  set_target_properties(dispatch PROPERTIES
++        VERSION ${PROJECT_VERSION}
++        SOVERSION ${PROJECT_VERSION_MAJOR}
++        EXPORT_NAME dispatch )
+ endif()
+ 
+ if(ENABLE_SWIFT)
diff --git a/devel/libdispatch/pkg-plist b/devel/libdispatch/pkg-plist
index 33b2867e0f47..5443b321d338 100644
--- a/devel/libdispatch/pkg-plist
+++ b/devel/libdispatch/pkg-plist
@@ -1,4 +1,4 @@
-include/Block.h
+@comment include/Block.h
 include/dispatch/base.h
 include/dispatch/block.h
 include/dispatch/data.h
@@ -16,8 +16,10 @@ include/os/generic_base.h
 include/os/generic_unix_base.h
 include/os/generic_win_base.h
 include/os/object.h
-lib/libBlocksRuntime.so
+@comment lib/libBlocksRuntime.so
 lib/libdispatch.so
+lib/libdispatch.so.1
+lib/libdispatch.so.1.3
 share/man/man3/dispatch.3.gz
 share/man/man3/dispatch_after.3.gz
 share/man/man3/dispatch_api.3.gz