Commit 3ac1c639 authored by Nicholas Breen's avatar Nicholas Breen

Preliminary 4.5 support

parent 714ae90a
gromacs (4.5.1-1) UNRELEASED; urgency=low
* Major new upstream release.
* All patches incorporated upstream and removed, except the Debian-
specific bug reporting portion of 11_readme.dpatch.
* man/gromacs.7: incorporated upstream.
* watch: update to recognize -betaX tarballs and ignore -GPU builds.
* Convert from autotools to new CMake build system.
* control: Add Build-Depends on libxml2-dev.
-- Nicholas Breen <nbreen@ofb.net> Fri, 10 Sep 2010 12:44:19 -0700
gromacs (4.0.7-3) unstable; urgency=low
* New patch 03_autoconf_bashisms.dpatch: Eliminate two bashisms (test ==
......
......@@ -4,8 +4,7 @@ Priority: extra
Maintainer: Debichem Team <debichem-devel@lists.alioth.debian.org>
Uploaders: Nicholas Breen <nbreen@ofb.net>
DM-Upload-Allowed: yes
Build-Depends: debhelper (>= 7.0.0), dpatch, libfftw3-dev, libmpich2-dev, libopenmpi-dev (>= 1.2.4-5) [alpha amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386], lesstif2-dev, libxt-dev, libsm-dev, libice-dev, libxext-dev, libxp-dev, libx11-dev, zlib1g-dev, libgsl0-dev, gfortran [alpha], autotools-dev (>= 20070725.1), autoconf, automake (>= 1:1.10), libtool
Build-Conflicts: autoconf2.13
Build-Depends: debhelper (>= 7.0.0), dpatch, libfftw3-dev, libmpich2-dev, libopenmpi-dev (>= 1.2.4-5) [alpha amd64 i386 ia64 powerpc sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386], lesstif2-dev, libxt-dev, libsm-dev, libice-dev, libxext-dev, libxp-dev, libx11-dev, zlib1g-dev, libgsl0-dev, gfortran [alpha], libxml2-dev, cmake
Standards-Version: 3.8.4
Homepage: http://www.gromacs.org/
Vcs-Browser: http://svn.debian.org/wsvn/debichem/
......
This diff is collapsed.
03_autoconf_bashisms.dpatch
04_autoconf_mpisuffix.dpatch
05_lt_init.dpatch
11_readme.dpatch
20_altivec_kernel.dpatch
30_git_release-4.0-patches.dpatch
#! /bin/sh /usr/share/dpatch/dpatch-run
## 04_autoconf_bashisms.dpatch by Nicholas Breen <nbreen@ofb.net>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Remove two bashisms from configure.ac, allowing use with dash.
@DPATCH@
--- gromacs-4.0.7.orig/configure.ac 2010-05-25 19:27:15.531455730 -0700
+++ gromacs-4.0.7/configure.ac 2010-05-25 19:27:37.438455537 -0700
@@ -183,7 +183,7 @@
[set --enable-ppc-sqrt=1 for better speed.])],,
enable_ppc_sqrt=no)
if test "$enable_ppc_sqrt" != "no"; then
- if test "$enable_ppc_sqrt" == "1"; then
+ if test "$enable_ppc_sqrt" = "1"; then
ppc_sqrt_niter=1;
else
ppc_sqrt_niter=2;
@@ -193,7 +193,7 @@
enable_software_sqrt="no";
fi
AM_CONDITIONAL([GMX_POWERPC_SQRT],[test "$enable_ppc_sqrt" != "no"])
-AM_CONDITIONAL([GMX_POWERPC_SQRT_SINGLE_ITERATION],[test "$ppc_sqrt_niter" == "1"])
+AM_CONDITIONAL([GMX_POWERPC_SQRT_SINGLE_ITERATION],[test "$ppc_sqrt_niter" = "1"])
if test "$enable_software_sqrt" = "yes"; then
#! /bin/sh /usr/share/dpatch/dpatch-run
## 04_autoconf_mpisuffix.dpatch by Nicholas Breen <nbreen@ofb.net>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Adds more flexible support for LIBSUFFIX in configure script,
## DP: allowing for parallel installation of libraries built with different
## DP: MPI implementations.
## DP: After applying this patch, the autotools must be re-run.
## DP: Last updated 11-Feb-2008 for upstream release 3.3.3-pre1
@DPATCH@
--- gromacs-3.3.3_pre1_orig/configure.ac 2008-02-13 02:48:32.000000000 +0100
+++ gromacs-3.3.3_pre1/configure.ac 2008-02-13 02:51:04.000000000 +0100
@@ -849,13 +849,22 @@ AC_SUBST(GMXANA_LIBOBJS)
# 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"
+AC_ARG_VAR(
+ [LIBSUFFIX],
+ [To tell libraries apart, a suffix can be used. This is normally done
+ automatically during ./configure (_d|_mpi|_mpi_d). But with this
+ variable you can overwrite it
+ ]
+)
+if test -z ${LIBSUFFIX} ; then
+ if test "$enable_mpi" = "yes"; then
+ LIBSUFFIX="_mpi"
+ fi
+ if test "$enable_float" = "no"; then
+ LIBSUFFIX="${LIBSUFFIX}_d"
+ fi
fi
-AC_SUBST(LIBSUFFIX)
+AC_SUBST(LIBSUFFIX)
# Unless the user has explicitly requested a prefix/suffix/transform, we
# use _d on double precision files. Don't add anything for mpi, but at the
#! /bin/sh /usr/share/dpatch/dpatch-run
## 05_lt_init.dpatch by James Westby <james.westby@ubuntu.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Add LT_INIT to configure.ac so that the libtool script can find its
## DP: version. Necessary for Ubuntu bug LP#327354; not needed for Debian
## DP: as of this time.
@DPATCH@
diff -urNad gromacs-4.0.3~/configure.ac gromacs-4.0.3/configure.ac
--- gromacs-4.0.3~/configure.ac 2009-02-16 14:41:09.000000000 +0000
+++ gromacs-4.0.3/configure.ac 2009-02-16 14:42:01.000000000 +0000
@@ -7,6 +7,7 @@
AC_CONFIG_SRCDIR(src/gmxlib/3dview.c)
AC_CONFIG_AUX_DIR(config)
AC_CANONICAL_HOST
+LT_INIT
AM_INIT_AUTOMAKE(tar-ustar)
AC_PREFIX_DEFAULT(/usr/local/gromacs)
......@@ -6,38 +6,27 @@
@DPATCH@
diff -Nru gromacs-4.0-orig/README gromacs-4.0/README
--- gromacs-4.0-orig/README 2008-10-13 13:28:31.000000000 -0700
+++ gromacs-4.0/README 2008-10-13 13:29:51.000000000 -0700
diff -Nru gromacs-4.5-orig/README gromacs-4.5/README
--- gromacs-4.5-orig/README.orig 2010-08-11 17:36:13.817033358 -0700
+++ gromacs-4.5/README 2010-08-11 17:36:58.051395506 -0700
@@ -1,5 +1,5 @@
- Welcome to the official version of GROMACS!
+ Welcome to the Debian version of GROMACS!
There are no significant changes to the installation or use between version
3.1 and 3.0, so if you're already used to 3.0 you can just go ahead and update.
@@ -45,6 +45,11 @@
If you are familiar with unix, it should be fairly trivial to compile and
install GROMACS. Installation instructions are available in the INSTALL file,
@@ -39,6 +39,13 @@
under GPL, and that it must clearly be labeled as derived work. It should
not use the name "official GROMACS", and make sure support questions are
directed to you instead of the GROMACS developers.
+
++----------------------------------------------------------------------------+
+| Debian users: that means the Bug Tracking System, http://bugs.debian.org/ |
+| (Although this IS technically a derived version, no significant changes |
+| have been made to the upstream code -- it should behave identically.) |
++----------------------------------------------------------------------------+
+
Sorry for the hard wording, but it is meant to protect YOUR reseach results!
* * * * *
@@ -60,6 +65,12 @@
Erik Lindahl, Berk Hess and David van der Spoel
J. Mol. Mod. 7, 306-317 (2001)
+* GROMACS 4: Algorithms for Highly Efficient, Load-Balanced, and Scalable
+ Molecular Simulation
+ B. Hess, C. Kutzner, D. van der Spoel, and E. Lindahl
+ J. Chem. Theory Comput. 4, 3, 435-447 (2008)
+ <http://dx.doi.org/10.1021/ct700301q>
+
There are a lot of cool features we'd like to include in future versions,
but our resources are limited. All kinds of donations are welcome, both in
form of code, hardware and funding! Industrial users who choose to pay
#! /bin/sh /usr/share/dpatch/dpatch-run
## 20_altivec_kernel.dpatch by Nicholas Breen <nbreen@ofb.net>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix FTBFS on PPC due to "restrict" keyword, which GCC does not
## DP: enable by default. Reported upstream at:
## DP: http://bugzilla.gromacs.org/show_bug.cgi?id=324
@DPATCH@
diff -Nru gromacs-4.0.5.orig/src/gmxlib/nonbonded/nb_kernel_ppc_altivec/nb_kernel_ppc_altivec.h gromacs-4.0.5/src/gmxlib/nonbonded/nb_kernel_ppc_altivec/nb_kernel_ppc_altivec.h
--- gromacs-4.0.5.orig/src/gmxlib/nonbonded/nb_kernel_ppc_altivec/nb_kernel_ppc_altivec.h 2009-05-09 01:26:28.000000000 -0700
+++ gromacs-4.0.5/src/gmxlib/nonbonded/nb_kernel_ppc_altivec/nb_kernel_ppc_altivec.h 2009-05-25 22:04:11.287945554 -0700
@@ -23,6 +23,13 @@
#include "../nb_kerneltype.h"
+/* gcc disallows the "restrict" keyword without -std=c99, but __restrict
+ * always works.
+ */
+#ifdef __GNUC__
+#define restrict __restrict
+#endif
+
void
nb_kernel_setup_ppc_altivec(FILE *fplog, nb_kernel_t **list);
diff -Nru gromacs-4.0.5.orig/src/gmxlib/nonbonded/nb_kernel_ppc_altivec/ppc_altivec_util.h gromacs-4.0.5/src/gmxlib/nonbonded/nb_kernel_ppc_altivec/ppc_altivec_util.h
--- gromacs-4.0.5.orig/src/gmxlib/nonbonded/nb_kernel_ppc_altivec/ppc_altivec_util.h 2009-05-09 01:26:32.000000000 -0700
+++ gromacs-4.0.5/src/gmxlib/nonbonded/nb_kernel_ppc_altivec/ppc_altivec_util.h 2009-05-25 22:06:13.224945445 -0700
@@ -41,6 +41,13 @@
#include <altivec.h>
#endif
+/* gcc disallows the "restrict" keyword without -std=c99, but __restrict
+ * always works.
+ */
+#ifdef __GNUC__
+#define restrict __restrict
+#endif
+
/** Write contents of a SIMD FP variable on standard out.
*
* @internal
This diff is collapsed.
......@@ -9,9 +9,6 @@
PACKAGE := gromacs
include /usr/share/dpatch/dpatch.make
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
# OpenMPI is only supported on a subset of architectures at this time.
# This list should remain synced with the Build-Depends and the Architecture
# line of gromacs-openmpi in debian/control.
......@@ -30,34 +27,28 @@ endif
LDFLAGS += -Wl,--as-needed
COMMON_CONFIG_PARAMS = \
--host=$(DEB_HOST_GNU_TYPE) \
--build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr \
--exec_prefix=\$${prefix} \
--datadir=\$${prefix}/share \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--enable-shared
ifdef CFLAGS
COMMON_CONFIG_PARAMS += CFLAGS="$(CFLAGS)"
$(CURDIR) \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)"
ifneq ($(CFLAGS),)
COMMON_CONFIG_PARAMS += -DCMAKE_C_FLAGS="$(CFLAGS)"
endif
MPICH_CONFIG_PARAMS = \
--enable-mpi \
--without-x \
--without-gsl \
MPICC=/usr/bin/mpicc.mpich2 \
CC=/usr/bin/mpicc.mpich2
-DGMX_MPI=ON \
-DGMX_THREADS=OFF \
-DGMX_LIBS_SUFFIX=_mpi_mpich \
-DGMX_X11=OFF
OPENMPI_CONFIG_PARAMS = \
--enable-mpi \
--disable-fortran \
--without-x \
--without-gsl \
MPICC=/usr/bin/mpicc.openmpi \
CC=/usr/bin/mpicc.openmpi \
LDFLAGS="-L/usr/lib/openmpi/lib $(LDFLAGS)"
-DGMX_MPI=ON \
-DGMX_THREADS=OFF \
-DGMX_LIBS_SUFFIX=_mpi_openmpi \
-DGMX_FORTRAN=OFF \
-DGMX_X11=OFF \
-DCMAKE_EXE_LINKER_FLAGS="-L/usr/lib/openmpi/lib $(LDFLAGS)"
# optional parallel build
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
......@@ -67,27 +58,20 @@ endif
# gfortran transition: configure script looks for f77/g77 binaries, not f95/g95/gfortran
# FORTRAN inner loops are used on Alpha only
ifneq (,$(findstring alpha,$(DEB_HOST_GNU_TYPE)))
ifneq (,$(findstring alpha,$(DEB_HOST_ARCH)))
export F77=/usr/bin/gfortran
endif
configure: patch-stamp configure-stamp
configure-stamp: patch-stamp
dh_testdir
-test -r /usr/share/misc/config.sub && \
cp -f /usr/share/misc/config.sub config.sub
-test -r /usr/share/misc/config.guess && \
cp -f /usr/share/misc/config.guess config.guess
# patch 04_autoconf_mpisuffix changes configure.ac, requiring a fresh autotools pass
autoreconf --force --install --verbose
# -dp is the place for double-precision builds
(mkdir -p build/basic; cd build/basic; ../../configure $(COMMON_CONFIG_PARAMS) --with-gsl )
(mkdir -p build/basic-dp; cd build/basic-dp; ../../configure $(COMMON_CONFIG_PARAMS) --with-gsl --program-suffix=_d --enable-double)
(mkdir -p build/mpich; cd build/mpich; ../../configure $(COMMON_CONFIG_PARAMS) $(MPICH_CONFIG_PARAMS) LIBSUFFIX=_mpi_mpich --program-suffix=_mpi.mpich)
(mkdir -p build/mpich-dp; cd build/mpich-dp; ../../configure $(COMMON_CONFIG_PARAMS) $(MPICH_CONFIG_PARAMS) LIBSUFFIX=_mpi_d_mpich --program-suffix=_mpi_d.mpich --enable-double)
(mkdir -p build/basic; cd build/basic; cmake $(COMMON_CONFIG_PARAMS))
(mkdir -p build/basic-dp; cd build/basic-dp; cmake $(COMMON_CONFIG_PARAMS) -DGMX_DOUBLE=ON)
(mkdir -p build/mpich; cd build/mpich; CC=/usr/bin/mpicc.mpich2 cmake $(COMMON_CONFIG_PARAMS) $(MPICH_CONFIG_PARAMS))
(mkdir -p build/mpich-dp; cd build/mpich-dp; CC=/usr/bin/mpicc.mpich2 cmake $(COMMON_CONFIG_PARAMS) $(MPICH_CONFIG_PARAMS) -DGMX_DOUBLE=ON)
ifneq (,$(findstring $(DEB_HOST_ARCH),$(OPENMPI_ARCH)))
(mkdir -p build/openmpi; cd build/openmpi; ../../configure $(COMMON_CONFIG_PARAMS) $(OPENMPI_CONFIG_PARAMS) LIBSUFFIX=_mpi_openmpi --program-suffix=_mpi.openmpi)
(mkdir -p build/openmpi-dp; cd build/openmpi-dp; ../../configure $(COMMON_CONFIG_PARAMS) $(OPENMPI_CONFIG_PARAMS) LIBSUFFIX=_mpi_d_openmpi --program-suffix=_mpi_d.openmpi --enable-double)
(mkdir -p build/openmpi; cd build/openmpi; CC=/usr/bin/mpicc.openmpi cmake $(COMMON_CONFIG_PARAMS) $(OPENMPI_CONFIG_PARAMS))
(mkdir -p build/openmpi-dp; cd build/openmpi-dp; CC=/usr/bin/mpicc.openmpi cmake $(COMMON_CONFIG_PARAMS) $(OPENMPI_CONFIG_PARAMS))
endif
touch $@
......@@ -183,7 +167,7 @@ install-basic: build
$(MAKE) -C build/basic install DESTDIR=$(CURDIR)/debian/gromacs
$(MAKE) -C build/basic-dp install DESTDIR=$(CURDIR)/debian/gromacs
rm -f $(CURDIR)/debian/gromacs/usr/share/man/man1/*_d.1
dh_installman -pgromacs debian/man/luck.1 debian/man/g_kinetics.1 debian/man/gromacs.7
# dh_installman -pgromacs debian/man/luck.1 debian/man/g_kinetics.1 debian/man/gromacs.7
for manpage in $(CURDIR)/debian/gromacs/usr/share/man/man1/*.1; do \
dh_link -pgromacs usr/share/man/man1/`basename $${manpage}` usr/share/man/man1/`basename $${manpage} .1`_d.1 ; \
done
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment