aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2021-09-11 21:07:44 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2021-09-11 21:08:22 +0000
commit7b38c19219e7187ee28207a5f810f6a7b1266d2b (patch)
treedd93f027d07945a53fab27398c443311c53f7874
parent1b2394551c038558810be8bf396462174db334be (diff)
downloadports-7b38c19219e7187ee28207a5f810f6a7b1266d2b.tar.gz
ports-7b38c19219e7187ee28207a5f810f6a7b1266d2b.zip
devel/concurrencpp: New port: C++ concurrency library: tasks, executors, timers, C++20 coroutines
-rw-r--r--devel/Makefile1
-rw-r--r--devel/concurrencpp/Makefile25
-rw-r--r--devel/concurrencpp/distinfo3
-rw-r--r--devel/concurrencpp/files/patch-CMakeLists.txt11
-rw-r--r--devel/concurrencpp/pkg-descr9
-rw-r--r--devel/concurrencpp/pkg-plist46
6 files changed, 95 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index feaab76dd9b8..3a7f62bf3a6d 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -385,6 +385,7 @@
SUBDIR += commoncpp
SUBDIR += compiler-rt
SUBDIR += compiz-bcop
+ SUBDIR += concurrencpp
SUBDIR += concurrencykit
SUBDIR += configkit
SUBDIR += cons
diff --git a/devel/concurrencpp/Makefile b/devel/concurrencpp/Makefile
new file mode 100644
index 000000000000..2ac84cc48431
--- /dev/null
+++ b/devel/concurrencpp/Makefile
@@ -0,0 +1,25 @@
+PORTNAME= concurrencpp
+DISTVERSIONPREFIX= v.
+DISTVERSION= 0.1.3
+CATEGORIES= devel
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= C++ concurrency library: tasks, executors, timers, C++20 coroutines
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+USES= cmake compiler:c++17-lang # should be compiler:c++20-lang
+
+USE_GITHUB= yes
+GH_ACCOUNT= David-Haim
+
+CMAKE_ON= BUILD_SHARED_LIBS
+
+do-test: # same as recommended in https://github.com/David-Haim/concurrencpp#building-installing-and-testing
+ @cd ${WRKSRC} && \
+ ${CMAKE_BIN} -S test -B build/test && \
+ ${CMAKE_BIN} --build build/test && \
+ cd build/test && ctest .
+
+.include <bsd.port.mk>
diff --git a/devel/concurrencpp/distinfo b/devel/concurrencpp/distinfo
new file mode 100644
index 000000000000..62a82b3bee5d
--- /dev/null
+++ b/devel/concurrencpp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1631389928
+SHA256 (David-Haim-concurrencpp-v.0.1.3_GH0.tar.gz) = a9f85960132df76f4fb121157a74628ceafb7a54f2e669f19bd8d6305a03c74e
+SIZE (David-Haim-concurrencpp-v.0.1.3_GH0.tar.gz) = 104714
diff --git a/devel/concurrencpp/files/patch-CMakeLists.txt b/devel/concurrencpp/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..2f5657fc09ea
--- /dev/null
+++ b/devel/concurrencpp/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2021-09-11 20:12:12 UTC
++++ CMakeLists.txt
+@@ -96,7 +96,7 @@ target_link_libraries(concurrencpp PUBLIC "$<$<BOOL:${
+ include(CMakePackageConfigHelpers)
+ include(GNUInstallDirs)
+
+-set(concurrencpp_directory "concurrencpp-${PROJECT_VERSION}")
++set(concurrencpp_directory "")
+ set(concurrencpp_include_directory "${CMAKE_INSTALL_INCLUDEDIR}/${concurrencpp_directory}")
+
+ install(TARGETS concurrencpp
diff --git a/devel/concurrencpp/pkg-descr b/devel/concurrencpp/pkg-descr
new file mode 100644
index 000000000000..83fffc985ddf
--- /dev/null
+++ b/devel/concurrencpp/pkg-descr
@@ -0,0 +1,9 @@
+concurrencpp is a tasking library for C++ allowing developers to write highly
+concurrent applications easily and safely by using tasks, executors and
+coroutines. By using concurrencpp applications can break down big procedures
+that need to be processed asynchronously into smaller tasks that run
+concurrently and work in a co-operative manner to achieve the wanted result.
+concurrencpp also allows applications to write parallel algorithms easily by
+using parallel coroutines.
+
+WWW: https://github.com/David-Haim/concurrencpp
diff --git a/devel/concurrencpp/pkg-plist b/devel/concurrencpp/pkg-plist
new file mode 100644
index 000000000000..2ac0e16acd92
--- /dev/null
+++ b/devel/concurrencpp/pkg-plist
@@ -0,0 +1,46 @@
+include/concurrencpp/concurrencpp.h
+include/concurrencpp/coroutines/coroutine.h
+include/concurrencpp/errors.h
+include/concurrencpp/executors/constants.h
+include/concurrencpp/executors/derivable_executor.h
+include/concurrencpp/executors/executor.h
+include/concurrencpp/executors/executor_all.h
+include/concurrencpp/executors/inline_executor.h
+include/concurrencpp/executors/manual_executor.h
+include/concurrencpp/executors/thread_executor.h
+include/concurrencpp/executors/thread_pool_executor.h
+include/concurrencpp/executors/worker_thread_executor.h
+include/concurrencpp/forward_declarations.h
+include/concurrencpp/platform_defs.h
+include/concurrencpp/results/constants.h
+include/concurrencpp/results/impl/consumer_context.h
+include/concurrencpp/results/impl/lazy_result_state.h
+include/concurrencpp/results/impl/producer_context.h
+include/concurrencpp/results/impl/result_state.h
+include/concurrencpp/results/impl/return_value_struct.h
+include/concurrencpp/results/impl/shared_result_state.h
+include/concurrencpp/results/lazy_result.h
+include/concurrencpp/results/lazy_result_awaitable.h
+include/concurrencpp/results/make_result.h
+include/concurrencpp/results/promises.h
+include/concurrencpp/results/result.h
+include/concurrencpp/results/result_awaitable.h
+include/concurrencpp/results/result_fwd_declarations.h
+include/concurrencpp/results/resume_on.h
+include/concurrencpp/results/shared_result.h
+include/concurrencpp/results/shared_result_awaitable.h
+include/concurrencpp/results/when_result.h
+include/concurrencpp/runtime/constants.h
+include/concurrencpp/runtime/runtime.h
+include/concurrencpp/task.h
+include/concurrencpp/threads/binary_semaphore.h
+include/concurrencpp/threads/thread.h
+include/concurrencpp/timers/constants.h
+include/concurrencpp/timers/timer.h
+include/concurrencpp/timers/timer_queue.h
+include/concurrencpp/utils/bind.h
+lib/cmake/concurrencppConfig.cmake
+lib/cmake/concurrencppConfigVersion.cmake
+lib/cmake/concurrencppTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/concurrencppTargets.cmake
+lib/libconcurrencpp.so