diff options
-rw-r--r-- | .SRCINFO | 28 | ||||
-rw-r--r-- | GMXRC.bash.cmakein.patch | 14 | ||||
-rw-r--r-- | PKGBUILD | 84 |
3 files changed, 126 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..5ce923827e33 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,28 @@ +pkgbase = gromacs-2016-complete + pkgdesc = A versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles. + pkgver = 2016.4 + pkgrel = 1 + url = http://www.gromacs.org/ + arch = i686 + arch = x86_64 + license = LGPL + makedepends = cmake + makedepends = libxml2 + makedepends = hwloc + makedepends = gcc6 + depends = lapack + depends = zlib + depends = libx11 + optdepends = cuda: Nvidia GPU support + optdepends = openmotif: needed for gmx view + optdepends = perl: needed for demux.pl and xplor2gmx.pl + optdepends = opencl-mesa: OpenCL support for AMD GPU + optdepends = opencl-nvidia: OpenCL support for Nvidia GPU + options = !libtool + source = http://ftp.gromacs.org/pub/gromacs/gromacs-2016.4.tar.gz + source = GMXRC.bash.cmakein.patch + sha1sums = b142c9c77e793fa8def24aeacebaf8b8f1dd55fc + sha1sums = 014b2cbfa13db9b495c88f653805c330747117dc + +pkgname = gromacs-2016-complete + diff --git a/GMXRC.bash.cmakein.patch b/GMXRC.bash.cmakein.patch new file mode 100644 index 000000000000..f0408d787a2e --- /dev/null +++ b/GMXRC.bash.cmakein.patch @@ -0,0 +1,14 @@ +--- GMXRC.bash.cmakein 2013-11-08 13:09:33.000000000 +0200 ++++ GMXRC.bash.cmakein.patch 2015-02-20 12:48:10.770670309 +0200 +@@ -4,6 +4,11 @@ + # This is not 100% necessary, but very useful when we + # repeatedly switch between gmx versions in a shell. + ++#Patch to avoid problems when gromacs is installed using /usr/ as root ++if [ "$GMXLDLIB" == "/usr/lib" ]; then export GMXLDLIB=""; fi ++if [ "$GMXBIN" == "/usr/bin" ]; then export GMXBIN=""; fi ++if [ "$GMXMAN" == "/usr/share/man" ]; then export GMXMAN=""; fi ++ + # First remove gromacs part of ld_library_path + tmppath="" + for i in `echo $LD_LIBRARY_PATH | sed "s/:/ /g"`; do diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..c58d8919eb35 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,84 @@ +# $Id: PKGBUILD 57440 2011-10-27 20:16:15Z lcarlier $ +# Maintainer: Hector <hsearaDOTatDOTgmailDOTcom> + +pkgname=gromacs-2016-complete +pkgver=2016.4 +pkgrel=1 +pkgdesc='A versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles.' +url='http://www.gromacs.org/' +license=("LGPL") +arch=('i686' 'x86_64') +depends=('lapack' 'zlib' 'libx11') +optdepends=('cuda: Nvidia GPU support' + 'openmotif: needed for gmx view' + 'perl: needed for demux.pl and xplor2gmx.pl' + 'opencl-mesa: OpenCL support for AMD GPU' + 'opencl-nvidia: OpenCL support for Nvidia GPU') +makedepends=('cmake' 'libxml2' 'hwloc' 'gcc6') +options=('!libtool') +source=(http://ftp.gromacs.org/pub/gromacs/gromacs-${pkgver}.tar.gz + GMXRC.bash.cmakein.patch) +sha1sums=('b142c9c77e793fa8def24aeacebaf8b8f1dd55fc' + '014b2cbfa13db9b495c88f653805c330747117dc') + +#With gcc6 currently there are less errors in the tests +# also the compilation is possible in CUDA capable machines +export CC=gcc-6 +export CXX=g++-6 +export CFLAGS="-march=native -O2 -pipe -fstack-protector-strong" +export CXXFLAGS="${CFLAGS}" + +export VMDDIR=/usr/lib/vmd/ #If vmd is available at compilation time + #Gromacs will have the ability to read any + #trajectory file format that can be read by + #VMD installation (e.g. AMBER's DCD format). +prepare() { +cd ${srcdir}/gromacs-${pkgver}/scripts/ +ls +patch -p0 -i ${srcdir}/GMXRC.bash.cmakein.patch +} + +build() { + mkdir -p ${srcdir}/{single,double} + + msg2 "Building the double precision files" + cd ${srcdir}/double + cmake ../gromacs-${pkgver}/ \ + -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/gromacs-${pkgver}/ \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=ON \ + -DGMX_DOUBLE=ON \ + -DGMX_BUILD_OWN_FFTW=ON \ + -DREGRESSIONTEST_DOWNLOAD=ON + # -DGMX_LIBS_SUFFIX=_d + make + + msg2 "Building the single precision files" + cd ${srcdir}/single + cmake ../gromacs-${pkgver}/ \ + -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/gromacs-${pkgver}/ \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=ON \ + -DGMX_BUILD_OWN_FFTW=ON \ + -DREGRESSIONTEST_DOWNLOAD=ON + make +} + +check () { + msg2 "Testing double precision compilation" + cd ${srcdir}/double + make check + msg2 "Testing single precision compilation" + cd ${srcdir}/single + make check +} + +package() { + msg2 "Making the single precision executables" + cd ${srcdir}/single + make DESTDIR=${pkgdir} install + + msg2 "Making the double precision executables" + cd ${srcdir}/double + make DESTDIR=${pkgdir} install +} |