%if 0%{?rhel} == 7 %define cmake_vers cmake3 %define ctest_vers ctest3 %else %define cmake_vers cmake %define ctest_vers ctest %endif %global releaseno 1 Name: ecflow Version: 4.10.0 Release: %{releaseno}%{dist} Summary: ECFlow is a work flow 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 good restart capabilities. URL: https://confluence.ecmwf.int/display/ECFLOW Source0: https://confluence.ecmwf.int/download/attachments/8650755/ecFlow-4.10.0-Source.tar.gz Source1: https://confluence.ecmwf.int/download/attachments/8650755/boost_1_53_0.tar.gz License: Apache License, Version 2.0 BuildRequires: gcc-c++ BuildRequires: %{cmake_vers} BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtsvg-devel BuildRequires: git BuildRequires: python-devel %description ECFlow is a work flow 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 good restart capabilities. This version of ecflow links statically with Boost libraries built from source package boost_1_53_0.tar.gz %package python Summary: Python interface for ecflow %description python ECFlow is a work flow 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 good restart capabilities. This package contains the python interface. %package ui Summary: Monitoring interface for ecflow %description ui ECFlow is a work flow 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 good restart capabilities. This package contains the graphical user interface. %package server Summary: Ecflow server %description server ECFlow is a work flow 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 good restart capabilities. This package contains the server files. %prep %setup -q -n ecFlow-%{version}-Source %setup -T -D -a 1 -n ecFlow-%{version}-Source %build export BOOST_ROOT=$PWD/boost_1_53_0 export WK=$PWD # build boost (no need to install, only static libraries) cd $BOOST_ROOT $WK/build_scripts/boost_1_53_fix.sh ./bootstrap.sh $WK/build_scripts/boost_build.sh cd $WK mkdir build pushd build %{cmake_vers} .. \ -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-deprecated-declarations -std=c++11" \ -DCMAKE_PREFIX_PATH=%{_prefix} \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DINSTALL_LIB_DIR=%{_lib} \ -DENABLE_GUI=OFF \ -DENABLE_UI=ON \ -DENABLE_SECURE_USER=1 %{make_build} popd %install rm -rf $RPM_BUILD_ROOT pushd build %make_install popd %files %defattr(-,root,root) %{_bindir}/ecflow_client %{_bindir}/ecflow_standalone %files python %defattr(-,root,root) %{_bindir}/ecflow_fuse.py %{python2_sitelib}/* # wrong, should go in _sitearch, a binary .so is installed! %files ui %defattr(-,root,root) %{_bindir}/ecflow_test_ui.sh %{_bindir}/ecflow_ui %{_bindir}/ecflow_ui.x %{_datadir}/%{name}/etc %files server %defattr(-,root,root) %{_bindir}/ecflow_logsvr.pl %{_bindir}/ecflow_logserver.sh %{_bindir}/ecflow_server %{_bindir}/ecflow_start.sh %{_bindir}/ecflow_stop.sh %{_bindir}/noconnect.sh %{_datadir}/%{name}/cmake %changelog * Thu Aug 23 2018 Davide Cesari - 4.10.0-1 - First rpm package