git: 3b8c77a9d86e - main - devel/lace: New port: Implementation of work-stealing in C

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 28 Mar 2025 04:54:09 UTC
The branch main has been updated by yuri:

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

commit 3b8c77a9d86e01f9d82a79ad0859e75437782e9b
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-03-28 04:15:18 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-03-28 04:53:58 +0000

    devel/lace: New port: Implementation of work-stealing in C
---
 devel/Makefile                        |  1 +
 devel/lace/Makefile                   | 25 +++++++++++++++++++++++++
 devel/lace/distinfo                   |  3 +++
 devel/lace/files/patch-CMakeLists.txt | 16 ++++++++++++++++
 devel/lace/pkg-descr                  |  2 ++
 devel/lace/pkg-plist                  | 11 +++++++++++
 6 files changed, 58 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index e05cc6f9b1a3..7a4e70648cf8 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -1186,6 +1186,7 @@
     SUBDIR += kyra
     SUBDIR += kyua
     SUBDIR += lab
+    SUBDIR += lace
     SUBDIR += lager
     SUBDIR += laminar
     SUBDIR += lasi
diff --git a/devel/lace/Makefile b/devel/lace/Makefile
new file mode 100644
index 000000000000..d30c4db4a72b
--- /dev/null
+++ b/devel/lace/Makefile
@@ -0,0 +1,25 @@
+PORTNAME=	lace
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.4.2
+CATEGORIES=	devel
+PKGNAMESUFFIX=	-work-stealing
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Implementation of work-stealing in C
+WWW=		https://github.com/trolando/lace
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cmake:testing
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	trolando
+
+CMAKE_ON=		BUILD_SHARED_LIBS
+CMAKE_OFF=		LACE_BUILD_TESTS
+CMAKE_TESTING_ON=	LACE_BUILD_TESTS
+
+# tests as of 1.4.2: 100% tests passed, 0 tests failed out of 2
+
+.include <bsd.port.mk>
diff --git a/devel/lace/distinfo b/devel/lace/distinfo
new file mode 100644
index 000000000000..361c0a0ce844
--- /dev/null
+++ b/devel/lace/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1743134608
+SHA256 (trolando-lace-v1.4.2_GH0.tar.gz) = d9af1eb9d8ed2f46585085f78080e3a1b1f76fe1ef1f67794c1440a5e27bf07a
+SIZE (trolando-lace-v1.4.2_GH0.tar.gz) = 102784
diff --git a/devel/lace/files/patch-CMakeLists.txt b/devel/lace/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..f573ad70588d
--- /dev/null
+++ b/devel/lace/files/patch-CMakeLists.txt
@@ -0,0 +1,16 @@
+--- CMakeLists.txt.orig	2025-03-28 04:04:41 UTC
++++ CMakeLists.txt
+@@ -25,11 +25,11 @@ endif()
+     endif()
+ endif()
+ 
+-add_library(lace STATIC
++add_library(lace
+     ${CMAKE_CURRENT_SOURCE_DIR}/src/lace.c
+     ${CMAKE_CURRENT_SOURCE_DIR}/src/lace.h
+ )
+-add_library(lace14 STATIC
++add_library(lace14
+     ${CMAKE_CURRENT_SOURCE_DIR}/src/lace14.c
+     ${CMAKE_CURRENT_SOURCE_DIR}/src/lace14.h
+ )
diff --git a/devel/lace/pkg-descr b/devel/lace/pkg-descr
new file mode 100644
index 000000000000..b0efdd64bc2b
--- /dev/null
+++ b/devel/lace/pkg-descr
@@ -0,0 +1,2 @@
+Lace is a C framework for fine-grained fork-join parallelism intended for
+scientific computations on multi-core computers.
diff --git a/devel/lace/pkg-plist b/devel/lace/pkg-plist
new file mode 100644
index 000000000000..6b1ab64e5d57
--- /dev/null
+++ b/devel/lace/pkg-plist
@@ -0,0 +1,11 @@
+include/lace.h
+include/lace14.h
+include/lace_config.h
+lib/cmake/lace/lace-config-version.cmake
+lib/cmake/lace/lace-config.cmake
+lib/cmake/lace/lace-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/lace/lace-targets.cmake
+lib/liblace.so
+lib/liblace14.so
+libdata/pkgconfig/lace.pc
+libdata/pkgconfig/lace14.pc