[gromacs/el5/master] Update to 4.5.1.

Jussi Lehtola jussilehtola at fedoraproject.org
Sat Oct 9 19:35:03 UTC 2010


commit 298cae93b645e2e6a9053aa1799561198cee3aa2
Author: Jussi Lehtola <jussilehtola at fedoraproject.org>
Date:   Sat Oct 9 22:35:08 2010 +0300

    Update to 4.5.1.

 gromacs.spec |  682 +++++++++++++++++-----------------------------------------
 sources      |    4 +-
 2 files changed, 195 insertions(+), 491 deletions(-)
---
diff --git a/gromacs.spec b/gromacs.spec
index c12a666..a2af599 100644
--- a/gromacs.spec
+++ b/gromacs.spec
@@ -1,5 +1,5 @@
 Name:		gromacs
-Version:	4.0.7
+Version:	4.5.1
 Release:	1%{?dist}
 Summary:	Fast, Free and Flexible Molecular Dynamics
 Group:		Applications/Engineering
@@ -7,7 +7,8 @@ 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-4.0.pdf
+# File gotten from http://www.gromacs.org/@api/deki/files/126/=gromacs_manual-4.5.pdf
+Source1:	manual-4.5.pdf
 Source2:	gromacs-template-makefile-single
 Source3:	gromacs-template-makefile-double
 Source4:	gromacs-template-makefile-mpi-single
@@ -18,51 +19,25 @@ Source6:	gromacs-README.fedora
 Patch0:		gromacs-GMXRC.patch
 # Patch gmxdemo for new filenames
 Patch1:		gromacs-gmxdemo.patch
-# Patch configure for the library suffix
-Patch2:		gromacs-configure.patch
-
-Requires:	gromacs-common = %{version}-%{release}
 
+BuildRequires:	cmake
 BuildRequires:	fftw-devel
 BuildRequires:	gsl-devel
 BuildRequires:	libxml2-devel
-BuildRequires:	openmpi-devel
 
 %if 0%{?rhel} == 4
-BuildRequires:	blas
-BuildRequires:	lapack
-BuildRequires:	xorg-x11-devel
+BuildRequires:  blas
+BuildRequires:  lapack
+BuildRequires:  xorg-x11-devel
 %else
-BuildRequires:	blas-devel
-BuildRequires:	lapack-devel
+BuildRequires:	atlas-devel
 BuildRequires:	libX11-devel
 %endif
 
-# Check for mpi-selector or environment-modules
-
-%global selector 0
-%global modules 0
-
-%if 0%{?fedora} > 9
-%global modules 1
-%endif
-
-%if 0%{?rhel} == 4
-%global selector 1
-%endif
-
-%if 0%{?rhel} == 5
-%global selector 1
-%endif
-
-%if %modules == 1
-BuildRequires:	environment-modules
-%endif
-
-%if %selector == 1
-BuildRequires:	mpi-selector
-%endif
-
+Requires:	gromacs-common = %{version}-%{release}
+Obsoletes:	gromacs-libs < %{version}-%{release}
+# No more debug version of packages
+Obsoletes:	gromacs-debug < %{version}-%{release}
 
 %description
 GROMACS is a versatile and extremely well optimized package to perform
@@ -74,99 +49,20 @@ 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.
-
-
-%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.
+mdrun has been compiled with thread parallellization, so it runs in parallel
+on shared memory systems. If you want to run on a cluster, you probably want
+to install one of the MPI parallellized packages.
 
 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}
-
-%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.
-
-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.
-
-
-
-%package mpi
-Summary:	GROMACS MPI binaries
-Group:		Applications/Engineering
-Requires:	gromacs-common = %{version}-%{release}
-
-%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.
-
-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}
-
-%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
+BuildArch:	noarch
+# Due to switch to noarch package
+Obsoletes:	gromacs-common < %{version}-%{release}
 
 %description common
 GROMACS is a versatile and extremely well optimized package to perform
@@ -181,8 +77,7 @@ This package includes architecture independent data and documentation.
 %package devel
 Summary:	GROMACS header files and development libraries
 Group:		Applications/Engineering
