git: db4ca9fd32f0 - main - devel/babelflow: New port: Embedded Domain Specific Language to describe task graph abstraction

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 23 Nov 2022 08:29:39 UTC
The branch main has been updated by yuri:

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

commit db4ca9fd32f003669f4be2616631f4c4484d050d
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-11-22 15:29:51 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-11-23 08:29:36 +0000

    devel/babelflow: New port: Embedded Domain Specific Language to describe task graph abstraction
---
 devel/Makefile                             |  1 +
 devel/babelflow/Makefile                   | 35 ++++++++++++++++++++++++++++++
 devel/babelflow/distinfo                   |  3 +++
 devel/babelflow/files/patch-CMakeLists.txt | 13 +++++++++++
 devel/babelflow/pkg-descr                  |  3 +++
 devel/babelflow/pkg-plist                  | 32 +++++++++++++++++++++++++++
 6 files changed, 87 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 5be02bf3c3cb..de1f4b3a15ac 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -251,6 +251,7 @@
     SUBDIR += axmldec
     SUBDIR += ayatana-ido
     SUBDIR += b2
+    SUBDIR += babelflow
     SUBDIR += babeltrace
     SUBDIR += bam
     SUBDIR += bashdb
diff --git a/devel/babelflow/Makefile b/devel/babelflow/Makefile
new file mode 100644
index 000000000000..1198e9b3efe8
--- /dev/null
+++ b/devel/babelflow/Makefile
@@ -0,0 +1,35 @@
+PORTNAME=	babelflow
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.1.0
+CATEGORIES=	devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Embedded Domain Specific Language to describe task graph abstraction
+WWW=		https://github.com/sci-visus/BabelFlow
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cmake compiler:c++11-lang
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	sci-visus
+GH_PROJECT=	BabelFlow
+
+CMAKE_ARGS=	-DRUNTIME_TYPE:STRING="MPI"
+
+OPTIONS_SINGLE=		MPI
+OPTIONS_SINGLE_MPI=	MPICH OPENMPI
+OPTIONS_SINGLE_MPI=	MPICH OPENMPI
+OPTIONS_DEFINE=		EXAMPLES
+OPTIONS_DEFAULT=	EXAMPLES MPICH
+OPTIONS_SUB=		yes
+
+EXAMPLES_CMAKE_BOOL=	BUILD_EXAMPLES
+
+MPICH_USES=		mpi:mpich
+
+OPENMPI_USES=		mpi:openmpi
+
+.include <bsd.port.mk>
diff --git a/devel/babelflow/distinfo b/devel/babelflow/distinfo
new file mode 100644
index 000000000000..2feea50a4bbf
--- /dev/null
+++ b/devel/babelflow/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1669156886
+SHA256 (sci-visus-BabelFlow-v1.1.0_GH0.tar.gz) = 6436b0e6b2f57fbe0cb9127dc9e7f513167de89de2a8c145055434013714989f
+SIZE (sci-visus-BabelFlow-v1.1.0_GH0.tar.gz) = 436517
diff --git a/devel/babelflow/files/patch-CMakeLists.txt b/devel/babelflow/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..e20464f10eae
--- /dev/null
+++ b/devel/babelflow/files/patch-CMakeLists.txt
@@ -0,0 +1,13 @@
+--- CMakeLists.txt.orig	2022-11-22 22:42:05 UTC
++++ CMakeLists.txt
+@@ -101,7 +101,9 @@ endif()
+ 
+ add_subdirectory(src)
+ 
+-add_subdirectory(examples)
++if (BUILD_EXAMPLES)
++  add_subdirectory(examples)
++endif()
+ 
+ install(EXPORT BabelFlow NAMESPACE BabelFlow:: DESTINATION lib/cmake)
+ install(FILES BabelFlowConfig.cmake DESTINATION lib/cmake)
diff --git a/devel/babelflow/pkg-descr b/devel/babelflow/pkg-descr
new file mode 100644
index 000000000000..7e2ae5ec0511
--- /dev/null
+++ b/devel/babelflow/pkg-descr
@@ -0,0 +1,3 @@
+BabelFlow is an Embedded Domain Specific Language to describe algorithms using
+a task graph abstraction which allows them to be executed on top of one of
+several available runtime systems.
diff --git a/devel/babelflow/pkg-plist b/devel/babelflow/pkg-plist
new file mode 100644
index 000000000000..a7b3191fff15
--- /dev/null
+++ b/devel/babelflow/pkg-plist
@@ -0,0 +1,32 @@
+%%EXAMPLES%%bin/broadcast
+%%EXAMPLES%%bin/radixk
+%%EXAMPLES%%bin/reduceall
+%%EXAMPLES%%bin/reduction
+include/BabelFlow/ComposableTaskGraph.h
+include/BabelFlow/ComposableTaskMap.h
+include/BabelFlow/Definitions.h
+include/BabelFlow/HierarchicalTask.h
+include/BabelFlow/HierarchicalTaskGraph.h
+include/BabelFlow/ModTaskMap.hpp
+include/BabelFlow/ModuloMap.h
+include/BabelFlow/MultiGraphConnector.h
+include/BabelFlow/Payload.h
+include/BabelFlow/PreProcessInputTaskGraph.hpp
+include/BabelFlow/RelayTask.h
+include/BabelFlow/Task.h
+include/BabelFlow/TaskGraph.h
+include/BabelFlow/TaskGraphConnector.h
+include/BabelFlow/TypeDefinitions.h
+include/BabelFlow/mpi/Controller.h
+include/BabelFlow/reduce/BinarySwap.h
+include/BabelFlow/reduce/BinarySwapTaskMap.h
+include/BabelFlow/reduce/KWayReduction.h
+include/BabelFlow/reduce/KWayReductionTaskMap.h
+include/BabelFlow/reduce/RadixKExchange.h
+include/BabelFlow/reduce/RadixKExchangeTaskMap.h
+include/BabelFlow/reduce/SingleTaskGraph.h
+lib/cmake/BabelFlow-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/BabelFlow.cmake
+lib/cmake/BabelFlowConfig.cmake
+lib/libbabelflow.so
+lib/libbabelflow_mpi.so