From nobody Thu Aug 25 19:20:29 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4MDCV52Nwqz4ZHkT; Thu, 25 Aug 2022 19:20:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MDCV51wZ6z3cTG; Thu, 25 Aug 2022 19:20:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1661455229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f8KMkKy+BlQOzm8E5qgaF55QY1bo4CQ3sgsVWtZXXfo=; b=wTmU/wrttjyysESJtfCNeEnPQ9rEU5Z2BaLMm5L0F5Fges2hghnI1A2e6rRKtkjF9yUFO+ SgFPs3LuUqPh3heZxRY7ftJYR/lx+LV8H2RI84ytKwNdcuceJ4vb2pN0g+IQ5wsH+k1i7G LzDNIp89lZUjR8+ePCzTx9Ul0PGHHnn2pDSma/ND7To85irXPpdNya0nVJyUWI8UIO7Pgn o4Q2TjOwzeuo636hSBHQOvxDkrDeoAcb/TpR2Z5W1WcwMnB8BGIh2ZklMOvrtAiNXRuiOd VPIUNvVH98BKjni//zNexvp1msItnStL5i6TOJ20Hb166zfPeHQ9iexhfTXSBQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4MDCV512Fyz10G2; Thu, 25 Aug 2022 19:20:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 27PJKTJ7097239; Thu, 25 Aug 2022 19:20:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 27PJKTuK097238; Thu, 25 Aug 2022 19:20:29 GMT (envelope-from git) Date: Thu, 25 Aug 2022 19:20:29 GMT Message-Id: <202208251920.27PJKTuK097238@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 370336ba9917 - main - misc/ecflow: New port: Workflow package that enables users to run a large number of programs List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 370336ba99175ed10a0e65b92819e54303c36346 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1661455229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f8KMkKy+BlQOzm8E5qgaF55QY1bo4CQ3sgsVWtZXXfo=; b=r3ZkJ14YjFl8xVQ8kS6DTSMIQTcf+3tBqDn92J8egTtoa4is/ucH4tYVYECVGHbV7LltEA 2aZKANaxf21u4mXIT8OIq/rpee6VnQnIoHFUVRDzd9Z9OFfTuGHt/fL15yn13rtg8ZAawU 5lMcyHSlB0X8PgS81UNmQRRCmmMvGWxn0WFE+RXNASjMoK6p1IbP2jXIKZyzcB4WZqECkw nZjyODWk4TtHt3cIaxk+otGVxcd1XB0TQiiScm12WhmNYjFLvn4w+qpOdXlLFblUqt1hpK kcDKEj+dgLYsXEdQ7N3WJHec/n5SYSk84RIByPC1FgF3htSXTQd9qMWNACRJHg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1661455229; a=rsa-sha256; cv=none; b=qwQYIBHQFvjm1YEBUpSX2xUm2zEtAJ3TaYwdhsfkSBaQksgswj0dQfhZQcbmv85jX43ozA N0dZSgMbAhQzcNfqeii9NrRVFsy+Xn2SSzyh80HHOFX7R35fY7eJLAECqheDyJrR2nyX8u G7cjsswCAvSpG4/NlUblyL5cSgjtIkxClW1UBBKZe8IM452TQYhkZ+SQkf2NoC2yrww9G4 VPMRtqBcgZh/1Uh/QKCqIDpeq8elFL0AnjpHwgpGuiMtC6uah6WToZbNOCQ/w0Kn57jkld tmB6AgKFwKawjI9wVoFsUXw5B3qSW2EgpYrPtyqA93j/gDk7ou3SP4x+dms4qQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=370336ba99175ed10a0e65b92819e54303c36346 commit 370336ba99175ed10a0e65b92819e54303c36346 Author: Yuri Victorovich AuthorDate: 2022-08-25 19:19:35 +0000 Commit: Yuri Victorovich 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 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