b12613d
%global git 0
5ca9ffa
%global commit f74064d62090da45a28225881008b05798703d1c
786824f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
786824f
Thomas Spura 8afca25
Name:           espresso
685ddaa
Version:        4.0.1
b12613d
Release:        1%{?dist}
Thomas Spura 8afca25
Summary:        Extensible Simulation Package for Research on Soft matter
Thomas Spura 8afca25
Thomas Spura 8afca25
License:        GPLv3+
Thomas Spura 8afca25
URL:            http://espressomd.org
786824f
%if %{git}
cd1d6ad
Source0:        https://github.com/%{name}md/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
786824f
%else
b12613d
Source0:       https://github.com/%{name}md/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz
786824f
%endif
786824f
Thomas Spura 8afca25
2ac60cd
BuildRequires:  gcc-c++
22f3a14
%if 0%{?rhel}
22f3a14
BuildRequires:  cmake3 >= 3.0
22f3a14
BuildRequires:  python%{python3_pkgversion}-Cython
22f3a14
BuildRequires:  python%{python3_pkgversion}-setuptools
22f3a14
%global cython /usr/bin/cython%{python3_version}
22f3a14
# no boost-mpi* for ppc64le on epel7
22f3a14
ExcludeArch:   ppc64le
22f3a14
%else
22f3a14
BuildRequires:  cmake >= 3.0
22f3a14
%global cmake3 %{cmake}
000429f
BuildRequires:  /usr/bin/cython
22f3a14
%global cython /usr/bin/cython
22f3a14
%endif
Thomas Spura 7edaf03
BuildRequires:  fftw-devel
b12613d
BuildRequires:  python%{python3_pkgversion}-numpy
b12613d
BuildRequires:  python%{python3_pkgversion}-devel
b12613d
BuildRequires:  boost-devel
b12613d
BuildRequires:  hdf5-devel
b12613d
BuildRequires:  gsl-devel
786824f
BuildRequires:  boost-devel
786824f
BuildRequires:  mpich-devel
786824f
BuildRequires:  boost-mpich-devel
786824f
BuildRequires:  openmpi-devel
786824f
BuildRequires:  boost-openmpi-devel
Thomas Spura 8afca25
b12613d
Requires:       python%{python3_pkgversion}-numpy
Thomas Spura 8afca25
Requires:       %{name}-common = %{version}-%{release}
Thomas Spura 8afca25
Thomas Spura 8afca25
%description
Thomas Spura 8afca25
ESPResSo can perform Molecular Dynamics simulations of bead-spring models
Thomas Spura 8afca25
in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
Thomas Spura 8afca25
ESPResSo contains a number of advanced algorithms, e.g.
Thomas Spura 8afca25
    * DPD thermostat (for hydrodynamics)
Thomas Spura 8afca25
    * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
Thomas Spura d60f901
    * Lattice-Boltzmann for hydrodynamics
Thomas Spura 8afca25
Thomas Spura 8afca25
%package common
Thomas Spura 8afca25
Summary:        Common files for %{name} packages
Thomas Spura 8afca25
BuildArch:      noarch
Thomas Spura 8afca25
Requires:       %{name}-common = %{version}-%{release}
Thomas Spura 8afca25
%description common
Thomas Spura 8afca25
ESPResSo can perform Molecular Dynamics simulations of bead-spring models
Thomas Spura 8afca25
in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
Thomas Spura 8afca25
ESPResSo contains a number of advanced algorithms, e.g.
Thomas Spura 8afca25
    * DPD thermostat (for hydrodynamics)
Thomas Spura 8afca25
    * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
Thomas Spura d60f901
    * Lattice-Boltzmann for hydrodynamics
