[gromacs/el6] Import from master.
Jussi Lehtola
jussilehtola at fedoraproject.org
Fri Sep 16 23:22:23 UTC 2011
commit 3fb288f0a0865c93669730bb7ed3a31881d7f269
Author: Jussi Lehtola <jussilehtola at fedoraproject.org>
Date: Sat Sep 17 02:22:10 2011 +0300
Import from master.
gromacs-4.5.1-gmxrc.patch | 160 +++++++++++++++++++++++++++++++++++++++++++
gromacs-GMXRC.patch | 30 +++++----
gromacs-gmxdemo.patch | 74 ++++++++++----------
gromacs.spec | 165 ++++++++++++++++++++++++++++++++++++++++----
sources | 4 +-
5 files changed, 366 insertions(+), 67 deletions(-)
---
diff --git a/gromacs-4.5.1-gmxrc.patch b/gromacs-4.5.1-gmxrc.patch
new file mode 100644
index 0000000..62a2400
--- /dev/null
+++ b/gromacs-4.5.1-gmxrc.patch
@@ -0,0 +1,160 @@
+diff -up gromacs-4.5.1/scripts/GMXRC.bash.cmakein.orig gromacs-4.5.1/scripts/GMXRC.bash.cmakein
+--- gromacs-4.5.1/scripts/GMXRC.bash.cmakein.orig 2010-08-23 20:58:30.000000000 +0300
++++ gromacs-4.5.1/scripts/GMXRC.bash.cmakein 2010-10-25 17:11:05.955213941 +0300
+@@ -8,8 +8,12 @@
+ tmppath=""
+ for i in `echo $LD_LIBRARY_PATH | sed "s/:/ /g"`; do
+ if test "$i" != "$GMXLDLIB"; then
++ if test "${tmppath}" == ""; then
++ tmppath=$i
++ else
+ tmppath=${tmppath}:$i
+ fi
++ fi
+ done
+ LD_LIBRARY_PATH=$tmppath
+
+@@ -38,6 +42,9 @@ for i in `echo $MANPATH | sed "s/:/ /g"`
+ tmppath=${tmppath}:$i
+ fi
+ done
++if test "$tmppath" == ""; then
++ tmppath=":"
++fi
+ MANPATH=$tmppath
+
+ ##########################################################
+diff -up gromacs-4.5.1/scripts/GMXRC.bash.in.orig gromacs-4.5.1/scripts/GMXRC.bash.in
+--- gromacs-4.5.1/scripts/GMXRC.bash.in.orig 2010-08-23 20:58:30.000000000 +0300
++++ gromacs-4.5.1/scripts/GMXRC.bash.in 2010-10-25 17:11:05.955213941 +0300
+@@ -8,8 +8,12 @@
+ tmppath=""
+ for i in `echo $LD_LIBRARY_PATH | sed "s/:/ /g"`; do
+ if test "$i" != "$GMXLDLIB"; then
++ if test "${tmppath}" == ""; then
++ tmppath=$i
++ else
+ tmppath=${tmppath}:$i
+ fi
++ fi
+ done
+ LD_LIBRARY_PATH=$tmppath
+
+@@ -38,6 +42,9 @@ for i in `echo $MANPATH | sed "s/:/ /g"`
+ tmppath=${tmppath}:$i
+ fi
+ done
++if test "$tmppath" == ""; then
++ tmppath=":"
++fi
+ MANPATH=$tmppath
+
+ ##########################################################
+diff -up gromacs-4.5.1/scripts/GMXRC.csh.cmakein.orig gromacs-4.5.1/scripts/GMXRC.csh.cmakein
+--- gromacs-4.5.1/scripts/GMXRC.csh.cmakein.orig 2010-08-23 20:58:30.000000000 +0300
++++ gromacs-4.5.1/scripts/GMXRC.csh.cmakein 2010-10-25 17:11:05.955213941 +0300
+@@ -16,7 +16,13 @@ if (! $?GMXMAN) setenv GMXMAN ""
+ # remove previous gromacs part from ld_library_path
+ set tmppath = ""
+ foreach i ( `echo $LD_LIBRARY_PATH | sed "s/:/ /g"` )
+- if ( "$i" != "$GMXLDLIB" ) set tmppath = "${tmppath}:$i"
++ if ( "$i" != "$GMXLDLIB" ) then
++ if ("${tmppath}" == "") then
++ set tmppath = "$i"
++ else
++ set tmppath = "${tmppath}:$i"
++ endif
++ endif
+ end
+ setenv LD_LIBRARY_PATH $tmppath
+
+@@ -39,6 +45,9 @@ set tmppath = ""
+ foreach i ( `echo $MANPATH | sed "s/:/ /g"` )
+ if ( "$i" != "$GMXMAN" ) set tmppath = "${tmppath}:$i"
+ end
++if ("$tmppath" == "") then
++ set tmppath = ":"
++endif
+ setenv MANPATH $tmppath
+
+ ##########################################################
+diff -up gromacs-4.5.1/scripts/GMXRC.csh.in.orig gromacs-4.5.1/scripts/GMXRC.csh.in
+--- gromacs-4.5.1/scripts/GMXRC.csh.in.orig 2010-08-23 20:58:30.000000000 +0300
++++ gromacs-4.5.1/scripts/GMXRC.csh.in 2010-10-25 17:11:05.955213941 +0300
+@@ -16,7 +16,13 @@ if (! $?GMXMAN) setenv GMXMAN ""
+ # remove previous gromacs part from ld_library_path
+ set tmppath = ""
+ foreach i ( `echo $LD_LIBRARY_PATH | sed "s/:/ /g"` )
+- if ( "$i" != "$GMXLDLIB" ) set tmppath = "${tmppath}:$i"
++ if ( "$i" != "$GMXLDLIB" ) then
++ if ("${tmppath}" == "") then
++ set tmppath = "$i"
++ else
++ set tmppath = "${tmppath}:$i"
++ endif
++ endif
+ end
+ setenv LD_LIBRARY_PATH $tmppath
+
+@@ -39,6 +45,9 @@ set tmppath = ""
+ foreach i ( `echo $MANPATH | sed "s/:/ /g"` )
+ if ( "$i" != "$GMXMAN" ) set tmppath = "${tmppath}:$i"
+ end
++if ("$tmppath" == "") then
++ set tmppath = ":"
++endif
+ setenv MANPATH $tmppath
+
+ ##########################################################
+diff -up gromacs-4.5.1/scripts/GMXRC.zsh.cmakein.orig gromacs-4.5.1/scripts/GMXRC.zsh.cmakein
+--- gromacs-4.5.1/scripts/GMXRC.zsh.cmakein.orig 2010-08-23 20:58:30.000000000 +0300
++++ gromacs-4.5.1/scripts/GMXRC.zsh.cmakein 2010-10-25 17:11:05.955213941 +0300
+@@ -8,8 +8,12 @@
+ tmppath=""
+ for i in `echo $LD_LIBRARY_PATH | sed "s/:/ /g"`; do
+ if test "$i" != "$GMXLDLIB"; then
++ if test "${tmppath}" = ""; then
++ tmppath=$i
++ else
+ tmppath=${tmppath}:$i
+ fi
++ fi
+ done
+ LD_LIBRARY_PATH=$tmppath
+
+@@ -38,6 +42,9 @@ for i in `echo $MANPATH | sed "s/:/ /g"`
+ tmppath=${tmppath}:$i
+ fi
+ done
++if test "$tmppath" = ""; then
++ tmppath=":"
++fi
+ MANPATH=$tmppath
+
+ ##########################################################
+diff -up gromacs-4.5.1/scripts/GMXRC.zsh.in.orig gromacs-4.5.1/scripts/GMXRC.zsh.in
+--- gromacs-4.5.1/scripts/GMXRC.zsh.in.orig 2010-08-23 20:58:30.000000000 +0300
++++ gromacs-4.5.1/scripts/GMXRC.zsh.in 2010-10-25 17:11:05.955213941 +0300
+@@ -8,8 +8,12 @@
+ tmppath=""
+ for i in `echo $LD_LIBRARY_PATH | sed "s/:/ /g"`; do
+ if test "$i" != "$GMXLDLIB"; then
++ if test "${tmppath}" = ""; then
++ tmppath=$i
++ else
+ tmppath=${tmppath}:$i
+ fi
++ fi
+ done
+ LD_LIBRARY_PATH=$tmppath
+
+@@ -38,6 +42,9 @@ for i in `echo $MANPATH | sed "s/:/ /g"`
+ tmppath=${tmppath}:$i
+ fi
+ done
++if test "$tmppath" = ""; then
++ tmppath=":"
++fi
+ MANPATH=$tmppath
+
+ ##########################################################
diff --git a/gromacs-GMXRC.patch b/gromacs-GMXRC.patch
index a185174..97b3b05 100644
--- a/gromacs-GMXRC.patch
+++ b/gromacs-GMXRC.patch
@@ -1,26 +1,30 @@
---- gromacs-4.0_rc2/scripts/GMXRC.csh.in.orig 2001-08-18 14:07:31.000000000 +0300
-+++ gromacs-4.0_rc2/scripts/GMXRC.csh.in 2008-09-28 15:33:26.000000000 +0300
+diff -up gromacs-4.5.4/scripts/GMXRC.bash.in.orig gromacs-4.5.4/scripts/GMXRC.bash.in
+--- gromacs-4.5.4/scripts/GMXRC.bash.in.orig 2011-03-15 14:44:30.000000000 +0200
++++ gromacs-4.5.4/scripts/GMXRC.bash.in 2011-03-23 15:23:47.460843630 +0200
+@@ -1,3 +1,4 @@
++#!/bin/bash
+ # bash configuration file for Gromacs
+ # First we remove old gromacs stuff from the paths
+ # by selecting everything else.
+diff -up gromacs-4.5.4/scripts/GMXRC.csh.in.orig gromacs-4.5.4/scripts/GMXRC.csh.in
+--- gromacs-4.5.4/scripts/GMXRC.csh.in.orig 2011-03-15 14:44:30.000000000 +0200
++++ gromacs-4.5.4/scripts/GMXRC.csh.in 2011-03-23 15:23:24.515816712 +0200
@@ -1,3 +1,4 @@
+#!/bin/csh
# csh/tcsh configuration file for Gromacs.
# First we remove previous Gromacs stuff from paths
# by selecting everything else.
---- gromacs-4.0_rc2/scripts/GMXRC.bash.in.orig 2001-08-18 14:07:31.000000000 +0300
-+++ gromacs-4.0_rc2/scripts/GMXRC.bash.in 2008-09-28 15:33:08.000000000 +0300
-@@ -1,3 +1,4 @@
-+#!/bin/bash
- # zsh configuration file for Gromacs
- # First we remove old gromacs stuff from the paths
- # by selecting everything else.
---- gromacs-4.0_rc2/scripts/GMXRC.in.orig 2001-08-18 14:07:31.000000000 +0300
-+++ gromacs-4.0_rc2/scripts/GMXRC.in 2008-09-28 15:33:44.000000000 +0300
+diff -up gromacs-4.5.4/scripts/GMXRC.in.orig gromacs-4.5.4/scripts/GMXRC.in
+--- gromacs-4.5.4/scripts/GMXRC.in.orig 2011-03-15 14:44:30.000000000 +0200
++++ gromacs-4.5.4/scripts/GMXRC.in 2011-03-23 15:23:58.499338216 +0200
@@ -1,3 +1,4 @@
+#!/bin/sh
# This is a convenience script to determine which
# type of shell you have, and then run GMXRC.[csh|bash|zsh]
# from the Gromacs binary directory.
---- gromacs-4.0_rc2/scripts/GMXRC.zsh.in.orig 2001-08-18 14:07:31.000000000 +0300
-+++ gromacs-4.0_rc2/scripts/GMXRC.zsh.in 2008-09-28 15:33:34.000000000 +0300
+diff -up gromacs-4.5.4/scripts/GMXRC.zsh.in.orig gromacs-4.5.4/scripts/GMXRC.zsh.in
+--- gromacs-4.5.4/scripts/GMXRC.zsh.in.orig 2011-03-15 14:44:30.000000000 +0200
++++ gromacs-4.5.4/scripts/GMXRC.zsh.in 2011-03-23 15:24:06.396692029 +0200
@@ -1,3 +1,4 @@
+#!/bin/zsh
# zsh configuration file for Gromacs
diff --git a/gromacs-gmxdemo.patch b/gromacs-gmxdemo.patch
index f146ab7..1e1c9cf 100644
--- a/gromacs-gmxdemo.patch
+++ b/gromacs-gmxdemo.patch
@@ -1,6 +1,6 @@
-diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tutor/gmxdemo/demo
---- gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo 2010-09-29 14:35:03.000000000 +0300
-+++ gromacs-4.5.2/share/tutor/gmxdemo/demo 2010-11-01 14:04:34.833273502 +0200
+diff -up gromacs-4.5.4/share/tutor/gmxdemo/demo.orig gromacs-4.5.4/share/tutor/gmxdemo/demo
+--- gromacs-4.5.4/share/tutor/gmxdemo/demo.orig 2011-03-04 13:10:43.000000000 +0200
++++ gromacs-4.5.4/share/tutor/gmxdemo/demo 2011-03-23 15:30:14.004163534 +0200
@@ -58,10 +58,10 @@ cat << _EOF_
-----------------------------------------------------------------
Before we can start any simulation we need a molecular toplogy
@@ -13,7 +13,7 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
+Because most pdb files do not contain all hydrogen atoms, the g_pdb2gmx
program will also add them to our peptide. The output file which
contains the structure of the peptide when hydrogen atoms are added is a
- gromos structure file ( .gro extension )
+ GROMOS structure file ( .gro extension )
@@ -72,22 +72,22 @@ _EOF_
if ( $?DISPLAY ) then
@@ -45,7 +45,7 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
@@ -99,14 +99,14 @@ cat << _EOF_
-----------------------------------------------------------------
-----------------------------------------------------------------
- Because a simulation of a peptide in vacua is a bit unrealistic, we
+ Because a simulation of a peptide in vacuo is a bit unrealistic, we
-have to solvate our peptide in a box of water. genbox is the program
+have to solvate our peptide in a box of water. g_genbox is the program
we use to do this.
@@ -54,15 +54,15 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
-containing the sizes of the desired water box. The output of genbox is
+The g_genbox program reads the peptide structure file and an input file
+containing the sizes of the desired water box. The output of g_genbox is
- a gromos structure file of a peptide solvated in a box of water. The
+ a GROMOS structure file of a peptide solvated in a box of water. The
-genbox program also changes the topology file ( .top extension ) to
-include water. First we will use the program editconf to define the
+g_genbox program also changes the topology file ( .top extension ) to
+include water. First we will use the program g_editconf to define the
- right boxsize for our system.
+ right box size for our system.
-----------------------------------------------------------------
-@@ -114,22 +114,22 @@ right boxsize for our system.
+@@ -114,22 +114,22 @@ right box size for our system.
_EOF_
if ( $?DISPLAY ) then
@@ -93,19 +93,19 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
@@ -142,7 +142,7 @@ cat << _EOF_
-----------------------------------------------------------------
- In principle we can start a Molecular Dynamics simulation now. However
+ In principle we can start a molecular dynamics simulation now. However
it is not very wise to do so, because our system is full of close
-contacts. These close contacts are mainly a result of the genbox
+contacts. These close contacts are mainly a result of the g_genbox
program. The added solvent might have some close contacts with the
peptide resulting in very high repulsive energies. If we would start a
- Molecular Dynamics (MD) simulation without energy minimisation the
-@@ -153,7 +153,7 @@ Energy Minimisation (EM). Energy minimis
+ molecular dynamics (MD) simulation without energy minimisation the
+@@ -153,7 +153,7 @@ energy minimisation (EM). Energy minimis
coordinates of our system to remove high energies from our system.
- Before we can start the Energy Minimisation we have to preprocess all
+ Before we can start the energy minimisation we have to preprocess all
-the input files with the GROMACS preprocessor named grompp. grompp
-+the input files with the GROMACS preprocessor named g_g_grompp. g_g_grompp
++the input files with the GROMACS preprocessor named g_grompp. g_grompp
preprocesses the topology file (.top), the structure file (.gro) and a
parameter file (.mdp) resulting in a binary topology file (.tpr
extension). This binary topology file contains all information for a
@@ -114,11 +114,11 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
if ( $?DISPLAY ) then
- echo "The output of the grompp program should appear"
-+ echo "The output of the g_g_grompp program should appear"
++ echo "The output of the g_grompp program should appear"
echo "in a separate xterm window"
endif
-@@ -191,13 +191,13 @@ emtol = 1000.0
+@@ -190,13 +190,13 @@ emtol = 1000.0
emstep = 0.01
_EOF_
@@ -136,7 +136,7 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
echo -n "Press <enter>"
set ans = $<
-@@ -210,8 +210,8 @@ cat << _EOF_
+@@ -209,8 +209,8 @@ cat << _EOF_
-----------------------------------------------------------------
Now the binary topology file is generated, we can start the energy
minimisation (EM). The program which performs the EM is called
@@ -145,9 +145,9 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
+g_mdrun. In fact all simulations are performed by the same program:
+g_mdrun.
- As the Energy Minimisation is running, watch the output of the
+ As the energy minimisation is running, watch the output of the
program. The first number ( from left to right ) is the number of the
-@@ -224,21 +224,21 @@ rapidly drops down, and converges, to a
+@@ -223,21 +223,21 @@ rapidly drops down, and converges, to a
_EOF_
if ( $?DISPLAY ) then
@@ -174,25 +174,25 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
echo -n "Press <enter>"
set ans = $<
-@@ -255,7 +255,7 @@ fixed. This is called position restraine
+@@ -254,7 +254,7 @@ fixed. This is called position restraine
- Position Restrained MD keeps the peptide fixed and lets all water
+ Position restrained MD keeps the peptide fixed and lets all water
molecules equilibrate around the peptide in order to fill holes
--etc. which were not filled by the genbox program.
-+etc. which were not filled by the g_genbox program.
+-etc. that were not filled by the genbox program.
++etc. that were not filled by the g_genbox program.
We are first going to preprocess the input files to generate the
binary topology. The input files are the topology file, the structure
-@@ -274,7 +274,7 @@ performed ( like EM, PR-MD and MD etc. )
+@@ -273,7 +273,7 @@ performed ( like EM, PR-MD and MD etc. )
_EOF_
if ( $?DISPLAY ) then
- echo "The output of the grompp program should appear"
-+ echo "The output of the g_g_grompp program should appear"
++ echo "The output of the g_grompp program should appear"
echo "in a separate xterm window"
endif
-@@ -318,12 +318,12 @@ gen_seed = 173529
+@@ -317,12 +317,12 @@ gen_seed = 173529
_EOF_
@@ -209,7 +209,7 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
echo -n "Press <enter>"
set ans = $<
-@@ -346,19 +346,19 @@ _EOF_
+@@ -345,19 +345,19 @@ _EOF_
if ( $?DISPLAY ) then
echo "Because your DISPLAY variable is set, I will pop up a"
@@ -234,25 +234,25 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
echo -n "Press <enter>"
set ans = $<
-@@ -371,7 +371,7 @@ cat << _EOF_
+@@ -370,7 +370,7 @@ cat << _EOF_
-----------------------------------------------------------------
- Now our complete system is finally ready for the actual Molecular
- Dynamics simulation. We start again by preprocessing the input files
+ Now our complete system is finally ready for the actual molecular
+ dynamics simulation. We start again by preprocessing the input files
-by the grompp program to generate the binary topology file (.tpb/.tpr
-+by the g_g_grompp program to generate the binary topology file (.tpb/.tpr
++by the g_grompp program to generate the binary topology file (.tpb/.tpr
extension).
-----------------------------------------------------------------
-@@ -379,7 +379,7 @@ extension).
+@@ -378,7 +378,7 @@ extension).
_EOF_
if ( $?DISPLAY ) then
- echo "The output of the grompp program should appear"
-+ echo "The output of the g_g_grompp program should appear"
++ echo "The output of the g_grompp program should appear"
echo "in a separate xterm window"
endif
-@@ -419,13 +419,13 @@ gen_temp = 300.0
+@@ -418,13 +418,13 @@ gen_temp = 300.0
gen_seed = 173529
_EOF_
@@ -270,7 +270,7 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
echo -n "Press <enter>"
set ans = $<
-@@ -444,20 +444,20 @@ increasing ( the total number of steps i
+@@ -443,20 +443,20 @@ increasing ( the total number of steps i
_EOF_
if ( $?DISPLAY ) then
@@ -296,8 +296,8 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
echo -n "Press <enter>"
set ans = $<
-@@ -472,10 +472,10 @@ We are finished simulating, and we are g
- trajectory. The trajectory file ( .trj extension ) contains all
+@@ -471,10 +471,10 @@ We are finished simulating, and we are g
+ trajectory. The trajectory file ( .trr extension ) contains all
coordinates, velocities and forces of all the atoms in our system.
-The next program we are going run is ngmx. ngmx is a very simple
@@ -309,7 +309,7 @@ diff -up gromacs-4.5.2/share/tutor/gmxdemo/demo.gmxdemo gromacs-4.5.2/share/tuto
buttons to view your trajectory.
1. Once the program has been started a dialog box shows up. Click on
-@@ -497,7 +497,7 @@ _EOF_
+@@ -496,7 +496,7 @@ _EOF_
if ( $?DISPLAY ) then
echo Starting Trajectory viewer...
diff --git a/gromacs.spec b/gromacs.spec
index 436901e..af2f684 100644
--- a/gromacs.spec
+++ b/gromacs.spec
@@ -1,14 +1,21 @@
+%ifnarch s390 s390x
+%global with_openmpi 1
+%else
+%global with_openmpi 0
+%endif
+
Name: gromacs
-Version: 4.5.3
-Release: 1%{?dist}
+Version: 4.5.4
+Release: 2%{?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
-# File gotten from http://www.gromacs.org/@api/deki/files/126/=gromacs_manual-4.5.pdf
-Source1: manual-4.5.pdf
+# File gotten from
+# http://www.gromacs.org/@api/deki/files/152/=manual-4.5.4.pdf
+Source1: manual-4.5.4.pdf
Source2: gromacs-template-makefile-single
Source3: gromacs-template-makefile-double
Source4: gromacs-template-makefile-mpi-single
@@ -26,6 +33,8 @@ BuildRequires: fftw-devel
BuildRequires: gsl-devel
BuildRequires: libxml2-devel
BuildRequires: libX11-devel
+# To get rid of executable stacks
+BuildRequires: prelink
Requires: gromacs-common = %{version}-%{release}
@@ -99,7 +108,7 @@ and solid state physics.
This package contains libraries needed for operation of GROMACS.
-
+%if %{with_openmpi}
%package openmpi
Summary: GROMACS Open MPI binaries and libraries
Group: Applications/Engineering
@@ -107,6 +116,8 @@ Obsoletes: gromacs-mpi < %{version}-%{release}
Requires: gromacs-common = %{version}-%{release}
BuildRequires: openmpi-devel
Requires: openmpi
+# Libs were branched from gromacs, so there are 64-bit installs that have 32-bit packages installed
+Obsoletes: gromacs-openmpi < 4.5.3-2
%description openmpi
GROMACS is a versatile and extremely well optimized package to perform
@@ -154,6 +165,61 @@ and solid state physics.
This package contains development libraries for GROMACS Open MPI.
You may need it if you want to write your own analysis programs.
+%endif
+
+
+%package mpich2
+Summary: GROMACS MPICH2 binaries and libraries
+Group: Applications/Engineering
+Requires: gromacs-common = %{version}-%{release}
+Requires: mpich2
+# Libs were branched from gromacs, so there are 64-bit installs that have 32-bit packages installed
+Obsoletes: gromacs-mpich2 < 4.5.3-2
+
+%description mpich2
+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.
+
+mdrun has been compiled with thread parallellization (for running on
+a single node) and with MPICH2 (for running on multiple nodes).
+This package single and double precision binaries and libraries.
+
+%package mpich2-libs
+Summary: GROMACS MPICH2 shared libraries
+Group: System Environment/Libraries
+Requires: mpich2
+
+%description mpich2-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 contains libraries needed for operation of GROMACS MPICH2.
+
+
+%package mpich2-devel
+Summary: GROMACS MPICH2 development libraries
+Group: Applications/Engineering
+Requires: gromacs-devel = %{version}-%{release}
+Requires: gromacs-mpich2 = %{version}-%{release}
+BuildRequires: mpich2-devel
+Requires: mpich2-devel
+
+%description mpich2-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 MPICH2.
+You may need it if you want to write your own analysis programs.
+
%package bash
@@ -243,6 +309,7 @@ This package provides tutorials for the use of GROMACS.
%build
# First, override bug in MPICH2 packaging.
+%{_mpich2_unload}
# Assembly kernels haven't got .note.GNU-stack sections
# because of incompatibilies with Microsoft Assembler.
@@ -252,7 +319,7 @@ export CFLAGS="%optflags -Wa,--noexecstack -fPIC"
export LIBS="-L%{_libdir}/atlas -lblas -llapack"
# Default options, used for all compilations
-export DEFOPTS="-D BUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_BUILD_RPATH:BOOL=ON"
+export DEFOPTS="-D BUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH:BOOL=ON -DCMAKE_SKIP_BUILD_RPATH:BOOL=ON -DLIB=%{_lib}"
export SINGLE="-D GMX_DOUBLE=OFF" # Single precision
export DOUBLE="-D GMX_DOUBLE=ON" # Double precision
export MPI="-D GMX_MPI=ON"
@@ -283,6 +350,7 @@ export F90=mpif90
export FC=mpif90
## Open MPI
+%if %{with_openmpi}
%{_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}"
@@ -303,6 +371,30 @@ make VERBOSE=1 %{?_smp_mflags} mdrun
cd ..
# unload
%{_openmpi_unload}
+%endif
+
+
+## MPICH2
+%{_mpich2_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}"
+# MPICH 2 is broken, so need to modify linker command
+export CC="mpicc -lstdc++"
+# single precision
+mkdir mpich2-single
+cd mpich2-single
+%cmake $DEFOPTS $SINGLE $MPI $SUFFIXCONF ..
+make VERBOSE=1 %{?_smp_mflags} mdrun
+cd ..
+# 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 mpich2-double
+cd mpich2-double
+%cmake $DEFOPTS $DOUBLE $MPI $SUFFIXCONF ..
+make VERBOSE=1 %{?_smp_mflags} mdrun
+cd ..
+%{_mpich2_unload}
%install
@@ -310,6 +402,7 @@ rm -rf %{buildroot}
## Open MPI
+%if %{with_openmpi}
%{_openmpi_load}
# Make install-mdrun target is broken, do install manually
mkdir -p %{buildroot}%{_libdir}/openmpi/{bin,lib}
@@ -324,6 +417,23 @@ install -p -m 755 src/kernel/mdrun %{buildroot}%{_libdir}/openmpi/bin/g_mdrun_op
cp -a src/*/*.so* %{buildroot}%{_libdir}/openmpi/lib/
cd ..
%{_openmpi_unload}
+%endif
+
+## MPICH 2
+%{_mpich2_load}
+# Make install-mdrun target is broken, do install manually
+mkdir -p %{buildroot}%{_libdir}/mpich2/{bin,lib}
+# single precision
+cd mpich2-single
+install -p -m 755 src/kernel/mdrun %{buildroot}%{_libdir}/mpich2/bin/g_mdrun_mpich2
+cp -a src/*/*.so* %{buildroot}%{_libdir}/mpich2/lib/
+cd ..
+# double precision
+cd mpich2-double
+install -p -m 755 src/kernel/mdrun %{buildroot}%{_libdir}/mpich2/bin/g_mdrun_mpich2_d
+cp -a src/*/*.so* %{buildroot}%{_libdir}/mpich2/lib/
+cd ..
+%{_mpich2_unload}
## Serial versions
@@ -339,14 +449,6 @@ 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} .
install -cpm 644 %{SOURCE6} README.fedora
@@ -395,6 +497,9 @@ mv %{buildroot}%{_bindir}/completion.csh .
# Remove .la files
find %{buildroot} -name *.la -exec rm -rf {} \;
+# Get rid of executable stacks
+find %{buildroot} -name *.so.* -exec execstack -c {} \;
+
# Post install for libs. MPI packages don't need this.
%post libs -p /sbin/ldconfig
@@ -412,7 +517,7 @@ rm -rf %{buildroot}
%files common
%defattr(-,root,root,-)
-%doc AUTHORS COPYING README manual-4.5.pdf README.fedora
+%doc AUTHORS COPYING README manual-4.5.4.pdf README.fedora
%{_bindir}/GMXRC
%{_bindir}/GMXRC.bash
%{_mandir}/man1/*
@@ -447,6 +552,7 @@ rm -rf %{buildroot}
%{_datadir}/%{name}/template/
%exclude %{_datadir}/%{name}/template/Makefile.mpi.*
+%if %{with_openmpi}
%files openmpi
%defattr(-,root,root,-)
%{_libdir}/openmpi/bin/g_mdrun*
@@ -458,6 +564,19 @@ rm -rf %{buildroot}
%files openmpi-devel
%defattr(-,root,root,-)
%{_libdir}/openmpi/lib/lib*.so
+%endif
+
+%files mpich2
+%defattr(-,root,root,-)
+%{_libdir}/mpich2/bin/g_mdrun*
+
+%files mpich2-libs
+%defattr(-,root,root,-)
+%{_libdir}/mpich2/lib/lib*.so.*
+
+%files mpich2-devel
+%defattr(-,root,root,-)
+%{_libdir}/mpich2/lib/lib*.so
%files zsh
%defattr(-,root,root,-)
@@ -479,6 +598,22 @@ rm -rf %{buildroot}
%changelog
+* Wed Mar 30 2011 Deji Akingunola <dakingun at gmail.com> - 4.5.4-2
+- Rebuild for mpich2 soname bump
+
+* Wed Mar 23 2011 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.5.4-1
+- Update to 4.5.4.
+
+* Sun Feb 13 2011 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.5.3-4
+- Get rid of executable stacks.
+
+* Mon Feb 07 2011 Dan Horák <dan[at]danny.cz> - 4.5.3-3
+- conditionalize OpenMPI support
+- fix build on 64-bit platforms
+
+* Mon Dec 20 2010 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.5.3-2
+- Fix rest of BZ #649338.
+
* Thu Nov 18 2010 Jussi Lehtola <jussilehtola at fedoraproject.org> - 4.5.3-1
- Update to 4.5.3.
diff --git a/sources b/sources
index 991099e..ba69383 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-d5911585cd0e0b996dbbdcfb4c3bcf6b gromacs-4.5.3.tar.gz
-0f6d3967f2d8fba5c5668f99dfc6aed7 manual-4.5.pdf
+5013de941017e014b92d41f82c7e86d6 gromacs-4.5.4.tar.gz
+1d4f96c5082e81740e1aa481c13f1537 manual-4.5.4.pdf
More information about the scm-commits
mailing list