|
David Schwörer |
86b481b |
Name: bout++
|
|
David Schwörer |
86b481b |
Version: 4.3.0
|
|
David Schwörer |
05b0fec |
Release: 2%{?dist}
|
|
David Schwörer |
86b481b |
Summary: Library for the BOUndary Turbulence simulation framework
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# BOUT++ itself is LGPL, but we are linking with GPLed code, so the distributed library is GPL
|
|
David Schwörer |
86b481b |
License: GPLv3+
|
|
David Schwörer |
86b481b |
URL: https://boutproject.github.io/
|
|
David Schwörer |
86b481b |
Source0: https://github.com/boutproject/BOUT-dev/releases/download/v%{version}/BOUT++-v%{version}.tar.gz
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# Do not install mpark
|
|
David Schwörer |
86b481b |
Patch0: remove-mpark.patch
|
|
David Schwörer |
86b481b |
# PR 1851
|
|
David Schwörer |
86b481b |
Patch1: test-mpi.patch
|
|
David Schwörer |
86b481b |
# PR 1853
|
|
David Schwörer |
86b481b |
Patch2: test-metric-precision.patch
|
|
David Schwörer |
86b481b |
# PR 1855
|
|
David Schwörer |
86b481b |
Patch3: arm-deref.patch
|
|
David Schwörer |
86b481b |
# PR 1856
|
|
David Schwörer |
86b481b |
Patch4: parallel-race.patch
|
|
David Schwörer |
05b0fec |
# install make.config to header
|
|
David Schwörer |
05b0fec |
Patch5: bout-conf.patch
|
|
David Schwörer |
05b0fec |
# PR 1871
|
|
David Schwörer |
05b0fec |
Patch6: typo-released.patch
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# Disable tests and manual on epel < 8
|
|
David Schwörer |
86b481b |
%if 0%{?rhel} && 0%{?rhel} < 8
|
|
David Schwörer |
86b481b |
%bcond_with manual
|
|
David Schwörer |
86b481b |
%bcond_with test
|
|
David Schwörer |
86b481b |
%else
|
|
David Schwörer |
86b481b |
%bcond_without manual
|
|
David Schwörer |
86b481b |
%bcond_without test
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if 0%{?rhel} && 0%{?rhel} <= 6
|
|
David Schwörer |
86b481b |
%ifarch ppc64
|
|
David Schwörer |
86b481b |
# No mpich on ppc64 in EL6
|
|
David Schwörer |
86b481b |
%bcond_with mpich
|
|
David Schwörer |
86b481b |
%else
|
|
David Schwörer |
86b481b |
%bcond_without mpich
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
%else
|
|
David Schwörer |
86b481b |
%bcond_without mpich
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%ifarch s390 s390x
|
|
David Schwörer |
86b481b |
# No openmpi on s390(x)
|
|
David Schwörer |
86b481b |
%bcond_with openmpi
|
|
David Schwörer |
86b481b |
%else
|
|
David Schwörer |
86b481b |
%bcond_without openmpi
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# Enable weak dependencies
|
|
David Schwörer |
86b481b |
%if 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 7 )
|
|
David Schwörer |
86b481b |
%bcond_without recommend
|
|
David Schwörer |
86b481b |
%else
|
|
David Schwörer |
86b481b |
%bcond_with recommend
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 7 )
|
|
David Schwörer |
86b481b |
# Use system mpark
|
|
David Schwörer |
86b481b |
%bcond_without system_mpark
|
|
David Schwörer |
86b481b |
%else
|
|
David Schwörer |
86b481b |
%bcond_with system_mpark
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
# DEPENDENCIES
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
BuildRequires: m4
|
|
David Schwörer |
86b481b |
BuildRequires: zlib-devel
|
|
David Schwörer |
86b481b |
BuildRequires: autoconf
|
|
David Schwörer |
86b481b |
BuildRequires: autoconf-archive
|
|
David Schwörer |
86b481b |
BuildRequires: gettext-devel
|
|
David Schwörer |
86b481b |
BuildRequires: automake
|
|
David Schwörer |
86b481b |
BuildRequires: environment-modules
|
|
David Schwörer |
86b481b |
BuildRequires: netcdf-devel
|
|
David Schwörer |
86b481b |
BuildRequires: netcdf-cxx%{?fedora:4}-devel
|
|
David Schwörer |
86b481b |
BuildRequires: hdf5-devel
|
|
David Schwörer |
86b481b |
BuildRequires: fftw-devel
|
|
David Schwörer |
86b481b |
BuildRequires: make
|
|
David Schwörer |
86b481b |
BuildRequires: python%{python3_pkgversion}
|
|
David Schwörer |
86b481b |
BuildRequires: python%{python3_pkgversion}-numpy
|
|
David Schwörer |
86b481b |
BuildRequires: python%{python3_pkgversion}-Cython
|
|
David Schwörer |
86b481b |
BuildRequires: python%{python3_pkgversion}-netcdf4
|
|
David Schwörer |
86b481b |
BuildRequires: python%{python3_pkgversion}-scipy
|
|
David Schwörer |
86b481b |
BuildRequires: blas-devel
|
|
David Schwörer |
86b481b |
BuildRequires: lapack-devel
|
|
David Schwörer |
86b481b |
BuildRequires: gcc-c++
|
|
David Schwörer |
86b481b |
%if %{with system_mpark}
|
|
David Schwörer |
86b481b |
BuildRequires: mpark-variant-devel
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
# cxx generation
|
|
David Schwörer |
86b481b |
BuildRequires: python%{python3_pkgversion}-jinja2
|
|
David Schwörer |
86b481b |
# Documentation
|
|
David Schwörer |
86b481b |
%if %{with manual}
|
|
David Schwörer |
86b481b |
BuildRequires: doxygen
|
|
David Schwörer |
86b481b |
BuildRequires: python3-sphinx
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
# DESCRIPTIONS
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with mpich}
|
|
David Schwörer |
86b481b |
BuildRequires: mpich-devel
|
|
David Schwörer |
86b481b |
%global mpi_list mpich
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
%if %{with openmpi}
|
|
David Schwörer |
86b481b |
BuildRequires: openmpi-devel
|
|
David Schwörer |
86b481b |
%global mpi_list %{?mpi_list} openmpi
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%description
|
|
David Schwörer |
86b481b |
BOUT++ is a framework for writing fluid and plasma simulations in
|
|
David Schwörer |
86b481b |
curvilinear geometry. It is intended to be quite modular, with a
|
|
David Schwörer |
86b481b |
variety of numerical methods and time-integration solvers available.
|
|
David Schwörer |
86b481b |
BOUT++ is primarily designed and tested with reduced plasma fluid
|
|
David Schwörer |
86b481b |
models in mind, but it can evolve any number of equations, with
|
|
David Schwörer |
86b481b |
equations appearing in a readable form.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with mpich}
|
|
David Schwörer |
86b481b |
%package mpich
|
|
David Schwörer |
86b481b |
Summary: BOUT++ mpich libraries
|
|
David Schwörer |
86b481b |
Requires: %{name}-common = %{version}-%{release}
|
|
David Schwörer |
86b481b |
# Use bundled version, to reproduce upstream results
|
|
David Schwörer |
86b481b |
Provides: bundled(libpvode)
|
|
David Schwörer |
86b481b |
%if %{with recommend}
|
|
David Schwörer |
86b481b |
Recommends: environment-modules
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%package mpich-devel
|
|
David Schwörer |
86b481b |
Summary: BOUT++ mpich libraries
|
|
David Schwörer |
86b481b |
Requires: mpich-devel
|
|
David Schwörer |
86b481b |
Requires: netcdf-cxx%{?fedora:4}-devel
|
|
David Schwörer |
86b481b |
Requires: hdf5-devel
|
|
David Schwörer |
86b481b |
Requires: fftw-devel
|
|
David Schwörer |
86b481b |
Requires: %{name}-mpich = %{version}-%{release}
|
|
David Schwörer |
86b481b |
Requires: make
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%description mpich-devel
|
|
David Schwörer |
86b481b |
BOUT++ is a framework for writing fluid and plasma simulations in
|
|
David Schwörer |
86b481b |
curvilinear geometry. It is intended to be quite modular, with a
|
|
David Schwörer |
86b481b |
variety of numerical methods and time-integration solvers available.
|
|
David Schwörer |
86b481b |
BOUT++ is primarily designed and tested with reduced plasma fluid
|
|
David Schwörer |
86b481b |
models in mind, but it can evolve any number of equations, with
|
|
David Schwörer |
86b481b |
equations appearing in a readable form.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
This BOUT++ library is build for mpich.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%description mpich
|
|
David Schwörer |
86b481b |
BOUT++ is a framework for writing fluid and plasma simulations in
|
|
David Schwörer |
86b481b |
curvilinear geometry. It is intended to be quite modular, with a
|
|
David Schwörer |
86b481b |
variety of numerical methods and time-integration solvers available.
|
|
David Schwörer |
86b481b |
BOUT++ is primarily designed and tested with reduced plasma fluid
|
|
David Schwörer |
86b481b |
models in mind, but it can evolve any number of equations, with
|
|
David Schwörer |
86b481b |
equations appearing in a readable form.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
This BOUT++ library is build for mpich.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%package -n python%{python3_pkgversion}-%{name}-mpich
|
|
David Schwörer |
86b481b |
Summary: BOUT++ mpich library for python%{python3_pkgversion}
|
|
David Schwörer |
86b481b |
Requires: %{name}-mpich
|
|
David Schwörer |
86b481b |
Requires: python%{python3_pkgversion}-%{name}
|
|
David Schwörer |
86b481b |
BuildRequires: python%{python3_pkgversion}-devel
|
|
David Schwörer |
86b481b |
Requires: mpich
|
|
David Schwörer |
86b481b |
Requires: python%{python3_pkgversion}-mpich
|
|
David Schwörer |
86b481b |
Requires: python%{python3_pkgversion}-numpy
|
|
David Schwörer |
86b481b |
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}-mpich}
|
|
David Schwörer |
86b481b |
%description -n python%{python3_pkgversion}-%{name}-mpich
|
|
David Schwörer |
86b481b |
This is the BOUT++ library python%{python3_pkgversion} with mpich.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with openmpi}
|
|
David Schwörer |
86b481b |
%package openmpi
|
|
David Schwörer |
86b481b |
Summary: BOUT++ openmpi libraries
|
|
David Schwörer |
86b481b |
# Use bundled version, to reproduce upstream results
|
|
David Schwörer |
86b481b |
Provides: bundled(libpvode)
|
|
David Schwörer |
86b481b |
Requires: %{name}-common = %{version}-%{release}
|
|
David Schwörer |
86b481b |
%if %{with recommend}
|
|
David Schwörer |
86b481b |
Recommends: environment-modules
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%package openmpi-devel
|
|
David Schwörer |
86b481b |
Summary: BOUT++ openmpi libraries
|
|
David Schwörer |
86b481b |
Requires: openmpi-devel
|
|
David Schwörer |
86b481b |
Requires: netcdf-cxx%{?fedora:4}-devel
|
|
David Schwörer |
86b481b |
Requires: hdf5-devel
|
|
David Schwörer |
86b481b |
Requires: fftw-devel
|
|
David Schwörer |
86b481b |
Requires: make
|
|
David Schwörer |
86b481b |
Requires: %{name}-openmpi = %{version}-%{release}
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%description openmpi-devel
|
|
David Schwörer |
86b481b |
BOUT++ is a framework for writing fluid and plasma simulations in
|
|
David Schwörer |
86b481b |
curvilinear geometry. It is intended to be quite modular, with a
|
|
David Schwörer |
86b481b |
variety of numerical methods and time-integration solvers available.
|
|
David Schwörer |
86b481b |
BOUT++ is primarily designed and tested with reduced plasma fluid
|
|
David Schwörer |
86b481b |
models in mind, but it can evolve any number of equations, with
|
|
David Schwörer |
86b481b |
equations appearing in a readable form.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
This BOUT++ library is build for openmpi and provides the required
|
|
David Schwörer |
86b481b |
header files.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%description openmpi
|
|
David Schwörer |
86b481b |
BOUT++ is a framework for writing fluid and plasma simulations in
|
|
David Schwörer |
86b481b |
curvilinear geometry. It is intended to be quite modular, with a
|
|
David Schwörer |
86b481b |
variety of numerical methods and time-integration solvers available.
|
|
David Schwörer |
86b481b |
BOUT++ is primarily designed and tested with reduced plasma fluid
|
|
David Schwörer |
86b481b |
models in mind, but it can evolve any number of equations, with
|
|
David Schwörer |
86b481b |
equations appearing in a readable form.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
This BOUT++ library is build for openmpi.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%package -n python%{python3_pkgversion}-%{name}-openmpi
|
|
David Schwörer |
86b481b |
Summary: BOUT++ openmpi library for python%{python3_pkgversion}
|
|
David Schwörer |
86b481b |
Requires: %{name}-openmpi
|
|
David Schwörer |
86b481b |
Requires: python%{python3_pkgversion}-%{name}
|
|
David Schwörer |
86b481b |
BuildRequires: python%{python3_pkgversion}-devel
|
|
David Schwörer |
86b481b |
Requires: openmpi
|
|
David Schwörer |
86b481b |
Requires: python%{python3_pkgversion}-openmpi
|
|
David Schwörer |
86b481b |
Requires: python%{python3_pkgversion}-numpy
|
|
David Schwörer |
86b481b |
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}-openmpi}
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%description -n python%{python3_pkgversion}-%{name}-openmpi
|
|
David Schwörer |
86b481b |
This is the BOUT++ library python%{python3_pkgversion} with openmpi.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%package common
|
|
David Schwörer |
86b481b |
Summary: Common files for BOUT++
|
|
David Schwörer |
86b481b |
%description common
|
|
David Schwörer |
86b481b |
MPI-independent files for BOUT++, namely localisation files.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%package -n python%{python3_pkgversion}-%{name}
|
|
David Schwörer |
86b481b |
Summary: BOUT++ python library
|
|
David Schwörer |
86b481b |
Requires: netcdf4-python%{python3_pkgversion}
|
|
David Schwörer |
86b481b |
Requires: python%{python3_pkgversion}-numpy
|
|
David Schwörer |
86b481b |
%if %{with recommend}
|
|
David Schwörer |
86b481b |
Recommends: python%{python3_pkgversion}-scipy
|
|
David Schwörer |
86b481b |
Recommends: python%{python3_pkgversion}-matplotlib
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
BuildArch: noarch
|
|
David Schwörer |
86b481b |
%{?python_provide:%python_provide python%{python3_pkgversion}-%{name}}
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%description -n python%{python3_pkgversion}-%{name}
|
|
David Schwörer |
86b481b |
Python%{python3_pkgversion} library for pre and post processing of BOUT++ data
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with manual}
|
|
David Schwörer |
86b481b |
%package -n %{name}-doc
|
|
David Schwörer |
86b481b |
Summary: BOUT++ Documentation
|
|
David Schwörer |
86b481b |
BuildArch: noarch
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%description -n %{name}-doc
|
|
David Schwörer |
86b481b |
BOUT++ is a framework for writing fluid and plasma simulations in
|
|
David Schwörer |
86b481b |
curvilinear geometry. It is intended to be quite modular, with a
|
|
David Schwörer |
86b481b |
variety of numerical methods and time-integration solvers available.
|
|
David Schwörer |
86b481b |
BOUT++ is primarily designed and tested with reduced plasma fluid
|
|
David Schwörer |
86b481b |
models in mind, but it can evolve any number of equations, with
|
|
David Schwörer |
86b481b |
equations appearing in a readable form.
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
This package contains the documentation.
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
# PREP
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%prep
|
|
David Schwörer |
86b481b |
%setup -q -n BOUT++-v%{version}
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with system_mpark}
|
|
David Schwörer |
86b481b |
# use mpark provided by fedora
|
|
David Schwörer |
86b481b |
rm -rf externalpackages/mpark.variant/
|
|
David Schwörer |
86b481b |
mkdir -p externalpackages/mpark.variant/include/
|
|
David Schwörer |
86b481b |
%patch0 -p 1
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%patch1 -p 1
|
|
David Schwörer |
86b481b |
%patch2 -p 1
|
|
David Schwörer |
86b481b |
%patch3 -p 1
|
|
David Schwörer |
86b481b |
%patch4 -p 1
|
|
David Schwörer |
86b481b |
%patch5 -p 1
|
|
David Schwörer |
05b0fec |
%patch6 -p 1
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# Remove shebang
|
|
David Schwörer |
86b481b |
for f in $(find -L tools/pylib/ -type f | grep -v _boutcore_build )
|
|
David Schwörer |
86b481b |
do
|
|
David Schwörer |
86b481b |
sed -i '/^#!\//d' $f
|
|
David Schwörer |
86b481b |
done
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
autoreconf
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
# BUILD
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%build
|
|
David Schwörer |
86b481b |
%global configure_opts \\\
|
|
David Schwörer |
86b481b |
--with-netcdf \\\
|
|
David Schwörer |
86b481b |
--with-hdf5 \\\
|
|
David Schwörer |
86b481b |
--enable-shared
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%{nil}
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# MPI builds
|
|
David Schwörer |
86b481b |
export CC=mpicc
|
|
David Schwörer |
86b481b |
export CXX=mpicxx
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
for mpi in %{mpi_list}
|
|
David Schwörer |
86b481b |
do
|
|
David Schwörer |
86b481b |
mkdir build_$mpi
|
|
David Schwörer |
86b481b |
cp -al [^b]* build-aux bin build_$mpi
|
|
David Schwörer |
86b481b |
done
|
|
David Schwörer |
86b481b |
for mpi in %{mpi_list}
|
|
David Schwörer |
86b481b |
do
|
|
David Schwörer |
86b481b |
pushd build_$mpi
|
|
David Schwörer |
86b481b |
if [ $mpi = mpich ] ; then
|
|
David Schwörer |
86b481b |
%_mpich_load
|
|
David Schwörer |
86b481b |
elif [ $mpi = openmpi ] ; then
|
|
David Schwörer |
86b481b |
%_openmpi_load
|
|
David Schwörer |
86b481b |
else
|
|
David Schwörer |
86b481b |
echo "unknown mpi" &> /dev/stderr
|
|
David Schwörer |
86b481b |
exit 1
|
|
David Schwörer |
86b481b |
fi
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%configure %{configure_opts} \
|
|
David Schwörer |
86b481b |
--libdir=%{_libdir}/$mpi/lib \
|
|
David Schwörer |
86b481b |
--bindir=%{_libdir}/$mpi/bin \
|
|
David Schwörer |
86b481b |
--sbindir=%{_libdir}/$mpi/sbin \
|
|
David Schwörer |
86b481b |
--includedir=%{_includedir}/$mpi-%{_arch} \
|
|
David Schwörer |
86b481b |
--datarootdir=%{_datadir}
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
make %{?_smp_mflags} shared python
|
|
David Schwörer |
86b481b |
export LD_LIBRARY_PATH=$(pwd)/lib
|
|
David Schwörer |
86b481b |
%if %{with manual}
|
|
David Schwörer |
86b481b |
make %{?_smp_mflags} -C manual html
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
if [ $mpi = mpich ] ; then
|
|
David Schwörer |
86b481b |
%_mpich_unload
|
|
David Schwörer |
86b481b |
elif [ $mpi = openmpi ] ; then
|
|
David Schwörer |
86b481b |
%_openmpi_unload
|
|
David Schwörer |
86b481b |
fi
|
|
David Schwörer |
86b481b |
popd
|
|
David Schwörer |
86b481b |
done
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
# INSTALL
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%install
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
for mpi in %{mpi_list}
|
|
David Schwörer |
86b481b |
do
|
|
David Schwörer |
86b481b |
pushd build_$mpi
|
|
David Schwörer |
86b481b |
if [ $mpi = mpich ] ; then
|
|
David Schwörer |
86b481b |
%_mpich_load
|
|
David Schwörer |
86b481b |
else
|
|
David Schwörer |
86b481b |
%_openmpi_load
|
|
David Schwörer |
86b481b |
fi
|
|
David Schwörer |
86b481b |
make install DESTDIR=${RPM_BUILD_ROOT}
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# mark this as a released version, to disable compiling the library
|
|
David Schwörer |
86b481b |
sed -i '26 i RELEASED = %{version}-%{release}' ${RPM_BUILD_ROOT}/%{_includedir}/${mpi}-%{_arch}/bout++/make.config
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
rm -rf ${RPM_BUILD_ROOT}/usr/share/bout++
|
|
David Schwörer |
86b481b |
rm -f ${RPM_BUILD_ROOT}/%{_libdir}/${mpi}/lib/*.a
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
install lib/*.so.* ${RPM_BUILD_ROOT}/%{_libdir}/${mpi}/lib/
|
|
David Schwörer |
86b481b |
pushd ${RPM_BUILD_ROOT}/%{_libdir}/${mpi}/lib/
|
|
David Schwörer |
86b481b |
for f in *.so.*
|
|
David Schwörer |
86b481b |
do
|
|
David Schwörer |
86b481b |
ln -s $f ${f%%.so*}.so
|
|
David Schwörer |
86b481b |
done
|
|
David Schwörer |
86b481b |
popd
|
|
David Schwörer |
86b481b |
popd
|
|
David Schwörer |
86b481b |
if [ $mpi = mpich ] ; then
|
|
David Schwörer |
86b481b |
%_mpich_unload
|
|
David Schwörer |
86b481b |
else
|
|
David Schwörer |
86b481b |
%_openmpi_unload
|
|
David Schwörer |
86b481b |
fi
|
|
David Schwörer |
86b481b |
done
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# install python libraries
|
|
David Schwörer |
86b481b |
pushd tools/pylib
|
|
David Schwörer |
86b481b |
for d in boutdata bout_runners boututils post_bout zoidberg
|
|
David Schwörer |
86b481b |
do
|
|
David Schwörer |
86b481b |
mkdir -p ${RPM_BUILD_ROOT}/%{python3_sitelib}/$d
|
|
David Schwörer |
86b481b |
cp $d/*py ${RPM_BUILD_ROOT}/%{python3_sitelib}/$d/
|
|
David Schwörer |
86b481b |
done
|
|
David Schwörer |
86b481b |
popd
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# install manual
|
|
David Schwörer |
86b481b |
%if %{with manual}
|
|
David Schwörer |
86b481b |
mandir=$(ls build_*/manual -d|head -n1)
|
|
David Schwörer |
86b481b |
mkdir -p ${RPM_BUILD_ROOT}/%{_defaultdocdir}/bout++/
|
|
David Schwörer |
86b481b |
rm -rf $mandir/html/.buildinfo
|
|
David Schwörer |
86b481b |
rm -rf $mandir/html/.doctrees
|
|
David Schwörer |
86b481b |
rm -rf $mandir/html/_sources
|
|
David Schwörer |
86b481b |
cp -r $mandir/html ${RPM_BUILD_ROOT}/%{_defaultdocdir}/bout++/
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
# install boutcore library
|
|
David Schwörer |
86b481b |
for mpi in %{mpi_list}
|
|
David Schwörer |
86b481b |
do
|
|
David Schwörer |
86b481b |
mkdir -p ${RPM_BUILD_ROOT}/%{python3_sitearch}/${mpi}/
|
|
David Schwörer |
86b481b |
install build_$mpi/tools/pylib/boutcore.*.so ${RPM_BUILD_ROOT}/%{python3_sitearch}/${mpi}/
|
|
David Schwörer |
86b481b |
done
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%find_lang libbout
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
# CHECK
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%check
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with test}
|
|
David Schwörer |
86b481b |
for mpi in %{mpi_list}
|
|
David Schwörer |
86b481b |
do
|
|
David Schwörer |
86b481b |
if [ $mpi = mpich ] ; then
|
|
David Schwörer |
86b481b |
%_mpich_load
|
|
David Schwörer |
86b481b |
else
|
|
David Schwörer |
86b481b |
%_openmpi_load
|
|
David Schwörer |
86b481b |
fi
|
|
David Schwörer |
86b481b |
export OMPI_MCA_rmaps_base_oversubscribe=yes
|
|
David Schwörer |
86b481b |
pushd build_$mpi
|
|
David Schwörer |
86b481b |
make %{?_smp_mflags} build-check
|
|
David Schwörer |
86b481b |
make check
|
|
David Schwörer |
86b481b |
popd
|
|
David Schwörer |
86b481b |
if [ $mpi = mpich ] ; then
|
|
David Schwörer |
86b481b |
%_mpich_unload
|
|
David Schwörer |
86b481b |
else
|
|
David Schwörer |
86b481b |
%_openmpi_unload
|
|
David Schwörer |
86b481b |
fi
|
|
David Schwörer |
86b481b |
done
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
# FILES SECTION
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with mpich}
|
|
David Schwörer |
86b481b |
%files mpich
|
|
David Schwörer |
86b481b |
%{_libdir}/mpich/lib/libbout++.so.4.3.0
|
|
David Schwörer |
86b481b |
%{_libdir}/mpich/lib/*.so.1.0.0
|
|
David Schwörer |
86b481b |
%{_libdir}/mpich/bin/*
|
|
David Schwörer |
86b481b |
%doc README.md
|
|
David Schwörer |
86b481b |
%doc CITATION.bib
|
|
David Schwörer |
86b481b |
%doc CITATION.cff
|
|
David Schwörer |
86b481b |
%doc CHANGELOG.md
|
|
David Schwörer |
86b481b |
%doc CONTRIBUTING.md
|
|
David Schwörer |
86b481b |
%license LICENSE
|
|
David Schwörer |
86b481b |
%license LICENSE.GPL
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%files mpich-devel
|
|
David Schwörer |
86b481b |
%{_includedir}/mpich-%{_arch}/bout++
|
|
David Schwörer |
86b481b |
%{_libdir}/mpich/lib/*.so
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%files -n python%{python3_pkgversion}-%{name}-mpich
|
|
David Schwörer |
86b481b |
%{python3_sitearch}/mpich/*
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with openmpi}
|
|
David Schwörer |
86b481b |
%files openmpi
|
|
David Schwörer |
86b481b |
%{_libdir}/openmpi/lib/libbout++.so.4.3.0
|
|
David Schwörer |
86b481b |
%{_libdir}/openmpi/lib/*.so.1.0.0
|
|
David Schwörer |
86b481b |
%{_libdir}/openmpi/bin/*
|
|
David Schwörer |
86b481b |
%doc README.md
|
|
David Schwörer |
86b481b |
%doc CITATION.bib
|
|
David Schwörer |
86b481b |
%doc CITATION.cff
|
|
David Schwörer |
86b481b |
%doc CHANGELOG.md
|
|
David Schwörer |
86b481b |
%doc CONTRIBUTING.md
|
|
David Schwörer |
86b481b |
%license LICENSE
|
|
David Schwörer |
86b481b |
%license LICENSE.GPL
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%files openmpi-devel
|
|
David Schwörer |
86b481b |
%{_includedir}/openmpi-%{_arch}/bout++
|
|
David Schwörer |
86b481b |
%{_libdir}/openmpi/lib/*.so
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%files -n python%{python3_pkgversion}-%{name}-openmpi
|
|
David Schwörer |
86b481b |
%{python3_sitearch}/openmpi/*
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%files common -f libbout.lang
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%files -n python%{python3_pkgversion}-%{name}
|
|
David Schwörer |
86b481b |
%{python3_sitelib}/*bout*
|
|
David Schwörer |
86b481b |
%{python3_sitelib}/zoidberg
|
|
David Schwörer |
86b481b |
%doc README.md
|
|
David Schwörer |
86b481b |
%doc CITATION.bib
|
|
David Schwörer |
86b481b |
%doc CITATION.cff
|
|
David Schwörer |
86b481b |
%doc CHANGELOG.md
|
|
David Schwörer |
86b481b |
%doc CONTRIBUTING.md
|
|
David Schwörer |
86b481b |
%license LICENSE
|
|
David Schwörer |
86b481b |
%license LICENSE.GPL
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%if %{with manual}
|
|
David Schwörer |
86b481b |
%files -n %{name}-doc
|
|
David Schwörer |
86b481b |
%doc %{_defaultdocdir}/bout++/
|
|
David Schwörer |
86b481b |
%endif
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
# CHANGELOG
|
|
David Schwörer |
86b481b |
#
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
%changelog
|
|
David Schwörer |
05b0fec |
* Wed Dec 11 2019 David Schwörer <schword2mail.dcu.ie> - 4.3.0-2
|
|
David Schwörer |
05b0fec |
- update make.config during install
|
|
David Schwörer |
05b0fec |
|
|
David Schwörer |
86b481b |
* Thu Dec 05 2019 David Schwörer <schword2mail.dcu.ie> - 4.3.0-1
|
|
David Schwörer |
86b481b |
- update to 4.3.0
|
|
David Schwörer |
86b481b |
- add common subpackage for lang files
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
* Fri Aug 23 2019 David Schwörer <schword2mail.dcu.ie> - 4.2.2-1
|
|
David Schwörer |
86b481b |
- Remove ldconfig scriptlets
|
|
David Schwörer |
86b481b |
- Use mpi scriplets
|
|
David Schwörer |
86b481b |
- Ensure sitelib packages do not match arched mpi packages
|
|
David Schwörer |
86b481b |
- Move commons package to the base packages
|
|
David Schwörer |
86b481b |
- Specify so version
|
|
David Schwörer |
86b481b |
- Drop man page for library
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
* Fri Mar 01 2019 David Schwörer <schword2mail.dcu.ie> - 4.2.2-0
|
|
David Schwörer |
86b481b |
- Update to version 4.2.2
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
* Thu Feb 07 2019 David Schwörer <schword2mail.dcu.ie> - 4.2.1-0
|
|
David Schwörer |
86b481b |
- Fix license
|
|
David Schwörer |
86b481b |
- Bump to 4.2.1
|
|
David Schwörer |
86b481b |
- Use new release
|
|
David Schwörer |
86b481b |
- Release contains gtest, so we can run make check
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
* Tue Dec 04 2018 David Schwörer <schword2mail.dcu.ie> - 4.2.0-3
|
|
David Schwörer |
86b481b |
- Fix recommend
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
* Thu Oct 18 2018 David Schwörer <schword2mail.dcu.ie> - 4.2.0-2
|
|
David Schwörer |
86b481b |
- Update to 4.2.0
|
|
David Schwörer |
86b481b |
- Remove python2 support
|
|
David Schwörer |
86b481b |
- Add boutcore support
|
|
David Schwörer |
86b481b |
- Fix mangling of shebangs
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
* Tue Dec 12 2017 David Schwörer <schword2mail.dcu.ie> - 4.1.2-2
|
|
David Schwörer |
86b481b |
- Add missing python_provide macro
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
* Fri Dec 01 2017 David Schwörer <schword2mail.dcu.ie> - 4.1.2-1
|
|
David Schwörer |
86b481b |
- Update to new release, remove patch
|
|
David Schwörer |
86b481b |
|
|
David Schwörer |
86b481b |
* Tue May 02 2017 David Schwörer <schword2mail.dcu.ie> - 4.1.1-1
|
|
David Schwörer |
86b481b |
- Initial RPM release.
|