786824f
This package contains the license file and data files shared between the
cd1d6ad
sub-packages of %{name}.
Thomas Spura 8afca25
786824f
%package devel
786824f
Summary:        Development package for  %{name} packages
b12613d
Requires:       python%{python3_pkgversion}-%{name}-openmpi = %{version}-%{release}
b12613d
Requires:       python%{python3_pkgversion}-%{name}-mpich = %{version}-%{release}
786824f
%description devel
786824f
ESPResSo can perform Molecular Dynamics simulations of bead-spring models
786824f
in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
786824f
ESPResSo contains a number of advanced algorithms, e.g.
786824f
    * DPD thermostat (for hydrodynamics)
786824f
    * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
786824f
    * Lattice-Boltzmann for hydrodynamics
786824f
This package contains the development libraries of %{name}.
786824f
b12613d
%package -n python%{python3_pkgversion}-%{name}-openmpi
Thomas Spura 8afca25
Requires:       %{name}-common = %{version}-%{release}
Thomas Spura 8afca25
Summary:        Extensible Simulation Package for Research on Soft matter
786824f
Provides:       %{name}-openmpi = %{version}-%{release}
786824f
Obsoletes:      %{name}-openmpi < 3.3.0-12
b12613d
%description -n python%{python3_pkgversion}-%{name}-openmpi
Thomas Spura 8afca25
ESPResSo can perform Molecular Dynamics simulations of bead-spring models
Thomas Spura 8afca25
in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
Thomas Spura 8afca25
ESPResSo contains a number of advanced algorithms, e.g.
Thomas Spura 8afca25
    * DPD thermostat (for hydrodynamics)
Thomas Spura 8afca25
    * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
Thomas Spura d60f901
    * Lattice-Boltzmann for hydrodynamics
Thomas Spura 8afca25
Thomas Spura 8afca25
This package contains %{name} compiled against Open MPI.
Thomas Spura 8afca25
Thomas Spura 8afca25
b12613d
%package -n python%{python3_pkgversion}-%{name}-mpich
Thomas Spura 8afca25
Requires:       %{name}-common = %{version}-%{release}
Thomas Spura 8afca25
Summary:        Extensible Simulation Package for Research on Soft matter
Thomas Spura e0fad53
Provides:       %{name}-mpich2 = %{version}-%{release}
Thomas Spura e0fad53
Obsoletes:      %{name}-mpich2 < 3.1.1-3
786824f
Provides:       %{name}-mpich = %{version}-%{release}
786824f
Obsoletes:      %{name}-mpich < 3.3.0-12
b12613d
%description -n python%{python3_pkgversion}-%{name}-mpich
Thomas Spura 8afca25
ESPResSo can perform Molecular Dynamics simulations of bead-spring models
Thomas Spura 8afca25
in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
Thomas Spura 8afca25
ESPResSo contains a number of advanced algorithms, e.g.
Thomas Spura 8afca25
    * DPD thermostat (for hydrodynamics)
Thomas Spura 8afca25
    * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
Thomas Spura d60f901
    * Lattice-Boltzmann for hydrodynamics
Thomas Spura 8afca25
Thomas Spura 8afca25
This package contains %{name} compiled against MPICH2.
Thomas Spura 8afca25
Thomas Spura 8afca25
Thomas Spura 8afca25
%prep
786824f
%if %{git}
786824f
%setup -q -n espresso-%{commit}
786824f
%else
Thomas Spura 8afca25
%setup -q
786824f
%endif
786824f
mkdir openmpi_build mpich_build
685ddaa
sed -i 's/1.67/1.66/' CMakeLists.txt
Thomas Spura 8afca25
Thomas Spura 8afca25
%build
786824f
%global defopts \\\
786824f
 -DWITH_PYTHON=ON \\\
b12613d
 -DPYTHON_EXECUTABLE=%{__python3} \\\
786824f
 -DWITH_TESTS=ON \\\
0aaeb55
 -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \\\
22f3a14
 -DINSTALL_PYPRESSO=OFF \\\
22f3a14
 -DCYTHON_EXECUTABLE=%{cython}
Thomas Spura 8afca25
a5f8e9c
#save some memory using -j1
a5f8e9c
%define _smp_mflags -j1
a5f8e9c
Thomas Spura 8afca25
# Build OpenMPI version
Thomas Spura 8afca25
%{_openmpi_load}
Thomas Spura 8afca25
pushd openmpi_build
22f3a14
%{cmake3} \
786824f
  %{defopts} \
