git: 370336ba9917 - main - misc/ecflow: New port: Workflow package that enables users to run a large number of programs
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 25 Aug 2022 19:20:29 UTC
The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=370336ba99175ed10a0e65b92819e54303c36346 commit 370336ba99175ed10a0e65b92819e54303c36346 Author: Yuri Victorovich <yuri@FreeBSD.org> AuthorDate: 2022-08-25 19:19:35 +0000 Commit: Yuri Victorovich <yuri@FreeBSD.org> CommitDate: 2022-08-25 19:20:25 +0000 misc/ecflow: New port: Workflow package that enables users to run a large number of programs --- misc/Makefile | 1 + misc/ecflow/Makefile | 28 ++++++++++++++ misc/ecflow/distinfo | 3 ++ misc/ecflow/files/patch-tools_ecflow__standalone.c | 11 ++++++ misc/ecflow/pkg-descr | 13 +++++++ misc/ecflow/pkg-plist | 44 ++++++++++++++++++++++ 6 files changed, 100 insertions(+) diff --git a/misc/Makefile b/misc/Makefile index ba2ac493049a..0bda9756077f 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -82,6 +82,7 @@ SUBDIR += dynomite SUBDIR += e2fsprogs-libblkid SUBDIR += e2fsprogs-libuuid + SUBDIR += ecflow SUBDIR += edfbrowser SUBDIR += edflib SUBDIR += elki diff --git a/misc/ecflow/Makefile b/misc/ecflow/Makefile new file mode 100644 index 000000000000..a616d8999a16 --- /dev/null +++ b/misc/ecflow/Makefile @@ -0,0 +1,28 @@ +PORTNAME= ecflow +DISTVERSION= 5.8.4 +CATEGORIES= misc +MASTER_SITES= https://confluence.ecmwf.int/download/attachments/8650755/ +DISTNAME= ecFlow-${DISTVERSION}-Source + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Workflow package that enables users to run a large number of programs + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +PY_DEPENDS= ${PYTHON_PKGNAMEPREFIX}boost-libs>0:devel/boost-python-libs@${PY_FLAVOR} +BUILD_DEPENDS= bash:shells/bash \ + ${PY_DEPENDS} +LIB_DEPENDS= libboost_program_options.so:devel/boost-libs +RUN_DEPENDS= ${PY_DEPENDS} + +USES= cmake compiler:c++17-lang localbase perl5 pkgconfig python:3.6+ qt:5 shebangfix ssl +USE_QT= charts core gui network svg widgets buildtools_build qmake_build + +SHEBANG_GLOB= *.sh *.in *.py + +CMAKE_OFF= ENABLE_STATIC_BOOST_LIBS ENABLE_TESTS ENABLE_ALL_TESTS + +CONFLICTS_BUILD= python27 # build attempts to find python-2.7 and use it + +.include <bsd.port.mk> diff --git a/misc/ecflow/distinfo b/misc/ecflow/distinfo new file mode 100644 index 000000000000..04bc3dcd93df --- /dev/null +++ b/misc/ecflow/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1661404490 +SHA256 (ecFlow-5.8.4-Source.tar.gz) = bc628556f8458c269a309e4c3b8d5a807fae7dfd415e27416fe9a3f544f88951 +SIZE (ecFlow-5.8.4-Source.tar.gz) = 3567430 diff --git a/misc/ecflow/files/patch-tools_ecflow__standalone.c b/misc/ecflow/files/patch-tools_ecflow__standalone.c new file mode 100644 index 000000000000..65046b4361e9 --- /dev/null +++ b/misc/ecflow/files/patch-tools_ecflow__standalone.c @@ -0,0 +1,11 @@ +--- tools/ecflow_standalone.c.orig 2022-08-25 05:28:39 UTC ++++ tools/ecflow_standalone.c +@@ -183,7 +183,7 @@ int main(argc,argv) int argc; char **argv; + for (n=3; n<65535 ;n++) fclose(n); */ + + /* create a new session from the child process */ +-#if defined(linux) || defined(__APPLE__) || defined(__MACH__) || defined(hpux) || defined(solaris) || defined(SGI) || defined(SVR4) || defined(AIX) || defined(SYG) || defined(alpha) ++#if defined(linux) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__MACH__) || defined(hpux) || defined(solaris) || defined(SGI) || defined(SVR4) || defined(AIX) || defined(SYG) || defined(alpha) + if( setsid() == -1 ) + #else + if( setsid(0) == -1 ) diff --git a/misc/ecflow/pkg-descr b/misc/ecflow/pkg-descr new file mode 100644 index 000000000000..31814aebdbff --- /dev/null +++ b/misc/ecflow/pkg-descr @@ -0,0 +1,13 @@ +ecFlow is a client/server workflow package that enables users to run a large +number of programs (with dependencies on each other and on time) in a controlled +environment. It provides reasonable tolerance for hardware and software +failures, combined with restart capabilities. It is used at ECMWF to run all our +operational suites across a range of platforms. + +ecFlow submits tasks (jobs) and receives acknowledgments from the tasks when +they change status and when they send events, using child commands embedded in +your scripts. ecFlow stores the relationships between tasks, and is able to +submit tasks dependant on triggers, such as when a given task changes its +status, for example when it finishes. + +WWW: https://confluence.ecmwf.int/display/ECFLOW/ecflow+home diff --git a/misc/ecflow/pkg-plist b/misc/ecflow/pkg-plist new file mode 100644 index 000000000000..e1c57f37d4b0 --- /dev/null +++ b/misc/ecflow/pkg-plist @@ -0,0 +1,44 @@ +bin/ecflow_client +bin/ecflow_fuse.py +bin/ecflow_logserver.sh +bin/ecflow_logsvr.pl +bin/ecflow_server +bin/ecflow_standalone +bin/ecflow_start.sh +bin/ecflow_stop.sh +bin/ecflow_ui +bin/ecflow_ui.x +lib/cmake/ecflow/ecflow-config-version.cmake +lib/cmake/ecflow/ecflow-config.cmake +lib/cmake/ecflow/ecflow-targets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/ecflow/ecflow-targets.cmake +%%PYTHON_SITELIBDIR%%/ecflow/__init__.py +%%PYTHON_SITELIBDIR%%/ecflow/ecf.py +%%PYTHON_SITELIBDIR%%/ecflow/ecflow.so +%%PYTHON_SITELIBDIR%%/ecflow/sms2ecf.py +%%DATADIR%%/%%ETCDIR%%_test_ui.sh +%%DATADIR%%/%%ETCDIR%%_ui_create_jira_issue.sh +%%DATADIR%%/%%ETCDIR%%_ui_node_state_diag.sh +%%DATADIR%%/%%ETCDIR%%_ui_test.def +%%DATADIR%%/%%ETCDIR%%_ui_test_server_scripts.tar.gz +%%DATADIR%%/%%ETCDIR%%_ui_test_session_template.json +%%DATADIR%%/%%ETCDIR%%_ui_transfer_file.sh +%%DATADIR%%/%%ETCDIR%%view_attribute_conf.json +%%DATADIR%%/%%ETCDIR%%view_gui.json +%%DATADIR%%/%%ETCDIR%%view_gui_server.json +%%DATADIR%%/%%ETCDIR%%view_highlighter.json +%%DATADIR%%/%%ETCDIR%%view_icon_conf.json +%%DATADIR%%/%%ETCDIR%%view_menu_conf.json +%%DATADIR%%/%%ETCDIR%%view_menus.json +%%DATADIR%%/%%ETCDIR%%view_notification_conf.json +%%DATADIR%%/%%ETCDIR%%view_nstate_conf.json +%%DATADIR%%/%%ETCDIR%%view_palette.json +%%DATADIR%%/%%ETCDIR%%view_panel_conf.json +%%DATADIR%%/%%ETCDIR%%view_panels.json +%%DATADIR%%/%%ETCDIR%%view_query_conf.json +%%DATADIR%%/%%ETCDIR%%view_server_conf.json +%%DATADIR%%/%%ETCDIR%%view_sstate_conf.json +%%DATADIR%%/%%ETCDIR%%view_view_conf.json +%%DATADIR%%/etc/shortcuts.txt +%%DATADIR%%/etc/sounds/tone.ogg +%%DATADIR%%/etc/viewer.qss