rpms/gromacs/F-8 gromacs-configure.patch, NONE, 1.1 gromacs-README.fedora, 1.1, 1.2 gromacs.spec, 1.4, 1.5 sources, 1.4, 1.5
Jussi Lehtola
jussilehtola at fedoraproject.org
Fri May 22 09:33:45 UTC 2009
- Previous message: rpms/gromacs/F-11 gromacs-configure.patch, NONE, 1.1 gromacs-README.fedora, 1.1, 1.2 gromacs.spec, 1.11, 1.12 sources, 1.8, 1.9
- Next message: rpms/gromacs/F-9 gromacs-configure.patch, NONE, 1.1 gromacs-README.fedora, 1.1, 1.2 gromacs.spec, 1.10, 1.11 sources, 1.8, 1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jussilehtola
Update of /cvs/pkgs/rpms/gromacs/F-8
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10796/F-8
Modified Files:
gromacs-README.fedora gromacs.spec sources
Added Files:
gromacs-configure.patch
Log Message:
Update to upstream version 4.0.5. Added debug packages.
gromacs-configure.patch:
--- NEW FILE gromacs-configure.patch ---
diff -up gromacs-4.0.5/configure.orig gromacs-4.0.5/configure
--- gromacs-4.0.5/configure.orig 2009-05-22 11:59:34.000000000 +0300
+++ gromacs-4.0.5/configure 2009-05-22 12:00:14.000000000 +0300
@@ -31508,12 +31508,7 @@ AS="$CC"
# However, the non-suffixed names are linked to the _mpi and/or _d suffixed
# ones upon installation if that is the only version available.
-if test "$enable_mpi" = "yes"; then
- LIBSUFFIX="_mpi"
-fi
-if test "$enable_float" = "no"; then
- LIBSUFFIX="${LIBSUFFIX}_d"
-fi
+LIBSUFFIX="@LIBSUFFIX@"
# Unless the user has explicitly requested a prefix/suffix/transform, we
Index: gromacs-README.fedora
===================================================================
RCS file: /cvs/pkgs/rpms/gromacs/F-8/gromacs-README.fedora,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- gromacs-README.fedora 15 Oct 2008 11:35:30 -0000 1.1
+++ gromacs-README.fedora 22 May 2009 09:33:14 -0000 1.2
@@ -1,4 +1,4 @@
-Oct 12 2008
+Fri May 22 2009
Jussi Lehtola
@@ -17,3 +17,8 @@ precision.
both single and double precision versions. Single precision
versions have _mpi suffix, double precisin versions _mpi_d suffix.
For instance g_mdrun_mpi and g_mdrun_mpi_d.
+
+- Debug versions are available of all libraries and binaries with the
+_debug suffix. For instance the debug version of g_mdrun_mpi_d is
+g_mdrun_mpi_d_debug. The debug versions have been compiled without assembly
+loops, so they are much slower than the normal versions.
Index: gromacs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gromacs/F-8/gromacs.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- gromacs.spec 10 Nov 2008 08:33:58 -0000 1.4
+++ gromacs.spec 22 May 2009 09:33:14 -0000 1.5
@@ -1,13 +1,13 @@
Name: gromacs
-Version: 4.0.2
-Release: 6%{?dist}
-Summary: GROMACS binaries
+Version: 4.0.5
+Release: 1%{?dist}
+Summary: Fast, Free and Flexible Molecular Dynamics
Group: Applications/Engineering
License: GPLv2+
URL: http://www.gromacs.org
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: ftp://ftp.gromacs.org/pub/gromacs/gromacs-%{version}.tar.gz
-#Source1: ftp://ftp.gromacs.org/pub/manual/manual-%{version}.pdf
-Source1: ftp://ftp.gromacs.org/pub/beta/gromacs-4.0.pdf
+Source1: ftp://ftp.gromacs.org/pub/manual/manual-4.0.pdf
Source2: gromacs-template-makefile-single
Source3: gromacs-template-makefile-double
Source4: gromacs-template-makefile-mpi-single
@@ -16,20 +16,18 @@ Source6: gromacs-README.fedora
# Add shebangs to scripts
Patch0: gromacs-GMXRC.patch
+# Patch gmxdemo for new filenames
+Patch1: gromacs-gmxdemo.patch
+# Patch configure for the library suffix
+Patch2: gromacs-configure.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Requires: gromacs-common = %{version}-%{release}
+Requires: gromacs-common = %{version}-%{release}
BuildRequires: fftw-devel
BuildRequires: gsl-devel
BuildRequires: libxml2-devel
BuildRequires: openmpi-devel
-
-# Need to have this so that yum doesn't pull atlas instead
-Requires: blas
-Requires: lapack
-
%if 0%{?rhel} == 4
BuildRequires: blas
BuildRequires: lapack
@@ -42,19 +40,19 @@ BuildRequires: libX11-devel
# Check for mpi-selector or environment-modules
-%define selector 0
-%define modules 0
+%global selector 0
+%global modules 0
%if 0%{?fedora} > 9
-%define modules 1
+%global modules 1
%endif
%if 0%{?rhel} == 4
-%define selector 1
+%global selector 1
%endif
%if 0%{?rhel} == 5
-%define selector 1
+%global selector 1
%endif
%if %modules == 1
@@ -67,73 +65,117 @@ BuildRequires: mpi-selector
%description
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
This package provides single and double precision binaries.
The documentation is in the package gromacs-common.
-N.B. All binaries have names starting with g_, for example
-mdrun has been renamed to g_mdrun.
+N.B. All binaries have names starting with g_, for example mdrun has been
+renamed to g_mdrun.
+
+
+%package debug
+Summary: GROMACS debugging binaries without assembly loops
+Group: Applications/Engineering
+Requires: gromacs-common = %{version}-%{release}
+
+%description debug
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package provides debugging versions of single and
+double precision binaries, compiled without assembly loops.
+The documentation is in the package gromacs-common.
+You do not want this package for production purposes.
+
+N.B. All binaries have names starting with g_, for example mdrun has been
+renamed to g_mdrun.
+
%package libs
Summary: GROMACS libraries
Group: Applications/Engineering
Requires: gromacs-common = %{version}-%{release}
-# Need to have this so that yum doesn't pull atlas instead
-Requires: blas
-Requires: lapack
%description libs
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package provides runtime libraries needed for the single and double
+precision binaries.
+
+
+%package debug-libs
+Summary: GROMACS libraries without assembly loops for debugging
+Group: Applications/Engineering
+Requires: gromacs-common = %{version}-%{release}
+
+%description debug-libs
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package provides runtime libraries needed for the debugging versions of
+the single and double precision binaries.
-This package provides runtime libraries needed for the
-single and double precision binaries.
%package mpi
Summary: GROMACS MPI binaries
Group: Applications/Engineering
Requires: gromacs-common = %{version}-%{release}
-# Need to have this so that yum doesn't pull atlas instead
-Requires: blas
-Requires: lapack
%description mpi
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package provides MPI single precision and double precision binaries.
+
+
+%package debug-mpi
+Summary: GROMACS debugging MPI binaries without assembly loops
+Group: Applications/Engineering
+Requires: gromacs-common = %{version}-%{release}
-This package provides MPI single precision and double
+%description debug-mpi
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package provides debugging versions of MPI single precision and double
precision binaries.
+
%package common
Summary: GROMACS shared data and documentation
Group: Applications/Engineering
%description common
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
-This package includes architecture independent data and
-documentation.
+This package includes architecture independent data and documentation.
%package devel
@@ -143,59 +185,109 @@ Requires: gromacs-common = %{version}-%{
Requires: gromacs-libs = %{version}-%{release}
%description devel
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
-
-This package contains header files, development libraries,
-and a program example for the GROMACS molecular
-dynamics software. You need it if you want to write your
-own analysis programs.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package contains header files and development libraries for the GROMACS
+molecular dynamics software. You need it if you want to write your own analysis
+programs.
+
+
+
+%package debug-devel
+Summary: GROMACS debugging header files and development libraries
+Group: Applications/Engineering
+Requires: gromacs-common = %{version}-%{release}
+Requires: gromacs-devel = %{version}-%{release}
+Requires: gromacs-debug-libs = %{version}-%{release}
+
+%description debug-devel
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package contains header files and development libraries for the debugging
+version of the GROMACS molecular dynamics software.
+
%package mpi-devel
Summary: GROMACS MPI development libraries
Group: Applications/Engineering
Requires: gromacs-mpi-libs = %{version}-%{release}
-Requires: gromacs-devel = %{version}-%{release}
+Requires: gromacs-devel = %{version}-%{release}
# Need to have this so that yum doesn't install LAM instead
Requires: openmpi
%description mpi-devel
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
This package contains development libraries for GROMACS MPI.
You need it if you want to write your own analysis programs.
+%package debug-mpi-devel
+Summary: GROMACS debugging MPI development libraries
+Group: Applications/Engineering
+Requires: gromacs-debug-mpi-libs = %{version}-%{release}
+Requires: gromacs-debug-devel = %{version}-%{release}
+# Need to have this so that yum doesn't install LAM instead
+Requires: openmpi
+
+%description debug-mpi-devel
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package contains debugging versions of development libraries for the MPI
+version of GROMACS.
+
+
%package mpi-libs
-Summary: GROMACS libraries
+Summary: GROMACS MPI libraries
Group: Applications/Engineering
Requires: gromacs-common = %{version}-%{release}
# Need to have this so that yum doesn't install LAM instead
Requires: openmpi
-# Need to have this so that yum doesn't pull atlas instead
-Requires: blas
-Requires: lapack
%description mpi-libs
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package provides runtime libraries needed for the MPI single and double
+precision binaries.
+
+
+%package debug-mpi-libs
+Summary: GROMACS debugging MPI libraries
+Group: Applications/Engineering
+Requires: gromacs-common = %{version}-%{release}
+# Need to have this so that yum doesn't install LAM instead
+Requires: openmpi
-This package provides runtime libraries needed for the
-MPI single and double precision binaries.
+%description debug-mpi-libs
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
+
+This package provides debugging versions of runtime libraries needed for the
+debug versions of the MPI single and double precision binaries.
%package bash
@@ -204,15 +296,13 @@ Group: Applications/Engineering
Requires: bash-completion
%description bash
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
-This package provides the needed
-bash completion for GROMACS
+This package provides bash completion for GROMACS.
%package zsh
@@ -221,15 +311,14 @@ Group: Applications/Engineering
Requires: zsh
%description zsh
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
-This package provides scripts needed to run GROMACS with
-zsh, also it provides zsh completion.
+This package provides scripts needed to run GROMACS with zsh and zsh
+completion.
%package csh
@@ -238,15 +327,14 @@ Group: Applications/Engineering
Requires: csh
%description csh
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
-This package provides scripts needed to run GROMACS with
-csh and a completion script.
+This package provides scripts needed to run GROMACS with csh and a completion
+script.
%package tutor
Summary: GROMACS tutorial files
@@ -254,21 +342,22 @@ Group: Applications/Engineering
Requires: gromacs-common = %{version}-%{release}
%description tutor
-GROMACS is a versatile and extremely well optimized package
-to perform molecular dynamics computer simulations and
-subsequent trajectory analysis. It is developed for
-biomolecules like proteins, but the extremely high
-performance means it is used also in several other field
-like polymer chemistry and solid state physics.
+GROMACS is a versatile and extremely well optimized package to perform
+molecular dynamics computer simulations and subsequent trajectory analysis.
+It is developed for biomolecules like proteins, but the extremely high
+performance means it is used also in several other field like polymer chemistry
+and solid state physics.
This package provides tutorials for the use of GROMACS.
%prep
%setup -q
-%patch0 -p1
+%patch0 -p1 -b .gmxrc
+%patch1 -p1 -b .gmxdemo
+%patch2 -p1 -b .libsuffix
# Fix incorrect permission
-chmod a-x src/tools/gmx_xpm2ps.c
+#chmod a-x src/tools/gmx_xpm2ps.c
@@ -280,40 +369,71 @@ chmod a-x src/tools/gmx_xpm2ps.c
export CFLAGS="%optflags -Wa,--noexecstack -fPIC"
export LIBS="-lblas -llapack"
+# Default options, used for all compilations
+export DEFOPTS="--enable-shared --disable-static --with-external-blas \
+ --with-external-lapack --with-gsl --with-x"
+export SINGLE="--enable-float" # Single precision
+export DOUBLE="--disable-float" # Double precision
+export MPI="--enable-mpi"
+export NOASM="--disable-ia32-3dnow --disable-ia32-sse --disable-x86-64-sse \
+ --disable-ppc-altivec --disable-ia64-asm"
+
+
# Single precision
mkdir single
cd single
-ln -s ../configure .
-%configure --enable-shared \
- --disable-static --enable-float \
- --with-external-blas --with-external-lapack \
- --with-gsl --with-x
+sed "s|@LIBSUFFIX@||g" < ../configure > configure; chmod 777 configure
+%configure $DEFOPTS $SINGLE
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+make %{?_smp_mflags}
+cd ..
+
+# Single precision, debug version with no assembly loops
+mkdir single-debug
+cd single-debug
+sed "s|@LIBSUFFIX@|_debug|g" < ../configure > configure; chmod 777 configure
+%configure $DEFOPTS $SINGLE $NOASM --program-suffix="_debug"
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
cd ..
+
+
# Double precision
mkdir double
cd double
-ln -s ../configure .
-%configure --disable-rpath --enable-shared \
- --disable-static --disable-float \
- --with-external-blas --with-external-lapack \
- --with-gsl --with-x \
- --program-suffix=_d
+sed "s|@LIBSUFFIX@|_d|g" < ../configure > configure; chmod 777 configure
+%configure $DEFOPTS $DOUBLE --program-suffix="_d"
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+make %{?_smp_mflags}
+cd ..
+
+# Double precision, debug version with no assembly loops
+mkdir double-debug
+cd double-debug
+sed "s|@LIBSUFFIX@|_d_debug|g" < ../configure > configure; chmod 777 configure
+%configure $DEFOPTS $DOUBLE $NOASM --program-suffix="_d_debug"
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
cd ..
+
+
# Load MPI enviroment
%if %modules == 1
. /etc/profile.d/modules.sh
module load %{_libdir}/openmpi/*/openmpi.module
+# The module overrides CFLAGS, need to set them again..
+export CFLAGS="%optflags -Wa,--noexecstack -fPIC"
%endif
%if %selector == 1
@@ -327,12 +447,19 @@ source /etc/profile.d/mpi-selector.sh
mkdir mpi-single
cd mpi-single
-ln -s ../configure .
-%configure --enable-shared \
- --disable-static --enable-float \
- --with-external-blas --with-external-lapack \
- --with-gsl --with-x --enable-mpi \
- --program-suffix=_mpi
+sed "s|@LIBSUFFIX@|_mpi|g" < ../configure > configure; chmod 777 configure
+%configure $DEFOPTS $SINGLE $MPI --program-suffix="_mpi"
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+make %{?_smp_mflags} mdrun
+#make %{?_smp_mflags}
+cd ..
+
+mkdir mpi-single-debug
+cd mpi-single-debug
+sed "s|@LIBSUFFIX@|_mpi_debug|g" < ../configure > configure; chmod 777 configure
+%configure $DEFOPTS $SINGLE $MPI $NOASM --program-suffix="_mpi_debug"
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
@@ -340,15 +467,24 @@ make %{?_smp_mflags} mdrun
#make %{?_smp_mflags}
cd ..
+
+
# MPI, double precision
mkdir mpi-double
cd mpi-double
-ln -s ../configure .
-%configure --enable-shared \
- --disable-static --disable-float \
- --with-external-blas --with-external-lapack \
- --with-gsl --with-x --enable-mpi \
- --program-suffix=_mpi_d
+sed "s|@LIBSUFFIX@|_mpi_d|g" < ../configure > configure; chmod 777 configure
+%configure $DEFOPTS $DOUBLE $MPI --program-suffix="_mpi_d"
+sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
+sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+make %{?_smp_mflags} mdrun
+#make %{?_smp_mflags}
+cd ..
+
+mkdir mpi-double-debug
+cd mpi-double-debug
+sed "s|@LIBSUFFIX@|_mpi_d_debug|g" < ../configure > configure; chmod 777 configure
+%configure $DEFOPTS $DOUBLE $MPI $NOASM --program-suffix="_mpi_d_debug"
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
@@ -360,16 +496,39 @@ cd ..
%install
rm -rf %{buildroot}
+# 4.0.3 needs this to build in EPEL-4
+# Load MPI enviroment
+%if %modules == 1
+. /etc/profile.d/modules.sh
+module load %{_libdir}/openmpi/*/openmpi.module
+export CFLAGS="%optflags -Wa,--noexecstack -fPIC"
+%endif
+
+%if %selector == 1
+# Set MPI environment
+mpi-selector --set `mpi-selector --list | grep openmpi`
+source /etc/profile.d/mpi-selector.sh
+%endif
+
+
# Single precision
cd single
make DESTDIR=%{buildroot} INSTALL="install -p" install
cd ..
+cd single-debug
+make DESTDIR=%{buildroot} INSTALL="install -p" install
+cd ..
+
# Double precision
cd double
make DESTDIR=%{buildroot} INSTALL="install -p" install
cd ..
+cd double-debug
+make DESTDIR=%{buildroot} INSTALL="install -p" install
+cd ..
+
# MPI, single precision
@@ -377,11 +536,21 @@ cd mpi-single
make DESTDIR=%{buildroot} INSTALL="install -p" install-mdrun
cd ..
+cd mpi-single-debug
+make DESTDIR=%{buildroot} INSTALL="install -p" install-mdrun
+cd ..
+
+
# MPI, double precision
cd mpi-double
make DESTDIR=%{buildroot} INSTALL="install -p" install-mdrun
cd ..
+cd mpi-double-debug
+make DESTDIR=%{buildroot} INSTALL="install -p" install-mdrun
+cd ..
+
+
# Install manual & packager's note
install -cpm 644 %{SOURCE1} .
install -cpm 644 %{SOURCE6} README.fedora
@@ -402,7 +571,9 @@ chmod a+x %{buildroot}%{_bindir}/GMXRC %
# (This is done here so that we don't need to mess with machine generated makefiles.
for bin in anadock do_dssp editconf eneconv genbox genconf genion genrestr gmxcheck gmxdump grompp highway luck make_edi make_ndx mdrun mk_angndx ngmx pdb2gmx protonate sigeps tpbconv trjcat trjconv trjorder wheel x2top xpm2ps xrama ; do
mv %{buildroot}%{_bindir}/${bin} %{buildroot}%{_bindir}/g_${bin}
+mv %{buildroot}%{_bindir}/${bin}_debug %{buildroot}%{_bindir}/g_${bin}_debug
mv %{buildroot}%{_bindir}/${bin}_d %{buildroot}%{_bindir}/g_${bin}_d
+mv %{buildroot}%{_bindir}/${bin}_d_debug %{buildroot}%{_bindir}/g_${bin}_d_debug
done
for bin in demux.pl xplor2gmx.pl; do
@@ -413,7 +584,9 @@ done
# the possibility to compile all mpi-enabled files
for mpibin in mdrun; do
mv %{buildroot}%{_bindir}/${mpibin}_mpi %{buildroot}%{_bindir}/g_${mpibin}_mpi
+mv %{buildroot}%{_bindir}/${mpibin}_mpi_debug %{buildroot}%{_bindir}/g_${mpibin}_mpi_debug
mv %{buildroot}%{_bindir}/${mpibin}_mpi_d %{buildroot}%{_bindir}/g_${mpibin}_mpi_d
+mv %{buildroot}%{_bindir}/${mpibin}_mpi_d_debug %{buildroot}%{_bindir}/g_${mpibin}_mpi_d_debug
done
# Man pages
@@ -442,10 +615,19 @@ rm -rf %{buildroot}/%{_libdir}/*.la
%postun libs -p /sbin/ldconfig
+%post debug-libs -p /sbin/ldconfig
+
+%postun debug-libs -p /sbin/ldconfig
+
%post mpi-libs -p /sbin/ldconfig
%postun mpi-libs -p /sbin/ldconfig
+%post debug-mpi-libs -p /sbin/ldconfig
+
+%postun debug-mpi-libs -p /sbin/ldconfig
+
+
%clean
rm -rf %{buildroot}
@@ -458,10 +640,16 @@ rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_bindir}/*
-%exclude %{_bindir}/g_mdrun_mpi
-%exclude %{_bindir}/g_mdrun_mpi_d
+%exclude %{_bindir}/*_debug
+%exclude %{_bindir}/g_mdrun_mpi*
%exclude %{_bindir}/GMXRC*
+%files debug
+%defattr(-,root,root,-)
+%{_bindir}/*_debug
+%exclude %{_bindir}/g_mdrun_mpi_debug
+%exclude %{_bindir}/g_mdrun_mpi_d_debug
+
%files libs
%defattr(-,root,root,-)
%{_libdir}/libgmx.so.*
@@ -471,11 +659,25 @@ rm -rf %{buildroot}
%{_libdir}/libmd.so.*
%{_libdir}/libmd_d.so.*
+%files debug-libs
+%defattr(-,root,root,-)
+%{_libdir}/libgmx_debug.so.*
+%{_libdir}/libgmx_d_debug.so.*
+%{_libdir}/libgmxana_debug.so.*
+%{_libdir}/libgmxana_d_debug.so.*
+%{_libdir}/libmd_debug.so.*
+%{_libdir}/libmd_d_debug.so.*
+
+
%files mpi
%defattr(-,root,root,-)
%{_bindir}/g_mdrun_mpi
%{_bindir}/g_mdrun_mpi_d
+%files debug-mpi
+%defattr(-,root,root,-)
+%{_bindir}/g_mdrun_mpi_debug
+%{_bindir}/g_mdrun_mpi_d_debug
%files mpi-libs
%defattr(-,root,root,-)
@@ -484,11 +686,17 @@ rm -rf %{buildroot}
%{_libdir}/libmd_mpi.so.*
%{_libdir}/libmd_mpi_d.so.*
+%files debug-mpi-libs
+%defattr(-,root,root,-)
+%{_libdir}/libgmx_mpi_debug.so.*
+%{_libdir}/libgmx_mpi_d_debug.so.*
+%{_libdir}/libmd_mpi_debug.so.*
+%{_libdir}/libmd_mpi_d_debug.so.*
%files common
%defattr(-,root,root,-)
-%doc AUTHORS COPYING README gromacs-4.0.pdf README.fedora
+%doc AUTHORS COPYING README manual-4.0.pdf README.fedora
%{_bindir}/GMXRC
%{_bindir}/GMXRC.bash
%{_mandir}/man1/*
@@ -508,6 +716,15 @@ rm -rf %{buildroot}
%{_datadir}/%{name}/template
%exclude %{_datadir}/%{name}/template/Makefile.mpi.*
+%files debug-devel
+%defattr(-,root,root,-)
+%{_libdir}/libgmx_debug.so
+%{_libdir}/libgmx_d_debug.so
+%{_libdir}/libgmxana_debug.so
+%{_libdir}/libgmxana_d_debug.so
+%{_libdir}/libmd_debug.so
+%{_libdir}/libmd_d_debug.so
+
%files mpi-devel
%defattr(-,root,root,-)
%{_libdir}/libgmx_mpi.so
@@ -516,6 +733,13 @@ rm -rf %{buildroot}
%{_libdir}/libmd_mpi_d.so
%{_datadir}/%{name}/template/Makefile.mpi.*
+%files debug-mpi-devel
+%defattr(-,root,root,-)
+%{_libdir}/libgmx_mpi_debug.so
+%{_libdir}/libgmx_mpi_d_debug.so
+%{_libdir}/libmd_mpi_debug.so
+%{_libdir}/libmd_mpi_d_debug.so
+
%files zsh
%defattr(-,root,root,-)
@@ -538,56 +762,80 @@ rm -rf %{buildroot}
%changelog
-* Mon Nov 10 2008 Jussi Lehtola - 4.0.2-6
+* Fri May 22 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.5-1
+- Update to 4.0.5.
+- Change spec %%defines to %%globals.
+- Add debug subpackages to make debugging of GROMACS possible.
+
+* Tue Feb 17 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.4-1
+- Update to 4.0.4.
+
+* Mon Jan 19 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.3-4
+- Retry fixing gmxdemo.
+
+* Mon Jan 19 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.3-3
+- Fixed gmxdemo.
+
+* Mon Jan 19 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.3-2
+- Fix EPEL 4 build.
+
+* Mon Jan 19 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.3-1
+- Update to 4.0.3.
+
+* Wed Jan 14 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.2-7
+- Update manual to latest version.
+- Removed Requires: blas and lapack.
+
+* Mon Nov 10 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.2-6
- Update to 4.0.2.
-* Sun Nov 09 2008 Jussi Lehtola - 4.0.1-5
+* Sun Nov 09 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.1-5
- Add Requires: blas too.
-* Sun Nov 09 2008 Jussi Lehtola - 4.0.1-4
+* Sun Nov 09 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.1-4
- Update to 4.0.1.
- Add Requires: lapack and openmpi to prevent yum from pulling atlas and lam
instead.
-* Wed Oct 15 2008 Jussi Lehtola - 4.0-3
+* Wed Oct 15 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-3
- Rename also man pages.
-* Mon Oct 13 2008 Jussi Lehtola - 4.0-2
+* Mon Oct 13 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-2
- Added noreplace to bash completion file.
- Changed double precision mpi binary suffix to _mpi_d.
-* Sun Oct 12 2008 Jussi Lehtola - 4.0-1
+* Sun Oct 12 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-1
- Update to Gromacs 4.0.
- Remove module system and patch file names to begin with g_.
-* Wed Oct 08 2008 Jussi Lehtola - 4.0-0.15.rc3
+* Wed Oct 08 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.15.rc3
- Changed location of binaries.
- Removed conflict of module file, as the program is binary compatible with older versions.
-* Wed Oct 08 2008 Jussi Lehtola - 4.0-0.14.rc3
+* Wed Oct 08 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.14.rc3
- The gromacs module is loaded automatically and it conflicts with gromacs3.
-* Tue Oct 07 2008 Jussi Lehtola - 4.0-0.13.rc3
+* Tue Oct 07 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.13.rc3
- Renamed module files from %%{name}-%%{version} to %%{name}.
-* Mon Oct 06 2008 Jussi Lehtola - 4.0-0.12.rc3
+* Mon Oct 06 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.12.rc3
- Fix BR to get GROMACS to build in mock for epel-4.
-* Sat Oct 04 2008 Jussi Lehtola - 4.0-0.11.rc3
+* Sat Oct 04 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.11.rc3
- Fix to get GROMACS to build in mock for epel-5.
-* Sat Oct 04 2008 Jussi Lehtola - 4.0-0.10.rc3
+* Sat Oct 04 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.10.rc3
- Implement module system & remove binary renaming.
- No need for autoreconf anymore.
- Update to rc3.
-* Sat Oct 04 2008 Jussi Lehtola - 4.0-0.9.rc2
+* Sat Oct 04 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.9.rc2
- Fall back to autoreconf due to binary renaming.
-* Fri Oct 03 2008 Jussi Lehtola - 4.0-0.8.rc2
+* Fri Oct 03 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.8.rc2
- Modified install commands to preserve timestamps.
-* Fri Oct 03 2008 Jussi Lehtola - 4.0-0.7.rc2
+* Fri Oct 03 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.7.rc2
- Even more review fixes.
- Binaries renamed:
highway -> g_highway
@@ -595,31 +843,31 @@ instead.
sigeps -> g_sigeps
wheel -> g_wheel
-* Thu Oct 02 2008 Jussi Lehtola - 4.0-0.6.rc2
+* Thu Oct 02 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.6.rc2
- Final review fixes.
-* Wed Oct 01 2008 Jussi Lehtola - 4.0-0.5.rc2
+* Wed Oct 01 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.5.rc2
- Strip down requires by branching tutor to its own package.
-* Tue Sep 30 2008 Jussi Lehtola - 4.0-0.4.rc2
+* Tue Sep 30 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.4.rc2
- Extensive package review fixes.
- Unclear licenses on some files, filed upstream bug 217.
http://bugzilla.gromacs.org/show_bug.cgi?id=217
-* Mon Sep 29 2008 Jussi Lehtola - 4.0-0.3.rc2
+* Mon Sep 29 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.3.rc2
- Move .so files to -devel package.
- Remove .la files.
-* Mon Sep 29 2008 Jussi Lehtola - 4.0-0.2.rc2
+* Mon Sep 29 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.2.rc2
- Implement out-of-tree-builds.
- Add --noexecstack to CFLAGS.
- Remove execstack procedure and prelink from buildreqs.
- Filed upstream bug 215 to add .note.GNU-stack .
- Fix incorrect file permission on src/tools/gmx_xpm2ps.c .
-* Mon Sep 29 2008 Jussi Lehtola - 4.0-0.1.rc2
+* Mon Sep 29 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.1.rc2
- Alphabetized buildrequires.
- Changed gromacs-share to gromacs-common.
-* Fri Sep 26 2008 Jussi Lehtola - 4.0-0.0.rc2
+* Fri Sep 26 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.0.rc2
- Initial build.
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gromacs/F-8/sources,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- sources 10 Nov 2008 08:33:59 -0000 1.4
+++ sources 22 May 2009 09:33:14 -0000 1.5
@@ -1,2 +1,2 @@
-7a7680983a3a6fcc06b2817c6ab614fc gromacs-4.0.pdf
-7a9eedf9ef365d32cd01355b8950ddc5 gromacs-4.0.2.tar.gz
+2b6565bef76109a579c39ec1dcb0ecf2 manual-4.0.pdf
+2db2261852a4d3a97547979f379dee94 gromacs-4.0.5.tar.gz
- Previous message: rpms/gromacs/F-11 gromacs-configure.patch, NONE, 1.1 gromacs-README.fedora, 1.1, 1.2 gromacs.spec, 1.11, 1.12 sources, 1.8, 1.9
- Next message: rpms/gromacs/F-9 gromacs-configure.patch, NONE, 1.1 gromacs-README.fedora, 1.1, 1.2 gromacs.spec, 1.10, 1.11 sources, 1.8, 1.9
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list