786824f
  -DLIBDIR=${MPI_LIB} \
22f3a14
  -DPYTHON_INSTDIR=%{python3_sitearch}/openmpi \
786824f
  ..
786824f
%make_build
Thomas Spura 8afca25
popd
Thomas Spura 8afca25
%{_openmpi_unload}
Thomas Spura 8afca25
Deji Akingunola a46525b
# Build mpich version
Deji Akingunola a46525b
%{_mpich_load}
Deji Akingunola a46525b
pushd mpich_build
22f3a14
%{cmake3} \
786824f
  %{defopts} \
786824f
  -DLIBDIR=${MPI_LIB} \
22f3a14
  -DPYTHON_INSTDIR=%{python3_sitearch}/mpich \
786824f
  ..
786824f
%make_build
Thomas Spura 8afca25
popd
Deji Akingunola a46525b
%{_mpich_unload}
Thomas Spura 8afca25
Thomas Spura 8afca25
%install
Thomas Spura 8afca25
# first install mpi files and move around because MPI_SUFFIX above doesn't
Thomas Spura 8afca25
# work yet (will be fixed in a new version)
Thomas Spura 8afca25
%{_openmpi_load}
Thomas Spura 8afca25
pushd openmpi_build
786824f
%make_install
Thomas Spura 8afca25
popd
Thomas Spura 8afca25
%{_openmpi_unload}
Thomas Spura 8afca25
Deji Akingunola a46525b
%{_mpich_load}
Deji Akingunola a46525b
pushd mpich_build
786824f
%make_install
Thomas Spura 8afca25
popd
Deji Akingunola a46525b
%{_mpich_unload}
786824f
find %{buildroot}%{_prefix} -name "*.so" -exec chmod +x {} \;
786824f
find %{buildroot}%{_prefix} -name "gen_pxiconfig" -exec chmod +x {} \;
Thomas Spura 8afca25
Thomas Spura 8afca25
%check
cfe4f68
# https://github.com/espressomd/espresso/issues/2468
cfe4f68
%if 0%{?fedora} <= 29
ecae97b
%ifarch ppc64 ppc64le aarch64 i686
cfe4f68
%global testargs ARGS='-E npt'
cfe4f68
%endif
cfe4f68
%endif
Thomas Spura 8afca25
%{_openmpi_load}
Thomas Spura 8afca25
pushd openmpi_build
0aaeb55
make check CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
Thomas Spura 8afca25
popd
Thomas Spura 8afca25
%{_openmpi_unload}
Thomas Spura 8afca25
Deji Akingunola a46525b
%{_mpich_load}
Deji Akingunola a46525b
pushd mpich_build
0aaeb55
make check CTEST_OUTPUT_ON_FAILURE=1 %{?testargs:%{testargs}}
Thomas Spura 8afca25
popd
Deji Akingunola a46525b
%{_mpich_unload}
Thomas Spura 8afca25
Thomas Spura 8afca25
%files common
786824f
%doc AUTHORS README NEWS ChangeLog
786824f
%license COPYING
Thomas Spura 8afca25
786824f
%files devel
786824f
%{_libdir}/*/lib/lib*.so
Thomas Spura 8afca25
b12613d
%files -n python%{python3_pkgversion}-%{name}-openmpi
786824f
%{_libdir}/openmpi/lib/lib*.so.*
b12613d
%{python3_sitearch}/openmpi/%{name}md
Thomas Spura 8afca25
b12613d
%files -n python%{python3_pkgversion}-%{name}-mpich
786824f
%{_libdir}/mpich/lib/lib*.so.*
b12613d
%{python3_sitearch}/mpich/%{name}md
Thomas Spura 8afca25
Thomas Spura 8afca25
%changelog
685ddaa
* Fri Jan 25 2019 Christoph Junghans <junghans@votca.org> - 4.0.1-1
685ddaa
- version bump to 4.0.1
685ddaa
b12613d
* Fri Sep 07 2018 Christoph Junghans <junghans@votca.org> - 4.0.0-1
a5f8e9c
- version bump to 4.0.0 (bug #1625379)
a5f8e9c
- move to python3
b12613d
28e32e3
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-0.12.20180203gitf74064d
28e32e3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
28e32e3
5198ebe
* Tue Feb 06 2018 Iryna Shcherbina <ishcherb@redhat.com> - 4.0-0.11.20180203gitf74064d
5198ebe
- Update Python 2 dependency declarations to new packaging standards
5198ebe
  (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
5198ebe
e84fdfd
* Sun Feb 04 2018 Christoph Junghans <junghans@votca.org> - 4.0-0.10.20170220git7a9ac74
e84fdfd
- added 1830.patch to fix install (missing libEspressoConfig)
e84fdfd
e84fdfd
* Sat Feb 03 2018 Christoph Junghans <junghans@votca.org> - 4.0-0.9.20170220git7a9ac74
5ca9ffa
- Bump to version 4.0 git version f74064d
e84fdfd
- Drop 1056.patch, got merged upstream
5ca9ffa
7098297
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-0.8.20170228git8a021f5
7098297
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
7098297
75d54a7
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-0.7.20170228git8a021f5
75d54a7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
75d54a7
76d21c5
* Wed Jul 19 2017 Jonathan Wakely <jwakely@redhat.com> - 4.0-0.6.20170228git8a021f5
76d21c5
- Rebuilt for s390x binutils bug
76d21c5
10c9b59
* Tue Jul 18 2017 Jonathan Wakely <jwakely@redhat.com> - 4.0-0.5.20170228git8a021f5
10c9b59
- Rebuilt for Boost 1.64
10c9b59
d8b4e76
* Sun Mar 12 2017 Peter Robinson <pbrobinson@fedoraproject.org> 4.0-0.4.20170228git8a021f5
d8b4e76
- Drop ExcludeArch as boost-mpi is now built on ppc64le
d8b4e76
cd1d6ad
* Sun Mar 05 2017 Christoph Junghans <junghans@votca.org> - 4.0-0.3.20170228git8a021f5
cd1d6ad
- Dropped 1042.patch, merged upstream
cd1d6ad
- Add 1056.patch to fix install
cd1d6ad
4bbb85a
* Sat Feb 25 2017 Christoph Junghans <junghans@votca.org> - 4.0-0.2.20170220git7a9ac74
4bbb85a
- ExcludeArch: ppc64le due to missing boost-mpi
4bbb85a
786824f
* Thu Feb 16 2017 Christoph Junghans <junghans@votca.org> - 4.0-0.1.20170220git7a9ac74
786824f
- Bump to version 4.0 git version
786824f
- Drop cypthon patch, incl. upstream
786824f
- Add 1042.patch from upstream
786824f
cbe0465
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-11
cbe0465
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
cbe0465
Orion Poplawski 13b7c24
* Fri Oct 21 2016 Orion Poplawski <orion@cora.nwra.com> - 3.3.0-10
Orion Poplawski 13b7c24
- Rebuild for openmpi 2.0
Orion Poplawski 13b7c24
5efb3f9
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-9
5efb3f9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
5efb3f9
Orion Poplawski 5ad7b7f
* Tue Sep 15 2015 Orion Poplawski <orion@cora.nwra.com> - 3.3.0-8
Orion Poplawski 5ad7b7f
- Rebuild for openmpi 1.10.0
Orion Poplawski 5ad7b7f
77e013f
* Sat Aug 15 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.0-7
77e013f
- Rebuild for MPI provides
77e013f
647ba69
* Sun Jul 26 2015 Sandro Mani <manisandro@gmail.com> - 3.3.0-6
647ba69
- Rebuild for RPM MPI Requires Provides Change
647ba69
55d85b5
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.0-5
55d85b5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
55d85b5
fb34985
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.3.0-4
fb34985
- Rebuilt for GCC 5 C++11 ABI change
fb34985
Thomas Spura 808fcf2
* Thu Mar 12 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.3.0-3
Thomas Spura 808fcf2
- Rebuild for changed mpich libraries
Thomas Spura 8068826
- Added patch for building with cython-0.22
Thomas Spura 481c1d4
- Remove group tag
Thomas Spura 808fcf2
41ef0bb
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.0-2
41ef0bb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
41ef0bb
Thomas Spura dd56092
* Mon Aug 11 2014 Thomas Spura <tomspur@fedoraproject.org> - 3.3.0-1
Thomas Spura dd56092
- update to 3.3.0
Thomas Spura dd56092
732f86d
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.0-4
732f86d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
732f86d
Thomas Spura 5fc8faf
* Wed May 28 2014 Thomas Spura <tomspur@fedoraproject.org> - 3.2.0-3
Thomas Spura 5fc8faf
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
Thomas Spura 5fc8faf
Thomas Spura 1ee6a4b
* Sun May 25 2014 Thomas Spura <tomspur@fedoraproject.org> - 3.2.0-2
Thomas Spura 1ee6a4b
- run autoreconf in %%build to support aarch64
Thomas Spura 1ee6a4b
Thomas Spura e0fad53
* Sat May 24 2014 Thomas Spura <tomspur@fedoraproject.org> - 3.2.0-1
Thomas Spura e0fad53
- update to 3.2.0
Thomas Spura e0fad53
b552013
* Wed May 21 2014 Jaroslav Å karvada <jskarvad@redhat.com> - 3.1.1-6
b552013
- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
b552013
Deji Akingunola c33f149
* Sat Feb 22 2014 Deji Akingunola <dakingun@gmail.com> - 3.1.1-5
Deji Akingunola c33f149
- Rebuild for mpich-3.1
Deji Akingunola c33f149
79e3b4c
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.1-4
79e3b4c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
79e3b4c
Deji Akingunola a46525b
* Sat Jul 20 2013 Deji Akingunola <dakingun@gmail.com> - 3.1.1-3
Deji Akingunola a46525b
- Rename mpich2 sub-packages to mpich and rebuild for mpich-3.0
Deji Akingunola a46525b
be2624e
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.1-2
be2624e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
be2624e
Thomas Spura 136457d
* Wed Nov 14 2012 Thomas Spura <tomspur@fedoraproject.org> - 3.1.1-1
Thomas Spura 136457d
- rebuild for newer mpich2
Thomas Spura 136457d
- update to new version
Thomas Spura 136457d
- disable tk per upstream request
Thomas Spura 136457d
- drop patch
Thomas Spura 136457d
3ae5ab2
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-4
3ae5ab2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
3ae5ab2
3b2e841
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-3
3b2e841
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
3b2e841
Thomas Spura 8afca25
* Wed Oct 26 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.2-2
Thomas Spura 8afca25
- add missing BR autoconf/automake
Thomas Spura 8afca25
- use _isa where possible
Thomas Spura 8afca25
- use general tclsh shebang
Thomas Spura 8afca25
- build --with-tk
Thomas Spura 8afca25
Thomas Spura 8afca25
* Thu Oct  6 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.2-1
Thomas Spura 8afca25
- update to new version
Thomas Spura 8afca25
- introduce configure_mpi
Thomas Spura 8afca25
Thomas Spura 8afca25
* Sun Sep 25 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.1-3
Thomas Spura 8afca25
- use correct MPI_SUFFIX
Thomas Spura 8afca25
- don't install library as upstream doesn't support it anymore
Thomas Spura 8afca25
Thomas Spura 8afca25
* Sun Sep 25 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.1-2
Thomas Spura 8afca25
- correctly install into _libdir/openmpi and not _libdir/name-openmpi
Thomas Spura 8afca25
Thomas Spura 8afca25
* Fri Sep 16 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.1-1
Thomas Spura 8afca25
- initial packaging