1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-25 04:43:33 +00:00

devel/marl: New port: Hybrid thread / fiber task scheduler written in C++11

This commit is contained in:
Yuri Victorovich 2021-09-12 11:10:26 -07:00
parent 8cb8c44ed0
commit ee93b5109d
6 changed files with 81 additions and 0 deletions

View File

@ -1514,6 +1514,7 @@
SUBDIR += make++
SUBDIR += makedepend
SUBDIR += marisa-trie
SUBDIR += marl
SUBDIR += mate-common
SUBDIR += matreshka
SUBDIR += maven

22
devel/marl/Makefile Normal file
View File

@ -0,0 +1,22 @@
PORTNAME= marl
PORTVERSION= g20210818
CATEGORIES= devel
MAINTAINER= yuri@FreeBSD.org
COMMENT= Hybrid thread / fiber task scheduler written in C++11
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cmake:testing compiler:c++11-lang
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= google
GH_TAGNAME= 4960243
GH_TUPLE= google:googletest:fb49e6c:googletest/third_party/googletest
CMAKE_ON= MARL_BUILD_SHARED MARL_INSTALL
CMAKE_TESTING_ON= MARL_BUILD_TESTS MARL_BUILD_EXAMPLES # tests are built but not run, see https://github.com/google/marl/issues/205
.include <bsd.port.mk>

5
devel/marl/distinfo Normal file
View File

@ -0,0 +1,5 @@
TIMESTAMP = 1631469318
SHA256 (google-marl-g20210818-4960243_GH0.tar.gz) = 0afe4b5345a67e3a4a8eb1a6fbbf7e9ff6b56d0903bd767bb91c1171bdd0226f
SIZE (google-marl-g20210818-4960243_GH0.tar.gz) = 101005
SHA256 (google-googletest-fb49e6c_GH0.tar.gz) = 9dea59892fff919ab6c005f36971e76b4bb4e399a6b22fbf85a30352d8a52be2
SIZE (google-googletest-fb49e6c_GH0.tar.gz) = 905489

View File

@ -0,0 +1,18 @@
--- CMakeLists.txt.orig 2021-09-12 17:56:22 UTC
+++ CMakeLists.txt
@@ -72,13 +72,13 @@ set_if_not_defined(MARL_BENCHMARK_DIR ${MARL_THIRD_PAR
###########################################################
# Submodules
###########################################################
-if(MARL_BUILD_TESTS)
+if(FALSE AND MARL_BUILD_TESTS)
if(NOT EXISTS ${MARL_GOOGLETEST_DIR}/.git)
message(WARNING "third_party/googletest submodule missing.")
message(WARNING "Run: `git submodule update --init` to build tests.")
set(MARL_BUILD_TESTS OFF)
endif()
-endif(MARL_BUILD_TESTS)
+endif(FALSE AND MARL_BUILD_TESTS)
if(MARL_BUILD_BENCHMARKS)
if(NOT EXISTS ${MARL_BENCHMARK_DIR}/.git)

7
devel/marl/pkg-descr Normal file
View File

@ -0,0 +1,7 @@
Marl is a C++11 library that provides a fluent interface for running tasks
across a number of threads.
Marl uses a combination of fibers and threads to allow efficient execution of
tasks that can block, while keeping a fixed number of hardware threads.
WWW: https://github.com/google/marl

28
devel/marl/pkg-plist Normal file
View File

@ -0,0 +1,28 @@
include/marl/blockingcall.h
include/marl/conditionvariable.h
include/marl/containers.h
include/marl/dag.h
include/marl/debug.h
include/marl/defer.h
include/marl/deprecated.h
include/marl/event.h
include/marl/export.h
include/marl/finally.h
include/marl/memory.h
include/marl/mutex.h
include/marl/parallelize.h
include/marl/pool.h
include/marl/sanitizers.h
include/marl/scheduler.h
include/marl/task.h
include/marl/thread.h
include/marl/ticket.h
include/marl/trace.h
include/marl/tsa.h
include/marl/waitgroup.h
lib/cmake/marl/marl-config.cmake
lib/cmake/marl/marl-targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/marl/marl-targets.cmake
lib/libmarl.so
lib/libmarl.so.1
lib/libmarl.so.1.0.0-dev