-Requires:	gromacs-common = %{version}-%{release}
-Requires:	gromacs-libs = %{version}-%{release}
+Requires:	gromacs = %{version}-%{release}
 
 %description devel
 GROMACS is a versatile and extremely well optimized package to perform
@@ -196,104 +91,55 @@ 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
+%package openmpi
+Summary:	GROMACS Open MPI binaries and libraries
 Group:		Applications/Engineering
+Obsoletes:	gromacs-mpi < %{version}-%{release}
+Obsoletes:	gromacs-mpi-libs < %{version}-%{release}
 Requires:	gromacs-common = %{version}-%{release}
-Requires:	gromacs-devel = %{version}-%{release}
-Requires:	gromacs-debug-libs = %{version}-%{release}
+BuildRequires:	mpiwrappers-openmpi-devel
+Requires:	mpiwrappers-openmpi
 
-%description debug-devel
+%description openmpi
 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.
-
+mdrun has been compiled with thread parallellization (for running on
+a single node) and with Open MPI (for running on multiple nodes).
+This package single and double precision binaries and libraries.
 
 
-%package mpi-devel
-Summary:	GROMACS MPI development libraries
+%package openmpi-devel
+Summary:	GROMACS Open MPI development libraries
 Group:		Applications/Engineering
-Requires:	gromacs-mpi-libs = %{version}-%{release}
+Obsoletes:	gromacs-mpi-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.
-
-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 MPI libraries
-Group:		Applications/Engineering
-Requires:	gromacs-common = %{version}-%{release}
-# Need to have this so that yum doesn't install LAM instead
-Requires:	openmpi
-
-%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.
-
-This package provides runtime libraries needed for the MPI single and double
-precision binaries.
+Requires:	gromacs-openmpi = %{version}-%{release}
+Requires:	mpiwrappers-openmpi-devel
 
 
-%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
-
-%description debug-mpi-libs
+%description openmpi-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 provides debugging versions of runtime libraries needed for the
-debug versions of the MPI single and double precision binaries.
+This package contains development libraries for GROMACS Open MPI.
+You may need it if you want to write your own analysis programs.
 
 
 %package bash
 Summary:	GROMACS bash completion
 Group:		Applications/Engineering
 Requires:	bash-completion
+BuildArch:	noarch
+# Due to switch to noarch package
+Obsoletes:	gromacs-bash < %{version}-%{release}
+
 
 %description bash
 GROMACS is a versatile and extremely well optimized package to perform
@@ -309,6 +155,10 @@ This package provides bash completion for GROMACS.
 Summary:	GROMACS zsh support
 Group:		Applications/Engineering
 Requires:	zsh
+BuildArch:	noarch
+# Due to switch to noarch package
+Obsoletes:	gromacs-zsh < %{version}-%{release}
+
 
 %description zsh
 GROMACS is a versatile and extremely well optimized package to perform
@@ -325,6 +175,10 @@ completion.
 Summary:	GROMACS csh support
 Group:		Applications/Engineering
 Requires:	csh
+BuildArch:	noarch
+# Due to switch to noarch package
+Obsoletes:	gromacs-csh < %{version}-%{release}
+
 
 %description csh
 GROMACS is a versatile and extremely well optimized package to perform
@@ -340,6 +194,9 @@ script.
 Summary:	GROMACS tutorial files
 Group:		Applications/Engineering
 Requires:	gromacs-common = %{version}-%{release}
+BuildArch:	noarch
+# Due to switch to noarch package
+Obsoletes:	gromacs-tutor < %{version}-%{release}
 
 %description tutor
 GROMACS is a versatile and extremely well optimized package to perform
@@ -351,14 +208,9 @@ and solid state physics.
 This package provides tutorials for the use of GROMACS.
 
 %prep
-%setup -q
+%setup -q 
 %patch0 -p1 -b .gmxrc
 %patch1 -p1 -b .gmxdemo
-%patch2 -p1 -b .libsuffix
-
-# Fix incorrect permission
-#chmod a-x src/tools/gmx_xpm2ps.c
-
 
 
 %build
@@ -367,189 +219,103 @@ This package provides tutorials for the use of GROMACS.
 # Add noexecstack to compiler flags
 
 export CFLAGS="%optflags -Wa,--noexecstack -fPIC"
