[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