summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Grønlien Pejcoch2019-02-26 11:20:18 +0100
committerMartin Grønlien Pejcoch2019-02-26 11:20:18 +0100
commit39ce615f3105881a0297d23c3fd6dbfd708f240f (patch)
treea374208cbf22eac68c1f2cb6d75c009f303cd73f
downloadaur-39ce615f3105881a0297d23c3fd6dbfd708f240f.tar.gz
Version 4.13.0
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD45
-rw-r--r--iostream.patch12
-rw-r--r--python.patch128
4 files changed, 206 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..b014cb8fc986
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,21 @@
+pkgbase = ecflow
+ pkgdesc = ecFlow - workflow manager from ECMWF
+ pkgver = 4.13.0
+ pkgrel = 1
+ url = https://software.ecmwf.int/wiki/display/ECFLOW/Getting+Started+with+ecFlowUI
+ arch = i686
+ arch = x86_64
+ groups = science
+ license = APACHE
+ makedepends = cmake
+ makedepends = boost
+ conflicts = ecflow-ui
+ source = https://software.ecmwf.int/wiki/download/attachments/8650755/ecFlow-4.13.0-Source.tar.gz
+ source = python.patch
+ source = iostream.patch
+ sha256sums = c743896e0ec1d705edd2abf2ee5a47f4b6f7b1818d8c159b521bdff50a403e39
+ sha256sums = f957e0f66b3b73df20021a40d3a091071d12b1da83d7bb4d06d8245dbb1678f1
+ sha256sums = f3612a4f1a169ccf18a82ba9021fabc9ee52e60554b67ec45cc7637b6a331679
+
+pkgname = ecflow
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..1f59428e27fd
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,45 @@
+# Contributor: Martin Grønlien Pejcoch <mpejcoch@gmail.com>
+pkgname=ecflow
+pkgver=4.13.0
+pkgrel=1
+pkgdesc="ecFlow - workflow manager from ECMWF"
+arch=(i686 x86_64)
+url="https://software.ecmwf.int/wiki/display/ECFLOW/Getting+Started+with+ecFlowUI"
+license=('APACHE')
+groups=(science)
+depends=()
+makedepends=(cmake boost)
+provides=()
+conflicts=(ecflow-ui)
+replaces=()
+backup=()
+options=()
+install=
+source=(https://software.ecmwf.int/wiki/download/attachments/8650755/ecFlow-${pkgver}-Source.tar.gz python.patch iostream.patch)
+noextract=()
+sha256sums=('c743896e0ec1d705edd2abf2ee5a47f4b6f7b1818d8c159b521bdff50a403e39' 'f957e0f66b3b73df20021a40d3a091071d12b1da83d7bb4d06d8245dbb1678f1' 'f3612a4f1a169ccf18a82ba9021fabc9ee52e60554b67ec45cc7637b6a331679')
+
+prepare() {
+ cd ecFlow-${pkgver}-Source
+ patch --verbose -Np1 -i "${srcdir}/python.patch"
+ patch --verbose -Np1 -i "${srcdir}/iostream.patch"
+}
+
+build() {
+ cd ecFlow-${pkgver}-Source
+ mkdir -p build && cd build
+ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_CXX_FLAGS=-w -DENABLE_SERVER=on -DENABLE_PYTHON=on -DENABLE_UI=on -DENABLE_GUI=off \
+ -DCMAKE_INSTALL_DATADIR=/usr/share \
+ -DBOOST_ROOT=/usr \
+ ..
+ make -j$(grep processor /proc/cpuinfo | wc -l) || return 1
+}
+
+package()
+{
+ cd ecFlow-${pkgver}-Source/build
+ make DESTDIR="$pkgdir" install || return 1
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/iostream.patch b/iostream.patch
new file mode 100644
index 000000000000..c934f7a2b816
--- /dev/null
+++ b/iostream.patch
@@ -0,0 +1,12 @@
+diff --git a/Base/src/cts/CtsCmdRegistry.cpp b/Base/src/cts/CtsCmdRegistry.cpp
+index b824af3..8451d3d 100644
+--- a/Base/src/cts/CtsCmdRegistry.cpp
++++ b/Base/src/cts/CtsCmdRegistry.cpp
+@@ -11,6 +11,7 @@
+ // nor does it submit to any jurisdiction.
+ //
+ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
++#include <iostream>
+ #include <boost/make_shared.hpp>
+ #include "CtsCmdRegistry.hpp"
+ #include "ClientToServerCmd.hpp"
diff --git a/python.patch b/python.patch
new file mode 100644
index 000000000000..848aab1e1825
--- /dev/null
+++ b/python.patch
@@ -0,0 +1,128 @@
+diff --git a/Pyext/CMakeLists.txt b/Pyext/CMakeLists.txt
+index 790822c..83f9c0b 100644
+--- a/Pyext/CMakeLists.txt
++++ b/Pyext/CMakeLists.txt
+@@ -40,99 +40,28 @@ include_directories(
+ ../CSim/src
+ )
+
+-message( STATUS " CMAKE_VERSION : ${CMAKE_VERSION}, need cmake version >= 3.12.0 to build ecflow python3 extension" )
+-if(${CMAKE_VERSION} VERSION_LESS "3.12.0")
+- # We only support python2 extension for cmake less 3.12.0
+- # cmake 3.12.0 or greater allows multiple boost python libs & hence multiple extensions to be built
+- # Using -DPYTHON_EXECUTABLE=/usr/local/apps/python3/3.6.5-01/bin/python3 is not suffcient as the wrong(python2) libs are found
+- ecbuild_find_python( VERSION 2.6 REQUIRED )
+- message( STATUS " PYTHON_FOUND : ${PYTHON_FOUND}" )
+- message( STATUS " PYTHONINTERP_FOUND : ${PYTHONINTERP_FOUND}" )
+- message( STATUS " PYTHONLIBS_FOUND : ${PYTHONLIBS_FOUND}" )
+- message( STATUS " PYTHON_VERSION_STRING : ${PYTHON_VERSION_STRING}" )
+- message( STATUS " PYTHON_VERSION_MAJOR : ${PYTHON_VERSION_MAJOR}" )
+- message( STATUS " PYTHON_VERSION_MINOR : ${PYTHON_VERSION_MINOR}" )
+- message( STATUS " PYTHON_VERSION_PATCH : ${PYTHON_VERSION_PATCH}" )
+- message( STATUS " PYTHON_CONFIG_EXECUTABLE : ${PYTHON_CONFIG_EXECUTABLE}" )
+- message( STATUS " PYTHON_EXECUTABLE : ${PYTHON_EXECUTABLE}" )
+- message( STATUS " PYTHON_INCLUDE_DIRS : ${PYTHON_INCLUDE_DIRS}" )
+- message( STATUS " PYTHON_LIBRARIES : ${PYTHON_LIBRARIES}" )
+- if (${PYTHON_VERSION_MAJOR} EQUAL 3)
+- ecbuild_error("Need cmake version >= 3.12.0 to build ecflow python3 extension, current cmake version is ${CMAKE_VERSION}")
+- endif()
+- find_package( Boost ${ECFLOW_BOOST_VERSION} REQUIRED COMPONENTS python )
+- add_subdirectory( python2 )
+-else()
+- # ======================================================================================
+- # Attempt to build both python2 and python3 ecflow extension, depending on what is found
+- # this assumes cmake 3.12.0 min, which added support for boost python2 and python3
+- # ======================================================================================
+- find_package(Python2 COMPONENTS Interpreter Development)
+- message( STATUS " Python2_FOUND : ${Python2_FOUND}" )
+- if (Python2_FOUND)
+- if ( NOT Python2_LIBRARIES )
+- ecbuild_error("ecflow python extension is enabled, but python2 libraries not found")
+- endif()
+-
+- # *****************************************************************************************
+- # Although we have found python2 it could be that *ONLY* python3 was module loaded
+- # Otherwise will build for python2 and test with python3 interpreter
+- # *****************************************************************************************
+- ecbuild_find_python( VERSION 2.6 REQUIRED ) # if not included iterpreter not found ?
+- if ( ${PYTHON_VERSION_MAJOR} EQUAL 2)
+- message( STATUS " Python2_Interpreter_FOUND : ${Python2_Interpreter_FOUND}" )
+- message( STATUS " Python2_EXECUTABLE : ${Python2_EXECUTABLE}" )
+- message( STATUS " Python2_STDLIB : ${Python2_STDLIB} Standard platform independent installation directory" )
+- message( STATUS " Python2_STDARCH : ${Python2_STDARCH} Standard platform dependent installation directory." )
+- message( STATUS " Python2_Development_FOUND : ${Python2_Development_FOUND}" )
+- message( STATUS " Python2_INCLUDE_DIRS : ${Python2_INCLUDE_DIRS}" )
+- message( STATUS " Python2_LIBRARIES : ${Python2_LIBRARIES}" )
+- message( STATUS " Python2_LIBRARY_DIRS : ${Python2_LIBRARY_DIRS}" )
+- message( STATUS " Python2_VERSION : ${Python2_VERSION}" )
+- message( STATUS " Python2_VERSION_MAJOR : ${Python2_VERSION_MAJOR}" )
+- message( STATUS " Python2_VERSION_MINOR : ${Python2_VERSION_MINOR}" )
+- message( STATUS " Python2_VERSION_PATCH : ${Python2_VERSION_PATCH}" )
+-
+- message( STATUS " PYTHON_FOUND : ${PYTHON_FOUND}" )
+- message( STATUS " PYTHONINTERP_FOUND : ${PYTHONINTERP_FOUND}" )
+- message( STATUS " PYTHONLIBS_FOUND : ${PYTHONLIBS_FOUND}" )
+- message( STATUS " PYTHON_VERSION_STRING : ${PYTHON_VERSION_STRING}" )
+- message( STATUS " PYTHON_VERSION_MAJOR : ${PYTHON_VERSION_MAJOR}" )
+- message( STATUS " PYTHON_VERSION_MINOR : ${PYTHON_VERSION_MINOR}" )
+- message( STATUS " PYTHON_VERSION_PATCH : ${PYTHON_VERSION_PATCH}" )
+- message( STATUS " PYTHON_CONFIG_EXECUTABLE : ${PYTHON_CONFIG_EXECUTABLE}" )
+- message( STATUS " PYTHON_EXECUTABLE : ${PYTHON_EXECUTABLE}" )
+- message( STATUS " PYTHON_INCLUDE_DIRS : ${PYTHON_INCLUDE_DIRS}" )
+- message( STATUS " PYTHON_LIBRARIES : ${PYTHON_LIBRARIES}" )
+-
+- find_package( Boost ${ECFLOW_BOOST_VERSION} REQUIRED COMPONENTS python )
+- add_subdirectory( python2 )
+- endif()
+- endif()
+-
+- find_package(Python3 COMPONENTS Interpreter Development)
+- message( STATUS " Python3_FOUND : ${Python3_FOUND}" )
+- if (Python3_FOUND)
+- message( STATUS " Python3_Interpreter_FOUND : ${Python3_Interpreter_FOUND}" )
+- message( STATUS " Python3_EXECUTABLE : ${Python3_EXECUTABLE}" )
+- message( STATUS " Python3_STDLIB : ${Python3_STDLIB} Standard platform independent installation directory" )
+- message( STATUS " Python3_STDARCH : ${Python3_STDARCH} Standard platform dependent installation directory." )
+- message( STATUS " Python3_Development_FOUND : ${Python3_Development_FOUND}" )
+- message( STATUS " Python3_INCLUDE_DIRS : ${Python3_INCLUDE_DIRS}" )
+- message( STATUS " Python3_LIBRARIES : ${Python3_LIBRARIES}" )
+- message( STATUS " Python3_LIBRARY_DIRS : ${Python3_LIBRARY_DIRS}" )
+- message( STATUS " Python3_VERSION : ${Python3_VERSION}" )
+- message( STATUS " Python3_VERSION_MAJOR : ${Python3_VERSION_MAJOR}" )
+- message( STATUS " Python3_VERSION_MINOR : ${Python3_VERSION_MINOR}" )
+- message( STATUS " Python3_VERSION_PATCH : ${Python3_VERSION_PATCH}" )
+-
+- if ( NOT Python3_LIBRARIES )
+- ecbuild_error("ecflow python extension is enabled, but python3 libraries not found")
+- endif()
+-
+- ecbuild_find_python( VERSION ${Python3_VERSION} REQUIRED )
+-
+- find_package( Boost ${ECFLOW_BOOST_VERSION} REQUIRED COMPONENTS python3 )
+- add_subdirectory( python3 )
+- endif()
++find_package(Python3 COMPONENTS Interpreter Development)
++message( STATUS " Python3_FOUND : ${Python3_FOUND}" )
++if (Python3_FOUND)
++ message( STATUS " Python3_Interpreter_FOUND : ${Python3_Interpreter_FOUND}" )
++ message( STATUS " Python3_EXECUTABLE : ${Python3_EXECUTABLE}" )
++ message( STATUS " Python3_STDLIB : ${Python3_STDLIB} Standard platform independent installation directory" )
++ message( STATUS " Python3_STDARCH : ${Python3_STDARCH} Standard platform dependent installation directory." )
++ message( STATUS " Python3_Development_FOUND : ${Python3_Development_FOUND}" )
++ message( STATUS " Python3_INCLUDE_DIRS : ${Python3_INCLUDE_DIRS}" )
++ message( STATUS " Python3_LIBRARIES : ${Python3_LIBRARIES}" )
++ message( STATUS " Python3_LIBRARY_DIRS : ${Python3_LIBRARY_DIRS}" )
++ message( STATUS " Python3_VERSION : ${Python3_VERSION}" )
++ message( STATUS " Python3_VERSION_MAJOR : ${Python3_VERSION_MAJOR}" )
++ message( STATUS " Python3_VERSION_MINOR : ${Python3_VERSION_MINOR}" )
++ message( STATUS " Python3_VERSION_PATCH : ${Python3_VERSION_PATCH}" )
++
++ if ( NOT Python3_LIBRARIES )
++ ecbuild_error("ecflow python extension is enabled, but python3 libraries not found")
++ endif()
++
++ ecbuild_find_python( VERSION ${Python3_VERSION} REQUIRED )
++
++ find_package( Boost ${ECFLOW_BOOST_VERSION} REQUIRED COMPONENTS python37 )
++ add_subdirectory( python3 )
+ endif()