-export LIBS="-lblas -llapack"
+export LIBS="-L%{_libdir}/atlas -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"
+export DEFOPTS="-D BUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_BUILD_RPATH:BOOL=ON"
+# If you want to build a debug version, add -D GMX_ACCELERATION=OFF to the flags above
+
+export SINGLE="-D GMX_DOUBLE=OFF" # Single precision
+export DOUBLE="-D GMX_DOUBLE=ON" # Double precision
+export MPI="-D GMX_MPI=ON"
 
 
 # Single precision
 mkdir single
 cd single
-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}
+%cmake $DEFOPTS $SINGLE ..
+make VERBOSE=1 %{?_smp_mflags}
 cd ..
 
-
-
 # Double precision
 mkdir double
 cd double
-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}
+%cmake $DEFOPTS $DOUBLE ..
+make VERBOSE=1 %{?_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
-# Set MPI environment
-mpi-selector --set `mpi-selector --list | grep openmpi`
-source /etc/profile.d/mpi-selector.sh
-%endif
-
-
-# MPI, single precision
-
-mkdir mpi-single
-cd mpi-single
-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}
+### MPI versions
+export CC=mpicc
+export CXX=mpicxx
+export F77=mpif77
+export F90=mpif90
+export FC=mpif90
+
+## Open MPI
+%{_openmpi_load}
+# Suffix to be used for single precision is
+SUFFIXCONF="-D GMX_DEFAULT_SUFFIX=OFF -D GMX_BINARY_SUFFIX=$SUFFIX -D GMX_LIBS_SUFFIX=${MPI_SUFFIX}"
+# single precision
+mkdir openmpi-single
+cd openmpi-single
+%cmake $DEFOPTS $SINGLE $MPI $SUFFIXCONF ..
+make VERBOSE=1 %{?_smp_mflags} mdrun
 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
-
-make %{?_smp_mflags} mdrun
-#make %{?_smp_mflags}
+# double precision
+# Suffix to be used for double precision is
+SUFFIXCONF="-D GMX_DEFAULT_SUFFIX=OFF -D GMX_BINARY_SUFFIX=$SUFFIX -D GMX_LIBS_SUFFIX=${MPI_SUFFIX}_d"
+mkdir openmpi-double
+cd openmpi-double
+%cmake $DEFOPTS $DOUBLE $MPI $SUFFIXCONF ..
+make VERBOSE=1 %{?_smp_mflags} mdrun
 cd ..
+# unload
+%{_openmpi_unload}
 
 
+%install
+rm -rf %{buildroot}
 
-# MPI, double precision
-mkdir mpi-double
-cd mpi-double
-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}
+## Open MPI
+%{_openmpi_load}
+# Make install-mdrun target is broken, do install manually
+mkdir -p %{buildroot}%{_libdir}/openmpi/{bin,lib}
+# single precision
+cd openmpi-single
+install -p -m 755 src/kernel/mdrun %{buildroot}%{_libdir}/openmpi/bin/g_mdrun_openmpi
+cp -a src/*/*.so* %{buildroot}%{_libdir}/openmpi/lib/
 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
-
-make %{?_smp_mflags} mdrun
-#make %{?_smp_mflags}
+# double precision
+cd openmpi-double
+install -p -m 755 src/kernel/mdrun %{buildroot}%{_libdir}/openmpi/bin/g_mdrun_openmpi_d
+cp -a src/*/*.so* %{buildroot}%{_libdir}/openmpi/lib/
 cd ..
+%{_openmpi_unload}
 
 
-%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
-
+## Serial versions
 
 # 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
-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 ..
+## Now, the rest of the necessary stuff
 
