Gentoo Archives: gentoo-commits

From: Christoph Junghans <ottxor@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: sci-chemistry/gromacs/
Date: Wed, 06 Mar 2013 02:04:42
Message-Id: 1362535436.d641b77cf7e5b677eea55c8b689c6945961ed8e8.ottxor@gentoo
1 commit: d641b77cf7e5b677eea55c8b689c6945961ed8e8
2 Author: Christoph Junghans <ottxor <AT> gentoo <DOT> org>
3 AuthorDate: Wed Mar 6 02:03:56 2013 +0000
4 Commit: Christoph Junghans <ottxor <AT> gentoo <DOT> org>
5 CommitDate: Wed Mar 6 02:03:56 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=d641b77c
7
8 sync with gx86 + clean up
9
10 Package-Manager: portage-2.2.0_alpha165
11
12 ---
13 sci-chemistry/gromacs/ChangeLog | 5 +
14 sci-chemistry/gromacs/gromacs-4.5.9999.ebuild | 238 -------------------------
15 sci-chemistry/gromacs/gromacs-4.6.9999.ebuild | 36 ++--
16 sci-chemistry/gromacs/gromacs-9999.ebuild | 1 -
17 sci-chemistry/gromacs/metadata.xml | 1 -
18 5 files changed, 25 insertions(+), 256 deletions(-)
19
20 diff --git a/sci-chemistry/gromacs/ChangeLog b/sci-chemistry/gromacs/ChangeLog
21 index 7672a1e..45159e4 100644
22 --- a/sci-chemistry/gromacs/ChangeLog
23 +++ b/sci-chemistry/gromacs/ChangeLog
24 @@ -2,6 +2,11 @@
25 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
26 # $Header: $
27
28 + 06 Mar 2013; Christoph Junghans <ottxor@g.o> -Manifest,
29 + -gromacs-4.5.9999.ebuild, gromacs-4.6.9999.ebuild, gromacs-9999.ebuild,
30 + metadata.xml:
31 + sync with gx86 + clean up
32 +
33 12 Feb 2013; Christoph Junghans <ottxor@g.o> gromacs-4.6.9999.ebuild,
34 gromacs-9999.ebuild, metadata.xml:
35 sse41 -> sse4_1 (bug #456886) + ninja has missing keywords
36
37 diff --git a/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild b/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild
38 deleted file mode 100644
39 index c1a0dd6..0000000
40 --- a/sci-chemistry/gromacs/gromacs-4.5.9999.ebuild
41 +++ /dev/null
42 @@ -1,238 +0,0 @@
43 -# Copyright 1999-2012 Gentoo Foundation
44 -# Distributed under the terms of the GNU General Public License v2
45 -# $Header: $
46 -
47 -EAPI="4"
48 -
49 -TEST_PV="4.0.4"
50 -MANUAL_PV="4.5.4"
51 -
52 -#to find external blas/lapack
53 -CMAKE_MIN_VERSION="2.8.5-r2"
54 -
55 -inherit bash-completion-r1 cmake-utils eutils fortran-2 multilib toolchain-funcs
56 -
57 -SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )
58 - doc? ( ftp://ftp.gromacs.org/pub/manual/manual-${MANUAL_PV}.pdf -> gromacs-manual-${MANUAL_PV}.pdf )"
59 -
60 -if [ "${PV%9999}" != "${PV}" ]; then
61 - EGIT_REPO_URI="git://git.gromacs.org/gromacs http://repo.or.cz/r/gromacs.git"
62 - EGIT_BRANCH="release-4-5-patches"
63 - inherit git-2
64 -else
65 - SRC_URI="${SRC_URI} ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz"
66 -fi
67 -
68 -DESCRIPTION="The ultimate molecular dynamics simulation package"
69 -HOMEPAGE="http://www.gromacs.org/"
70 -
71 -LICENSE="GPL-2"
72 -SLOT="0"
73 -KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
74 -IUSE="X altivec blas doc -double-precision +fftw fkernels gsl lapack
75 -mpi +single-precision sse2 test +threads xml zsh-completion"
76 -REQUIRED_USE="fkernels? ( !threads )"
77 -
78 -CDEPEND="
79 - X? (
80 - x11-libs/libX11
81 - x11-libs/libSM
82 - x11-libs/libICE
83 - )
84 - blas? ( virtual/blas )
85 - fftw? ( sci-libs/fftw:3.0 )
86 - fkernels? ( virtual/fortran )
87 - gsl? ( sci-libs/gsl )
88 - lapack? ( virtual/lapack )
89 - mpi? ( virtual/mpi )
90 - xml? ( dev-libs/libxml2:2 )"
91 -DEPEND="${CDEPEND}
92 - virtual/pkgconfig"
93 -RDEPEND="${CDEPEND}
94 - app-shells/tcsh"
95 -
96 -RESTRICT="test"
97 -
98 -pkg_setup() {
99 - use fkernels && fortran-2_pkg_setup
100 -}
101 -
102 -src_prepare() {
103 - #add user patches from /etc/portage/patches/sci-chemistry/gromacs
104 - epatch_user
105 -
106 - if use mpi && use threads; then
107 - elog "mdrun uses only threads OR mpi, and gromacs favours the"
108 - elog "use of mpi over threads, so a mpi-version of mdrun will"
109 - elog "be compiled. If you want to run mdrun on shared memory"
110 - elog "machines only, you can safely disable mpi"
111 - fi
112 -
113 - GMX_DIRS=""
114 - use single-precision && GMX_DIRS+=" float"
115 - use double-precision && GMX_DIRS+=" double"
116 - #if neither single-precision nor double-precision is enabled
117 - #build at least default (single)
118 - [ -z "$GMX_DIRS" ] && GMX_DIRS+=" float"
119 -
120 - for x in ${GMX_DIRS}; do
121 - mkdir -p "${WORKDIR}/${P}_${x}" || die
122 - use test && cp -r "${WORKDIR}"/gmxtest "${WORKDIR}/${P}_${x}"
123 - done
124 -}
125 -
126 -src_configure() {
127 - local mycmakeargs_pre=( )
128 - #from gromacs configure
129 - if use fftw; then
130 - mycmakeargs_pre+=("-DGMX_FFT_LIBRARY=fftw3")
131 - else
132 - mycmakeargs_pre+=("-DGMX_FFT_LIBRARY=fftpack")
133 - ewarn "WARNING: The built-in FFTPACK routines are slow."
134 - ewarn "Are you sure you don\'t want to use FFTW?"
135 - ewarn "It is free and much faster..."
136 - fi
137 -
138 - if [[ $(gcc-version) == "4.1" ]]; then
139 - eerror "gcc 4.1 is not supported by gromacs"
140 - eerror "please run test suite"
141 - die
142 - fi
143 -
144 - #note for gentoo-PREFIX on apple: use --enable-apple-64bit
145 -
146 - #note for gentoo-PREFIX on aix, fortran (xlf) is still much faster
147 - if use fkernels; then
148 - ewarn "Fortran kernels are usually not faster than C kernels and assembly"
149 - ewarn "I hope, you know what are you doing..."
150 - fi
151 -
152 - if use double-precision ; then
153 - #from gromacs manual
154 - elog
155 - elog "For most simulations single precision is accurate enough. In some"
156 - elog "cases double precision is required to get reasonable results:"
157 - elog
158 - elog "-normal mode analysis, for the conjugate gradient or l-bfgs minimization"
159 - elog " and the calculation and diagonalization of the Hessian "
160 - elog "-calculation of the constraint force between two large groups of atoms"
161 - elog "-energy conservation: this can only be done without temperature coupling and"
162 - elog " without cutoffs"
163 - elog
164 - fi
165 -
166 - if use mpi ; then
167 - elog "You have enabled mpi, only mdrun will make use of mpi, that is why"
168 - elog "we configure/compile gromacs twice (with and without mpi) and only"
169 - elog "install mdrun with mpi support. In addtion you will get libgmx and"
170 - elog "libmd with and without mpi support."
171 - fi
172 -
173 - #go from slowest to fasterest acceleration
174 - local acce="none"
175 - use fkernels && acce="fortran"
176 - use altivec && acce="altivec"
177 - use ia64 && acce="ia64"
178 - use sse2 && acce="sse"
179 -
180 - mycmakeargs_pre+=(
181 - $(cmake-utils_use X GMX_X11)
182 - $(cmake-utils_use blas GMX_EXTERNAL_BLAS)
183 - $(cmake-utils_use gsl GMX_GSL)
184 - $(cmake-utils_use lapack GMX_EXTERNAL_LAPACK)
185 - $(cmake-utils_use threads GMX_THREADS)
186 - $(cmake-utils_use xml GMX_XML)
187 - -DGMX_DEFAULT_SUFFIX=off
188 - -DGMX_ACCELERATION="$acce"
189 - -DGMXLIB="$(get_libdir)"
190 - )
191 -
192 - for x in ${GMX_DIRS}; do
193 - einfo "Configuring for ${x} precision"
194 - local suffix=""
195 - #if we build single and double - double is suffixed
196 - use double-precision && use single-precision && \
197 - [ "${x}" = "double" ] && suffix="_d"
198 - local p
199 - [ "${x}" = "double" ] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
200 - mycmakeargs=( ${mycmakeargs_pre[@]} ${p} -DGMX_MPI=OFF
201 - -DGMX_BINARY_SUFFIX="${suffix}" -DGMX_LIBS_SUFFIX="${suffix}" )
202 - BUILD_DIR="${WORKDIR}/${P}_${x}" cmake-utils_src_configure
203 - use mpi || continue
204 - einfo "Configuring for ${x} precision with mpi"
205 - mycmakeargs=( ${mycmakeargs_pre[@]} ${p} -DGMX_MPI=ON
206 - -DGMX_BINARY_SUFFIX="_mpi${suffix}" -DGMX_LIBS_SUFFIX="_mpi${suffix}" )
207 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" cmake-utils_src_configure
208 - done
209 -}
210 -
211 -src_compile() {
212 - for x in ${GMX_DIRS}; do
213 - einfo "Compiling for ${x} precision"
214 - BUILD_DIR="${WORKDIR}/${P}_${x}"\
215 - cmake-utils_src_compile
216 - use mpi || continue
217 - einfo "Compiling for ${x} precision with mpi"
218 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
219 - cmake-utils_src_compile mdrun
220 - done
221 -}
222 -
223 -src_test() {
224 - for x in ${GMX_DIRS}; do
225 - local oldpath="${PATH}"
226 - export PATH="${WORKDIR}/${P}_${x}/src/kernel:${S}-{x}/src/tools:${PATH}"
227 - cd "${WORKDIR}/${P}_${x}"
228 - emake -j1 tests || die "${x} Precision test failed"
229 - export PATH="${oldpath}"
230 - done
231 -}
232 -
233 -src_install() {
234 - for x in ${GMX_DIRS}; do
235 - BUILD_DIR="${WORKDIR}/${P}_${x}" \
236 - cmake-utils_src_install
237 - use mpi || continue
238 - #cmake-utils_src_install does not support args
239 - #using cmake-utils_src_compile instead
240 - BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
241 - cmake-utils_src_make install-mdrun DESTDIR="${D}"
242 - done
243 -
244 - sed -n -e '/^GMXBIN/,/^GMXDATA/p' "${ED}"/usr/bin/GMXRC.bash > "${T}/80gromacs"
245 - echo "VMD_PLUGIN_PATH=${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/" >> "${T}/80gromacs"
246 -
247 - doenvd "${T}/80gromacs"
248 - rm -f "${ED}"/usr/bin/GMXRC*
249 -
250 - newbashcomp "${ED}"/usr/bin/completion.bash ${PN}
251 - if use zsh-completion ; then
252 - insinto /usr/share/zsh/site-functions
253 - newins "${ED}"/usr/bin/completion.zsh _${PN}
254 - fi
255 - rm -f "${ED}"/usr/bin/completion.*
256 -
257 - # Fix typos in a couple of files.
258 - sed -e "s:+0f:-f:" -i "${ED}"usr/share/gromacs/tutor/gmxdemo/demo \
259 - || die "Failed to fixup demo script."
260 -
261 - cd "${S}"
262 - dodoc AUTHORS INSTALL* README*
263 - if use doc; then
264 - newdoc "${DISTDIR}/gromacs-manual-${MANUAL_PV}.pdf" "manual-${MANUAL_PV}.pdf"
265 - dohtml -r "${ED}usr/share/gromacs/html/"
266 - fi
267 - rm -rf "${ED}usr/share/gromacs/html/"
268 -}
269 -
270 -pkg_postinst() {
271 - einfo
272 - einfo "Please read and cite:"
273 - einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). "
274 - einfo "http://dx.doi.org/10.1021/ct700301q"
275 - einfo
276 - einfo $(g_luck)
277 - einfo "For more Gromacs cool quotes (gcq) add g_luck to your .bashrc"
278 - einfo
279 - elog "Gromacs can use sci-chemistry/vmd to read additional file formats"
280 -}
281
282 diff --git a/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild b/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
283 index 5e52c9f..8bd98be 100644
284 --- a/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
285 +++ b/sci-chemistry/gromacs/gromacs-4.6.9999.ebuild
286 @@ -4,10 +4,12 @@
287
288 EAPI=5
289
290 -TEST_PV="4.6"
291 -MANUAL_PV="4.6"
292 +TEST_PV="4.6.1"
293 +MANUAL_PV="4.6.1"
294
295 -inherit bash-completion-r1 cmake-utils cuda eutils multilib toolchain-funcs
296 +CMAKE_MAKEFILE_GENERATOR="ninja"
297 +
298 +inherit bash-completion-r1 cmake-utils cuda eutils multilib readme.gentoo toolchain-funcs
299
300 if [[ $PV = *9999* ]]; then
301 EGIT_REPO_URI="git://git.gromacs.org/gromacs.git
302 @@ -16,10 +18,16 @@ if [[ $PV = *9999* ]]; then
303 http://repo.or.cz/r/gromacs.git"
304 EGIT_BRANCH="release-4-6"
305 inherit git-2
306 + LIVE_DEPEND="doc? (
307 + dev-texlive/texlive-latex
308 + media-gfx/imagemagick
309 + sys-apps/coreutils
310 + )"
311 else
312 SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${P}.tar.gz
313 doc? ( ftp://ftp.gromacs.org/pub/manual/manual-${MANUAL_PV}.pdf -> ${PN}-manual-${MANUAL_PV}.pdf )
314 test? ( http://${PN}.googlecode.com/files/regressiontests-${TEST_PV}.tar.gz )"
315 + LIVE_DEPEND=""
316 fi
317
318 ACCE_IUSE="sse2 sse4_1 avx128fma avx256"
319 @@ -32,7 +40,7 @@ HOMEPAGE="http://www.gromacs.org/"
320 # base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib
321 LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )"
322 SLOT="0/${PV}"
323 -KEYWORDS="~alpha ~amd64 ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
324 +KEYWORDS="~alpha ~amd64 ~arm ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos"
325 IUSE="X blas cuda doc -double-precision +fftw gsl lapack mkl mpi +offensive openmm openmp +single-precision test +threads zsh-completion ${ACCE_IUSE}"
326
327 CDEPEND="
328 @@ -54,11 +62,7 @@ CDEPEND="
329 )"
330 DEPEND="${CDEPEND}
331 virtual/pkgconfig
332 - doc? (
333 - dev-texlive/texlive-latex
334 - media-gfx/imagemagick
335 - sys-apps/coreutils
336 - )"
337 + ${LIVE_DEPEND}"
338 RDEPEND="${CDEPEND}"
339
340 REQUIRED_USE="
341 @@ -68,7 +72,7 @@ REQUIRED_USE="
342 mkl? ( !blas !fftw !lapack )
343 !openmm" #broken, but https://gerrit.gromacs.org/#/c/2087/
344
345 -DOCS=( AUTHORS INSTALL.cmake README )
346 +DOCS=( AUTHORS README )
347 HTML_DOCS=( "${ED}"/usr/share/gromacs/html/ )
348
349 pkg_pretend() {
350 @@ -101,8 +105,7 @@ src_prepare() {
351 #notes/todos
352 # -on apple: there is framework support
353
354 - #add user patches from /etc/portage/patches/sci-chemistry/gromacs
355 - epatch_user
356 + cmake-utils_src_prepare
357
358 use cuda && cuda_src_prepare
359
360 @@ -117,9 +120,7 @@ src_prepare() {
361 done
362 fi
363
364 - if use openmm; then
365 - sed -i '/option.*GMX_OPENMM/s/^#//' src/contrib/CMakeLists.txt || die
366 - fi
367 + DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
368 }
369
370 src_configure() {
371 @@ -190,6 +191,7 @@ src_configure() {
372 einfo "Configuring for openmm build"
373 mycmakeargs=( ${mycmakeargs_pre[@]} ${p} -DGMX_MPI=OFF
374 -DGMX_THREAD_MPI=OFF -DGMX_GPU=OFF -DGMX_OPENMM=ON
375 + -DOpenMM_PLUGIN_DIR="${EPREFIX}/usr/$(get_libdir)/plugins"
376 -DGMX_BINARY_SUFFIX="_openmm" -DGMX_LIBS_SUFFIX="_openmm" )
377 BUILD_DIR="${WORKDIR}/${P}_openmm" \
378 OPENMM_ROOT_DIR="${EPREFIX}/usr" cmake-utils_src_configure
379 @@ -258,6 +260,8 @@ src_install() {
380 rm -rf "${ED}"usr/share/gromacs/html
381 rm -f "${ED}"usr/bin/g_options*
382 rm -f "${ED}"usr/bin/GMXRC*
383 +
384 + readme.gentoo_create_doc
385 }
386
387 pkg_postinst() {
388 @@ -271,5 +275,5 @@ pkg_postinst() {
389 einfo "For more Gromacs cool quotes (gcq) add g_luck to your .bashrc"
390 fi
391 einfo
392 - elog "Gromacs can use sci-chemistry/vmd to read additional file formats"
393 + readme.gentoo_print_elog
394 }
395
396 diff --git a/sci-chemistry/gromacs/gromacs-9999.ebuild b/sci-chemistry/gromacs/gromacs-9999.ebuild
397 index b9af3c0..36a6d2d 100644
398 --- a/sci-chemistry/gromacs/gromacs-9999.ebuild
399 +++ b/sci-chemistry/gromacs/gromacs-9999.ebuild
400 @@ -18,7 +18,6 @@ inherit bash-completion-r1 cmake-utils eutils git-2 multilib toolchain-funcs
401
402 DESCRIPTION="The ultimate molecular dynamics simulation package"
403 HOMEPAGE="http://www.gromacs.org/"
404 -SRC_URI="test? ( ftp://ftp.gromacs.org/pub/tests/gmxtest-${TEST_PV}.tgz )"
405
406 LICENSE="GPL-2"
407 SLOT="0/${PV}"
408
409 diff --git a/sci-chemistry/gromacs/metadata.xml b/sci-chemistry/gromacs/metadata.xml
410 index 8a88d53..880233e 100644
411 --- a/sci-chemistry/gromacs/metadata.xml
412 +++ b/sci-chemistry/gromacs/metadata.xml
413 @@ -11,7 +11,6 @@
414 <flag name="double-precision">More precise calculations at the expense of speed</flag>
415 <flag name="single-precision">Single precision version of gromacs (default)</flag>
416 <!-- acceleration optimization flags -->
417 - <flag name="fkernels">Enable building of Fortran Kernels for platforms that dont have assembly loops</flag>
418 <flag name="sse4_1">Enable sse4.1 acceleration</flag>
419 <flag name="avx128fma">Enable 128bit avx with fma (e.g. AMD BullDozer)</flag>
420 <flag name="avx256">Enable 256bit avx (e.g. Intel Sandy Bridge)</flag>