Date: Tue, 12 May 2026 18:47:27 +0000 From: Joseph Mingrone <jrm@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: hayzamjs <hayzam@gmail.com> Subject: git: c1dedb9a2687 - main - devel/libks: Add new port Message-ID: <6a0375bf.46870.393634b8@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by jrm: URL: https://cgit.FreeBSD.org/ports/commit/?id=c1dedb9a26877ccda761811c21900f5084bcdcf7 commit c1dedb9a26877ccda761811c21900f5084bcdcf7 Author: hayzamjs <hayzam@gmail.com> AuthorDate: 2026-05-11 22:00:39 +0000 Commit: Joseph Mingrone <jrm@FreeBSD.org> CommitDate: 2026-05-12 18:46:38 +0000 devel/libks: Add new port Add a new devel/libks port for SignalWire's libks support library. libks provides common C utility code used by SignalWire and related projects, including platform abstraction, threading, networking, JSON, UUID, TLS, logging, buffers, and general helper routines. Reviewed by: jrm Differential Revision: https://reviews.freebsd.org/D56907 --- devel/Makefile | 1 + devel/libks/Makefile | 28 +++++++++++++++ devel/libks/distinfo | 3 ++ devel/libks/files/patch-CMakeLists.txt | 24 +++++++++++++ devel/libks/files/patch-cmake_ksutil.cmake | 21 +++++++++++ .../files/patch-src_include_libks_ks__platform.h | 22 ++++++++++++ devel/libks/files/patch-src_ks__thread.c | 11 ++++++ devel/libks/pkg-descr | 4 +++ devel/libks/pkg-plist | 42 ++++++++++++++++++++++ 9 files changed, 156 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index 47afdb9ff796..ec59a73ec83f 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1367,6 +1367,7 @@ SUBDIR += libk8055 SUBDIR += libkiwix SUBDIR += libkiwix13 + SUBDIR += libks SUBDIR += libklel SUBDIR += liblangtag SUBDIR += liblnk diff --git a/devel/libks/Makefile b/devel/libks/Makefile new file mode 100644 index 000000000000..026f9c538e5b --- /dev/null +++ b/devel/libks/Makefile @@ -0,0 +1,28 @@ +PORTNAME= libks +DISTVERSIONPREFIX= v +DISTVERSION= 2.0.10 +CATEGORIES= devel + +MAINTAINER= hayzam@alchemilla.io +COMMENT= Foundational support library for SignalWire C products +WWW= https://github.com/signalwire/libks + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/copyright + +LIB_DEPENDS= libuuid.so:misc/libuuid + +USES= cmake compiler:c11 localbase pkgconfig ssl +USE_GITHUB= yes +GH_ACCOUNT= signalwire + +USE_LDCONFIG= yes + +CMAKE_OFF= WITH_PACKAGING + +DOCSDIR= ${PREFIX}/share/doc/libks2 + +post-patch: + @${FIND} ${WRKSRC} -name '*.orig' -delete + +.include <bsd.port.mk> diff --git a/devel/libks/distinfo b/devel/libks/distinfo new file mode 100644 index 000000000000..91eb3b761fc2 --- /dev/null +++ b/devel/libks/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1778345457 +SHA256 (signalwire-libks-v2.0.10_GH0.tar.gz) = cd0d8504870c2e0e1306e55fd27dede976ab9f3a919487bc10b526576d24d568 +SIZE (signalwire-libks-v2.0.10_GH0.tar.gz) = 258971 diff --git a/devel/libks/files/patch-CMakeLists.txt b/devel/libks/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..8fd033c50389 --- /dev/null +++ b/devel/libks/files/patch-CMakeLists.txt @@ -0,0 +1,24 @@ +--- CMakeLists.txt.orig 2026-05-09 17:08:09 UTC ++++ CMakeLists.txt +@@ -14,10 +14,6 @@ option(WITH_PACKAGING "Enable packaging" ON) + # Must include cotire before anything else for auto pch setup + #include(cmake/cotire.cmake) + +-# Load our common utility api and setup the platfomrm and build +-include(cmake/ksutil.cmake) +-ksutil_setup_platform() +- + # Find stuff we need for packaging on UNIX + if(KS_PLAT_LIN AND WITH_PACKAGING) + find_package(Git) +@@ -45,6 +41,10 @@ message("LibKS2 Version ${PROJECT_VERSION_MAJOR}.${PRO + # Declare our project, libks2 + project(LibKS2 VERSION 2.0.10 LANGUAGES C CXX) + message("LibKS2 Version ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}") ++ ++# Load our common utility api and setup the platfomrm and build ++include(cmake/ksutil.cmake) ++ksutil_setup_platform() + + # Set package version + set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) diff --git a/devel/libks/files/patch-cmake_ksutil.cmake b/devel/libks/files/patch-cmake_ksutil.cmake new file mode 100644 index 000000000000..50371b94c370 --- /dev/null +++ b/devel/libks/files/patch-cmake_ksutil.cmake @@ -0,0 +1,21 @@ +--- cmake/ksutil.cmake.orig 2026-05-09 17:13:27 UTC ++++ cmake/ksutil.cmake +@@ -130,6 +130,18 @@ macro(ksutil_setup_platform) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) ++ elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") ++ message("Platform is FreeBSD") ++ set(KS_PLAT_FBSD 1 CACHE INTERNAL "Platform definition" FORCE) ++ set(CMAKE_POSITION_INDEPENDENT_CODE YES) ++ ++ add_definitions("-DKS_PLAT_FBSD=1") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c11") ++ ++ if (NOT CMAKE_INSTALL_PREFIX) ++ set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE INTERNAL "Prefix prepended to install directories" FORCE) ++ set(CMAKE_PREFIX_PATH "/usr/local" CACHE INTERNAL "Prefix search path" FORCE) ++ endif() + else() + message("Platform is linux") + set(KS_PLAT_LIN 1 CACHE INTERNAL "Platform definition" FORCE) diff --git a/devel/libks/files/patch-src_include_libks_ks__platform.h b/devel/libks/files/patch-src_include_libks_ks__platform.h new file mode 100644 index 000000000000..d6c6be9e5b31 --- /dev/null +++ b/devel/libks/files/patch-src_include_libks_ks__platform.h @@ -0,0 +1,22 @@ +--- src/include/libks/ks_platform.h.orig 2026-05-09 17:13:32 UTC ++++ src/include/libks/ks_platform.h +@@ -25,7 +25,7 @@ KS_BEGIN_EXTERN_C + + KS_BEGIN_EXTERN_C + +-#if !defined(KS_PLAT_LIN) && !defined(KS_PLAT_WIN) && !defined(KS_PLAT_MAC) ++#if !defined(KS_PLAT_LIN) && !defined(KS_PLAT_WIN) && !defined(KS_PLAT_MAC) && !defined(KS_PLAT_FBSD) + #ifdef __linux__ + #define KS_PLAT_LIN + #else +@@ -34,6 +34,10 @@ KS_BEGIN_EXTERN_C + #else + #ifdef __APPLE__ + #define KS_PLAT_MAC ++#else ++#ifdef __FreeBSD__ ++#define KS_PLAT_FBSD ++#endif + #endif + #endif + #endif diff --git a/devel/libks/files/patch-src_ks__thread.c b/devel/libks/files/patch-src_ks__thread.c new file mode 100644 index 000000000000..8f3984a2ca2c --- /dev/null +++ b/devel/libks/files/patch-src_ks__thread.c @@ -0,0 +1,11 @@ +--- src/ks_thread.c.orig 2026-05-09 17:13:52 UTC ++++ src/ks_thread.c +@@ -76,6 +76,8 @@ KS_DECLARE(ks_pid_t) ks_thread_self_id(void) + return GetCurrentThreadId(); + #elif defined(KS_PLAT_LIN) + return syscall(SYS_gettid); ++#elif defined(KS_PLAT_FBSD) ++ return pthread_getthreadid_np(); + #elif defined(KS_PLAT_MAC) + uint64_t tid; + int r = pthread_threadid_np(NULL, &tid); diff --git a/devel/libks/pkg-descr b/devel/libks/pkg-descr new file mode 100644 index 000000000000..76d10d6c52e0 --- /dev/null +++ b/devel/libks/pkg-descr @@ -0,0 +1,4 @@ +libks is a foundational C support library used by SignalWire projects. + +It provides common platform, threading, networking, JSON, UUID, and utility +helpers used by software such as FreeSWITCH and related SignalWire components. diff --git a/devel/libks/pkg-plist b/devel/libks/pkg-plist new file mode 100644 index 000000000000..338f31d02898 --- /dev/null +++ b/devel/libks/pkg-plist @@ -0,0 +1,42 @@ +include/libks2/libks/cmake/AddLibBacktrace.cmake +include/libks2/libks/cmake/FindPCRE.cmake +include/libks2/libks/cmake/LibKS2Config-release.cmake +include/libks2/libks/cmake/LibKS2Config.cmake +include/libks2/libks/cmake/ksutil.cmake +include/libks2/libks/ks.h +include/libks2/libks/ks_acl.h +include/libks2/libks/ks_atomic.h +include/libks2/libks/ks_base64.h +include/libks2/libks/ks_buffer.h +include/libks2/libks/ks_config.h +include/libks2/libks/ks_debug.h +include/libks2/libks/ks_dso.h +include/libks2/libks/ks_env.h +include/libks2/libks/ks_hash.h +include/libks2/libks/ks_hep.h +include/libks2/libks/ks_json.h +include/libks2/libks/ks_json_check.h +include/libks2/libks/ks_json_schema.h +include/libks2/libks/ks_log.h +include/libks2/libks/ks_metrics.h +include/libks2/libks/ks_platform.h +include/libks2/libks/ks_pool.h +include/libks2/libks/ks_printf.h +include/libks2/libks/ks_q.h +include/libks2/libks/ks_sb.h +include/libks2/libks/ks_socket.h +include/libks2/libks/ks_ssl.h +include/libks2/libks/ks_string.h +include/libks2/libks/ks_thread_pool.h +include/libks2/libks/ks_threadmutex.h +include/libks2/libks/ks_time.h +include/libks2/libks/ks_tls.h +include/libks2/libks/ks_types.h +include/libks2/libks/ks_utf8.h +include/libks2/libks/ks_uuid.h +include/libks2/libks/kws.h +include/libks2/libks/simclist.h +lib/libks2.so +lib/libks2.so.2 +libdata/pkgconfig/libks2.pc +%%DOCSDIR%%/copyrighthome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a0375bf.46870.393634b8>
