summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--espresso/espresso-7a9ac7414721b40d7d4eaf286b5ae6c18e28f325.tar.gzbin0 -> 23619640 bytes
-rw-r--r--espresso/espresso.spec290
-rw-r--r--espresso/python_instdir.patch15
3 files changed, 305 insertions, 0 deletions
diff --git a/espresso/espresso-7a9ac7414721b40d7d4eaf286b5ae6c18e28f325.tar.gz b/espresso/espresso-7a9ac7414721b40d7d4eaf286b5ae6c18e28f325.tar.gz
new file mode 100644
index 0000000..1cac802
--- /dev/null
+++ b/espresso/espresso-7a9ac7414721b40d7d4eaf286b5ae6c18e28f325.tar.gz
Binary files differ
diff --git a/espresso/espresso.spec b/espresso/espresso.spec
new file mode 100644
index 0000000..6b0a971
--- /dev/null
+++ b/espresso/espresso.spec
@@ -0,0 +1,290 @@
+%global git 1
+%global commit 7a9ac7414721b40d7d4eaf286b5ae6c18e28f325
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+
+%if 0%{?fedora} > 12 || 0%{?rhel} > 6
+%global with_python3 1
+%else
+%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
+%endif
+
+### TESTSUITE ###
+# The testsuite currently fails only on the buildsystem, but works localy.
+# So to easy enable/disable the testsuite, I introduce the following
+# variables:
+#
+# * MPICH: if '1' enable mpich
+# * OPENMPI: if '1' enable openmpi
+%global MPICH 1
+%global OPENMPI 1
+
+Name: espresso
+Version: 4.0
+Release: 0.1.20170220git%{shortcommit}%{?dist}
+Summary: Extensible Simulation Package for Research on Soft matter
+
+License: GPLv3+
+URL: http://espressomd.org
+%if %{git}
+Source0: https://github.com/%{name}md/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
+%else
+Source0: http://download.savannah.gnu.org/releases/espressomd/espresso-%{version}.tar.gz
+%endif
+Patch0: python_instdir.patch
+
+BuildRequires: cmake
+BuildRequires: Cython
+BuildRequires: fftw-devel
+BuildRequires: numpy
+BuildRequires: python-devel
+BuildRequires: boost-devel
+BuildRequires: boost-mpich-devel
+BuildRequires: boost-openmpi-devel
+
+Requires: numpy
+
+Requires: %{name}-common = %{version}-%{release}
+
+%description
+ESPResSo can perform Molecular Dynamics simulations of bead-spring models
+in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
+ESPResSo contains a number of advanced algorithms, e.g.
+ * DPD thermostat (for hydrodynamics)
+ * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
+ * Lattice-Boltzmann for hydrodynamics
+
+%package common
+Summary: Common files for %{name} packages
+BuildArch: noarch
+Requires: %{name}-common = %{version}-%{release}
+%description common
+ESPResSo can perform Molecular Dynamics simulations of bead-spring models
+in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
+ESPResSo contains a number of advanced algorithms, e.g.
+ * DPD thermostat (for hydrodynamics)
+ * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
+ * Lattice-Boltzmann for hydrodynamics
+This package contains the license file and data files shard between the
+subpackages of %{name}.
+
+%package -n python2-%{name}-openmpi
+Requires: %{name}-common = %{version}-%{release}
+Summary: Extensible Simulation Package for Research on Soft matter
+Provides: %{name}-openmpi = %{version}-%{release}
+Obsoletes: %{name}-openmpi < 3.3.0-12
+%description -n python2-%{name}-openmpi
+ESPResSo can perform Molecular Dynamics simulations of bead-spring models
+in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
+ESPResSo contains a number of advanced algorithms, e.g.
+ * DPD thermostat (for hydrodynamics)
+ * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
+ * Lattice-Boltzmann for hydrodynamics
+
+This package contains %{name} compiled against Open MPI.
+
+
+%package -n python2-%{name}-mpich
+Requires: %{name}-common = %{version}-%{release}
+Summary: Extensible Simulation Package for Research on Soft matter
+Provides: %{name}-mpich2 = %{version}-%{release}
+Obsoletes: %{name}-mpich2 < 3.1.1-3
+Provides: %{name}-mpich = %{version}-%{release}
+Obsoletes: %{name}-mpich < 3.3.0-12
+%description -n python2-%{name}-mpich
+ESPResSo can perform Molecular Dynamics simulations of bead-spring models
+in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).
+ESPResSo contains a number of advanced algorithms, e.g.
+ * DPD thermostat (for hydrodynamics)
+ * P3M, MMM2D, MMM1D, ELC for electrostatic interactions
+ * Lattice-Boltzmann for hydrodynamics
+
+This package contains %{name} compiled against MPICH2.
+
+
+%prep
+%if %{git}
+%setup -q -n espresso-%{commit}
+%else
+%setup -q
+%endif
+%patch0 -p0
+mkdir openmpi_build mpich_build
+
+%build
+%global defopts \\\
+ -DWITH_PYTHON=ON \\\
+ -DWITH_TESTS=ON \\\
+ -DWITH_SCAFACOS=ON \\\
+ -DINSTALL_PYPRESSO=OFF
+
+# Build OpenMPI version
+#see #756141 to understand why MPI_C_LIBRARIES needs to be set
+%{_openmpi_load}
+pushd openmpi_build
+%{cmake} \
+ %{defopts} \
+ -DLIBDIR=${MPI_LIB} \
+ -DPYTHON_INSTDIR=${MPI_PYTHON2_SITEARCH} \
+ -DMPI_C_LIBRARIES=${MPI_LIB}/libmpi.so \
+ ..
+%make_build
+popd
+%{_openmpi_unload}
+
+# Build mpich version
+%{_mpich_load}
+pushd mpich_build
+%{cmake} \
+ %{defopts} \
+ -DLIBDIR=${MPI_LIB} \
+ -DPYTHON_INSTDIR=${MPI_PYTHON2_SITEARCH} \
+ -DMPI_C_LIBRARIES=${MPI_LIB}/libmpi.so \
+ ..
+%make_build
+popd
+%{_mpich_unload}
+
+%install
+# first install mpi files and move around because MPI_SUFFIX above doesn't
+# work yet (will be fixed in a new version)
+%{_openmpi_load}
+pushd openmpi_build
+%make_install
+popd
+%{_openmpi_unload}
+
+%{_mpich_load}
+pushd mpich_build
+%make_install
+popd
+%{_mpich_unload}
+
+%check
+# test openmpi?
+%if 0%{?OPENMPI}
+%{_openmpi_load}
+pushd openmpi_build
+make check || cat testsuite/runtest.log || :
+popd
+%{_openmpi_unload}
+%endif
+
+# test mpich?
+%if 0%{?MPICH}
+%{_mpich_load}
+pushd mpich_build
+make check || cat testsuite/runtest.log || :
+popd
+%{_mpich_unload}
+%endif
+
+%files common
+%doc AUTHORS README NEWS ChangeLog
+%license COPYING
+
+%files -n python2-%{name}-openmpi
+%{_libdir}/openmpi/lib*
+%{python_sitearch}/openmpi/%{name}md
+
+%files -n python2-%{name}-mpich
+%{_libdir}/mpich/lib*
+%{python_sitearch}/mpich/%{name}md
+
+%changelog
+* Thu Feb 16 2017 Christoph Junghans <junghans@votca.org> - 4.0-0.1.20170220git7a9ac74
+- Bump to version 4.0 git version
+- Drop cypthon patch, incl. upstream
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Oct 21 2016 Orion Poplawski <orion@cora.nwra.com> - 3.3.0-10
+- Rebuild for openmpi 2.0
+
+* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.0-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Tue Sep 15 2015 Orion Poplawski <orion@cora.nwra.com> - 3.3.0-8
+- Rebuild for openmpi 1.10.0
+
+* Sat Aug 15 2015 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.3.0-7
+- Rebuild for MPI provides
+
+* Sun Jul 26 2015 Sandro Mani <manisandro@gmail.com> - 3.3.0-6
+- Rebuild for RPM MPI Requires Provides Change
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.0-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.3.0-4
+- Rebuilt for GCC 5 C++11 ABI change
+
+* Thu Mar 12 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.3.0-3
+- Rebuild for changed mpich libraries
+- Added patch for building with cython-0.22
+- Remove group tag
+
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.0-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Mon Aug 11 2014 Thomas Spura <tomspur@fedoraproject.org> - 3.3.0-1
+- update to 3.3.0
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.0-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Wed May 28 2014 Thomas Spura <tomspur@fedoraproject.org> - 3.2.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
+
+* Sun May 25 2014 Thomas Spura <tomspur@fedoraproject.org> - 3.2.0-2
+- run autoreconf in %%build to support aarch64
+
+* Sat May 24 2014 Thomas Spura <tomspur@fedoraproject.org> - 3.2.0-1
+- update to 3.2.0
+
+* Wed May 21 2014 Jaroslav Å karvada <jskarvad@redhat.com> - 3.1.1-6
+- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86
+
+* Sat Feb 22 2014 Deji Akingunola <dakingun@gmail.com> - 3.1.1-5
+- Rebuild for mpich-3.1
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Sat Jul 20 2013 Deji Akingunola <dakingun@gmail.com> - 3.1.1-3
+- Rename mpich2 sub-packages to mpich and rebuild for mpich-3.0
+
+* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Wed Nov 14 2012 Thomas Spura <tomspur@fedoraproject.org> - 3.1.1-1
+- rebuild for newer mpich2
+- update to new version
+- disable tk per upstream request
+- drop patch
+
+* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.0.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Wed Oct 26 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.2-2
+- add missing BR autoconf/automake
+- use _isa where possible
+- use general tclsh shebang
+- build --with-tk
+
+* Thu Oct 6 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.2-1
+- update to new version
+- introduce configure_mpi
+
+* Sun Sep 25 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.1-3
+- use correct MPI_SUFFIX
+- don't install library as upstream doesn't support it anymore
+
+* Sun Sep 25 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.1-2
+- correctly install into _libdir/openmpi and not _libdir/name-openmpi
+
+* Fri Sep 16 2011 Thomas Spura <tomspur@fedoraproject.org> - 3.0.1-1
+- initial packaging
diff --git a/espresso/python_instdir.patch b/espresso/python_instdir.patch
new file mode 100644
index 0000000..a0d94d4
--- /dev/null
+++ b/espresso/python_instdir.patch
@@ -0,0 +1,15 @@
+--- CMakeLists.txt.orig 2017-02-21 13:53:45.796675455 -0700
++++ CMakeLists.txt 2017-02-21 14:18:21.398030293 -0700
+@@ -128,9 +128,11 @@
+ -c "import distutils.sysconfig as cg; print(cg.get_python_inc())"
+ OUTPUT_VARIABLE PYTHON_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
+ find_package(NumPy REQUIRED)
+- execute_process(COMMAND ${PYTHON_EXECUTABLE}
++ if(NOT PYTHON_INSTDIR)
++ execute_process(COMMAND ${PYTHON_EXECUTABLE}
+ -c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_EXEC_PREFIX}'))"
+ OUTPUT_VARIABLE PYTHON_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
++ endif(NOT PYTHON_INSTDIR)
+ if(PYTHON_VERSION_MAJOR EQUAL 2)
+ set(CYTHON_FLAGS "-2" CACHE STRING "Flags used by the Cython compiler during all build types.")
+ else()