+# Fix location of libraries
+%ifarch x86_64 sparc64
+mv %{buildroot}/usr/lib/*.so* %{buildroot}%{_libdir}/
+# and pkgconfig files
+mkdir -p %{buildroot}%{_libdir}/pkgconfig/
+mv %{buildroot}/usr/lib/pkgconfig/* %{buildroot}%{_libdir}/pkgconfig/
+%endif
 
 # Install manual & packager's note
 install -cpm 644 %{SOURCE1} .
@@ -563,36 +329,26 @@ install -cpm 644 %{SOURCE3} %{buildroot}%{_datadir}/%{name}/template/Makefile.do
 install -cpm 644 %{SOURCE4} %{buildroot}%{_datadir}/%{name}/template/Makefile.mpi.single
 install -cpm 644 %{SOURCE5} %{buildroot}%{_datadir}/%{name}/template/Makefile.mpi.double
 
-
 # Fix GMXRC file permissions
 chmod a+x %{buildroot}%{_bindir}/GMXRC %{buildroot}%{_bindir}/GMXRC.*
 
 # Rename binaries and man pages to prevent clashes
 # (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 
+#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 
+for bin in do_dssp editconf eneconv genbox genconf genion genrestr gmxcheck gmxdump grompp make_edi make_ndx mdrun mk_angndx pdb2gmx tpbconv trjcat trjconv trjorder xpm2ps; 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
 mv %{buildroot}%{_bindir}/$bin %{buildroot}%{_bindir}/g_${bin}
 done
 
-# MPI-enabled binaries (list will continue when the makefile has
-# 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
-for bin in anadock do_dssp editconf eneconv genbox genconf genion genrestr gmxcheck gmxdump grompp highway make_edi make_ndx mdrun mk_angndx ngmx pdb2gmx protonate sigeps tpbconv trjcat trjconv trjorder wheel x2top xpm2ps xrama ; do 
+#for bin in anadock do_dssp editconf eneconv genbox genconf genion genrestr gmxcheck gmxdump grompp highway make_edi make_ndx mdrun mk_angndx ngmx pdb2gmx protonate sigeps tpbconv trjcat trjconv trjorder wheel x2top xpm2ps xrama ; do 
+for bin in do_dssp editconf eneconv genbox genconf genion genrestr gmxcheck gmxdump grompp make_edi make_ndx mdrun mk_angndx pdb2gmx tpbconv trjcat trjconv trjorder xpm2ps; do
 mv %{buildroot}%{_mandir}/man1/${bin}.1 %{buildroot}%{_mandir}/man1/g_${bin}.1
-mv %{buildroot}%{_mandir}/man1/${bin}_d.1 %{buildroot}%{_mandir}/man1/g_${bin}_d.1
+#mv %{buildroot}%{_mandir}/man1/${bin}_d.1 %{buildroot}%{_mandir}/man1/g_${bin}_d.1
 done
 
 # Move completion files around
@@ -607,102 +363,41 @@ mv %{buildroot}%{_bindir}/completion.bash %{buildroot}/etc/bash_completion.d/gro
 mv %{buildroot}%{_bindir}/completion.csh . 
 
 # Remove .la files
-rm -rf %{buildroot}/%{_libdir}/*.la
-
-# Post install for libs
-
-%post libs -p /sbin/ldconfig
-
-%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
+find %{buildroot} -name *.la -exec rm -rf {} \;
 
+# Post install for libs. MPI packages don't need this.
+%post -p /sbin/ldconfig
 
+%postun -p /sbin/ldconfig
 
 %clean
 rm -rf %{buildroot}
 
 
-
-
 # Files section
 
 %files
 %defattr(-,root,root,-)
-%{_bindir}/*
-%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,-)
+%{_bindir}/g_*
 %{_libdir}/libgmx.so.*
 %{_libdir}/libgmx_d.so.*
 %{_libdir}/libgmxana.so.*
 %{_libdir}/libgmxana_d.so.*
+%{_libdir}/libgmxpreprocess.so.*
+%{_libdir}/libgmxpreprocess_d.so.*
 %{_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,-)
-%{_libdir}/libgmx_mpi.so.*
-%{_libdir}/libgmx_mpi_d.so.*
-%{_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 manual-4.0.pdf README.fedora
+%doc AUTHORS COPYING README manual-4.5.pdf README.fedora
 %{_bindir}/GMXRC
 %{_bindir}/GMXRC.bash
 %{_mandir}/man1/*
-%{_datadir}/%{name}
-%exclude %{_datadir}/%{name}/template
-%exclude %{_datadir}/%{name}/tutor
+%{_mandir}/man7/gromacs.*
+%{_datadir}/%{name}/
+%exclude %{_datadir}/%{name}/template/
+%exclude %{_datadir}/%{name}/tutor/
 
 %files devel
 %defattr(-,root,root,-)
@@ -711,35 +406,22 @@ rm -rf %{buildroot}
 %{_libdir}/libgmx_d.so
 %{_libdir}/libgmxana.so
 %{_libdir}/libgmxana_d.so
+%{_libdir}/libgmxpreprocess.so
+%{_libdir}/libgmxpreprocess_d.so
 %{_libdir}/libmd.so
 %{_libdir}/libmd_d.so
-%{_datadir}/%{name}/template
+%{_libdir}/pkgconfig/*.pc
+%{_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
+%files openmpi
 %defattr(-,root,root,-)
-%{_libdir}/libgmx_mpi.so
-%{_libdir}/libgmx_mpi_d.so
-%{_libdir}/libmd_mpi.so
-%{_libdir}/libmd_mpi_d.so
-%{_datadir}/%{name}/template/Makefile.mpi.*
+%{_libdir}/openmpi/bin/g_mdrun*
+%{_libdir}/openmpi/lib/lib*.so.*
 
-%files debug-mpi-devel
+%files openmpi-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
-
+%{_libdir}/openmpi/lib/lib*.so
 
 %files zsh
 %defattr(-,root,root,-)
@@ -750,7 +432,6 @@ rm -rf %{buildroot}
 %defattr(-,root,root,-)
 %config(noreplace) %{_sysconfdir}/bash_completion.d/gromacs
 
-
 %files csh
 %defattr(-,root,root,-)
 %doc completion.csh
@@ -758,87 +439,110 @@ rm -rf %{buildroot}
 
 %files tutor
 %defattr(-,root,root,-)
-%{_datadir}/%{name}/tutor
+%{_datadir}/%{name}/tutor/
 
 
 %changelog
-* Thu Dec 31 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.7-1
+* Sat Oct 09 2010 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.5.1-1
+- Update to 4.5.1.
+
+* Sun Dec 06 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.7-1
 - Update to 4.0.7.
 
-* Fri May 22 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.5-1
+* Sun Dec 06 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.6-1
+- Update to 4.0.6.
+
+* Fri Dec 04 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.5-6
+- Fix file conflict.
+
+* Tue Dec 01 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.5-5
+- Put correct MPI devel package requires in place.
+
+* Tue Dec 01 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.5-4
+- Fix obsoletes.
+
+* Mon Nov 30 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.5-3
+- Combine libs with binaries and drop debug packages to avoid explosion of
+  number of packages.
+- Adopt use of MPI guidelines.
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 4.0.5-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* 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 <jussilehtola at fedoraproject.org> - 4.0.4-1
+* 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 <jussilehtola at fedoraproject.org> - 4.0.3-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 <jussilehtola at fedoraproject.org> - 4.0.3-3
+* Mon Jan 19 2009 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0.3-3
 - Fixed gmxdemo.
 
-* Mon Jan 19 2009 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.0.3-2
+* 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 <jussilehtola at fedoraproject.org> - 4.0.3-1
+* 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 <jussilehtola at fedoraproject.org> - 4.0.2-7
+* 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 <jussilehtola at fedoraproject.org> - 4.0.2-6
+* 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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
@@ -846,31 +550,31 @@ instead.
 	sigeps	->	g_sigeps
 	wheel	->	g_wheel
 
-* Thu Oct 02 2008 Jussi Lehtola <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 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 <jussilehtola at fedoraproject.org> - 4.0-0.0.rc2
+* Fri Sep 26 2008 Jussi Lehtola <jussi.lehtola at iki.fi> - 4.0-0.0.rc2
 - Initial build.
diff --git a/sources b/sources
index d23ae2f..5a307c9 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-51369bd553e6bba4085a58bcf23d337d  gromacs-4.0.7.tar.gz
-2b6565bef76109a579c39ec1dcb0ecf2  manual-4.0.pdf
+0f6d3967f2d8fba5c5668f99dfc6aed7  manual-4.5.pdf
+d4b737b0bea8a9390d2c3ad9b159914d  gromacs-4.5.1.tar.gz


More information about the scm-commits mailing list