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> |