Gentoo Archives: gentoo-commits

From: "Justin Lecher (jlec)" <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sci-chemistry/gromacs: metadata.xml gromacs-5.0.4-r1.ebuild ChangeLog
Date: Fri, 06 Mar 2015 09:42:38
Message-Id: 20150306094231.4C0F51327C@oystercatcher.gentoo.org
1 jlec 15/03/06 09:42:31
2
3 Modified: metadata.xml ChangeLog
4 Added: gromacs-5.0.4-r1.ebuild
5 Log:
6 Install missing header
7
8 (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key B9D4F231BD1558AB!)
9
10 Revision Changes Path
11 1.22 sci-chemistry/gromacs/metadata.xml
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-chemistry/gromacs/metadata.xml?rev=1.22&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-chemistry/gromacs/metadata.xml?rev=1.22&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-chemistry/gromacs/metadata.xml?r1=1.21&r2=1.22
16
17 Index: metadata.xml
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/metadata.xml,v
20 retrieving revision 1.21
21 retrieving revision 1.22
22 diff -u -r1.21 -r1.22
23 --- metadata.xml 31 Jan 2015 20:23:56 -0000 1.21
24 +++ metadata.xml 6 Mar 2015 09:42:31 -0000 1.22
25 @@ -9,10 +9,10 @@
26 <use>
27 <flag name="cuda">Enable cuda non-bonded kernels</flag>
28 <flag name="double-precision">More precise calculations at the expense of speed</flag>
29 - <flag name="single-precision">Single precision version of gromacs (default)</flag>
30 - <flag name="boost">Enable external boost library</flag>
31 - <flag name="tng">Enable new trajectory format - tng</flag>
32 - <flag name="make-symlinks">Create symbolic links for pre-5.0 binary names</flag>
33 + <flag name="single-precision">Single precision version of gromacs (default)</flag>
34 + <flag name="boost">Enable external boost library</flag>
35 + <flag name="tng">Enable new trajectory format - tng</flag>
36 + <flag name="make-symlinks">Create symbolic links for pre-5.0 binary names</flag>
37 <!-- acceleration optimization flags -->
38 <flag name="offensive">Enable gromacs partly offensive quotes</flag>
39 <flag name="openmm">Add acceleration through <pkg>sci-libs/openmm</pkg></flag>
40
41
42
43 1.156 sci-chemistry/gromacs/ChangeLog
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-chemistry/gromacs/ChangeLog?rev=1.156&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-chemistry/gromacs/ChangeLog?rev=1.156&content-type=text/plain
47 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-chemistry/gromacs/ChangeLog?r1=1.155&r2=1.156
48
49 Index: ChangeLog
50 ===================================================================
51 RCS file: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/ChangeLog,v
52 retrieving revision 1.155
53 retrieving revision 1.156
54 diff -u -r1.155 -r1.156
55 --- ChangeLog 26 Feb 2015 19:04:02 -0000 1.155
56 +++ ChangeLog 6 Mar 2015 09:42:31 -0000 1.156
57 @@ -1,6 +1,12 @@
58 # ChangeLog for sci-chemistry/gromacs
59 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
60 -# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/ChangeLog,v 1.155 2015/02/26 19:04:02 maekke Exp $
61 +# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/ChangeLog,v 1.156 2015/03/06 09:42:31 jlec Exp $
62 +
63 +*gromacs-5.0.4-r1 (06 Mar 2015)
64 +
65 + 06 Mar 2015; Justin Lecher <jlec@g.o> +gromacs-5.0.4-r1.ebuild,
66 + metadata.xml:
67 + Install missing header
68
69 26 Feb 2015; Markus Meier <maekke@g.o> gromacs-5.0.4.ebuild:
70 arm stable, bug #538370
71
72
73
74 1.1 sci-chemistry/gromacs/gromacs-5.0.4-r1.ebuild
75
76 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-chemistry/gromacs/gromacs-5.0.4-r1.ebuild?rev=1.1&view=markup
77 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sci-chemistry/gromacs/gromacs-5.0.4-r1.ebuild?rev=1.1&content-type=text/plain
78
79 Index: gromacs-5.0.4-r1.ebuild
80 ===================================================================
81 # Copyright 1999-2015 Gentoo Foundation
82 # Distributed under the terms of the GNU General Public License v2
83 # $Header: /var/cvsroot/gentoo-x86/sci-chemistry/gromacs/gromacs-5.0.4-r1.ebuild,v 1.1 2015/03/06 09:42:31 jlec Exp $
84
85 EAPI=5
86
87 CMAKE_MAKEFILE_GENERATOR="ninja"
88
89 inherit bash-completion-r1 cmake-utils cuda eutils multilib readme.gentoo toolchain-funcs
90
91 if [[ $PV = *9999* ]]; then
92 EGIT_REPO_URI="git://git.gromacs.org/gromacs.git
93 https://gerrit.gromacs.org/gromacs.git
94 git://github.com/gromacs/gromacs.git
95 http://repo.or.cz/r/gromacs.git"
96 EGIT_BRANCH="release-5-0"
97 inherit git-r3
98 KEYWORDS=""
99 else
100 SRC_URI="ftp://ftp.gromacs.org/pub/${PN}/${PN}-${PV/_/-}.tar.gz
101 test? ( http://gerrit.gromacs.org/download/regressiontests-${PV}.tar.gz )"
102 KEYWORDS="~alpha ~amd64 ~arm ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos"
103 fi
104
105 ACCE_IUSE="cpu_flags_x86_sse2 cpu_flags_x86_sse4_1 cpu_flags_x86_fma4 cpu_flags_x86_avx cpu_flags_x86_avx2"
106
107 DESCRIPTION="The ultimate molecular dynamics simulation package"
108 HOMEPAGE="http://www.gromacs.org/"
109
110 # see COPYING for details
111 # http://repo.or.cz/w/gromacs.git/blob/HEAD:/COPYING
112 # base, vmd plugins, fftpack from numpy, blas/lapck from netlib, memtestG80 library, mpi_thread lib
113 LICENSE="LGPL-2.1 UoI-NCSA !mkl? ( !fftw? ( BSD ) !blas? ( BSD ) !lapack? ( BSD ) ) cuda? ( LGPL-3 ) threads? ( BSD )"
114 SLOT="0/${PV}"
115 IUSE="X blas boost cuda +doc -double-precision +fftw lapack +make-symlinks mkl mpi +offensive openmp +single-precision test +threads +tng ${ACCE_IUSE}"
116
117 CDEPEND="
118 X? (
119 x11-libs/libX11
120 x11-libs/libSM
121 x11-libs/libICE
122 )
123 blas? ( virtual/blas )
124 boost? ( >=dev-libs/boost-1.55 )
125 cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1 )
126 fftw? ( sci-libs/fftw:3.0 )
127 lapack? ( virtual/lapack )
128 mkl? ( sci-libs/mkl )
129 mpi? ( virtual/mpi )
130 "
131 DEPEND="${CDEPEND}
132 virtual/pkgconfig
133 doc? (
134 app-doc/doxygen
135 dev-texlive/texlive-latex
136 dev-texlive/texlive-latexextra
137 media-gfx/imagemagick
138 )"
139 RDEPEND="${CDEPEND}"
140
141 REQUIRED_USE="
142 || ( single-precision double-precision )
143 cuda? ( single-precision )
144 mkl? ( !blas !fftw !lapack )"
145
146 DOCS=( AUTHORS README )
147
148 if [[ ${PV} != *9999 ]]; then
149 S="${WORKDIR}/${PN}-${PV/_/-}"
150 fi
151
152 pkg_pretend() {
153 [[ $(gcc-version) == "4.1" ]] && die "gcc 4.1 is not supported by gromacs"
154 use openmp && ! tc-has-openmp && \
155 die "Please switch to an openmp compatible compiler"
156 }
157
158 src_unpack() {
159 if [[ ${PV} != *9999 ]]; then
160 default
161 else
162 git-r3_src_unpack
163 if use test; then
164 EGIT_REPO_URI="git://git.gromacs.org/regressiontests.git" \
165 EGIT_BRANCH="master" EGIT_COMMIT="master" \
166 EGIT_CHECKOUT_DIR="${WORKDIR}/regressiontests"\
167 git-r3_src_unpack
168 fi
169 fi
170 }
171
172 src_prepare() {
173 #notes/todos
174 # -on apple: there is framework support
175
176 cmake-utils_src_prepare
177
178 use cuda && cuda_src_prepare
179
180 GMX_DIRS=""
181 use single-precision && GMX_DIRS+=" float"
182 use double-precision && GMX_DIRS+=" double"
183
184 if use test; then
185 for x in ${GMX_DIRS}; do
186 mkdir -p "${WORKDIR}/${P}_${x}" || die
187 cp -al "${WORKDIR}/regressiontests"* "${WORKDIR}/${P}_${x}/tests" || die
188 done
189 fi
190
191 DOC_CONTENTS="Gromacs can use sci-chemistry/vmd to read additional file formats"
192 }
193
194 src_configure() {
195 local mycmakeargs_pre=( ) extra fft_opts=( )
196
197 #go from slowest to fastest acceleration
198 local acce="None"
199 use cpu_flags_x86_sse2 && acce="SSE2"
200 use cpu_flags_x86_sse4_1 && acce="SSE4.1"
201 use cpu_flags_x86_fma4 && acce="AVX_128_FMA"
202 use cpu_flags_x86_avx && acce="AVX_256"
203 use cpu_flags_x86_avx2 && acce="AVX2_256"
204
205 #to create man pages, build tree binaries are executed (bug #398437)
206 [[ ${CHOST} = *-darwin* ]] && \
207 extra+=" -DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF"
208
209 if use fftw; then
210 fft_opts=( -DGMX_FFT_LIBRARY=fftw3 )
211 elif use mkl && has_version "=sci-libs/mkl-10*"; then
212 fft_opts=( -DGMX_FFT_LIBRARY=mkl
213 -DMKL_INCLUDE_DIR="${MKLROOT}/include"
214 -DMKL_LIBRARIES="$(echo /opt/intel/mkl/10.0.5.025/lib/*/libmkl.so);$(echo /opt/intel/mkl/10.0.5.025/lib/*/libiomp*.so)"
215 )
216 elif use mkl; then
217 local bits=$(get_libdir)
218 fft_opts=( -DGMX_FFT_LIBRARY=mkl
219 -DMKL_INCLUDE_DIR="$(echo /opt/intel/*/mkl/include)"
220 -DMKL_LIBRARIES="$(echo /opt/intel/*/mkl/lib/*${bits/lib}/libmkl_rt.so)"
221 )
222 else
223 fft_opts=( -DGMX_FFT_LIBRARY=fftpack )
224 fi
225
226 mycmakeargs_pre+=(
227 "${fft_opts[@]}"
228 $(cmake-utils_use X GMX_X11)
229 $(cmake-utils_use blas GMX_EXTERNAL_BLAS)
230 $(cmake-utils_use lapack GMX_EXTERNAL_LAPACK)
231 $(cmake-utils_use openmp GMX_OPENMP)
232 $(cmake-utils_use offensive GMX_COOL_QUOTES)
233 $(cmake-utils_use boost GMX_EXTERNAL_BOOST)
234 $(cmake-utils_use tng GMX_USE_TNG)
235 $(cmake-utils_use doc GMX_BUILD_MANUAL)
236 $(cmake-utils_use make-symlinks GMX_SYMLINK_OLD_BINARY_NAMES)
237 -DGMX_DEFAULT_SUFFIX=off
238 -DGMX_SIMD="$acce"
239 -DGMX_LIB_INSTALL_DIR="$(get_libdir)"
240 -DGMX_VMD_PLUGIN_PATH="${EPREFIX}/usr/$(get_libdir)/vmd/plugins/*/molfile/"
241 -DGMX_X86_AVX_GCC_MASKLOAD_BUG=OFF
242 -DGMX_USE_GCC44_BUG_WORKAROUND=OFF
243 -DBUILD_TESTING=OFF
244 -DGMX_BUILD_UNITTESTS=OFF
245 ${extra}
246 )
247
248 for x in ${GMX_DIRS}; do
249 einfo "Configuring for ${x} precision"
250 local suffix=""
251 #if we build single and double - double is suffixed
252 use double-precision && use single-precision && \
253 [[ ${x} = "double" ]] && suffix="_d"
254 local p
255 [[ ${x} = "double" ]] && p="-DGMX_DOUBLE=ON" || p="-DGMX_DOUBLE=OFF"
256 local cuda=( "-DGMX_GPU=OFF" )
257 [[ ${x} = "float" ]] && use cuda && \
258 cuda=( -DGMX_GPU=ON )
259 mycmakeargs=(
260 ${mycmakeargs_pre[@]} ${p}
261 -DGMX_MPI=OFF
262 $(cmake-utils_use threads GMX_THREAD_MPI)
263 "${cuda[@]}"
264 -DGMX_OPENMM=OFF
265 "$(use test && echo -DREGRESSIONTEST_PATH="${WORKDIR}/${P}_${x}/tests")"
266 -DGMX_BINARY_SUFFIX="${suffix}"
267 -DGMX_LIBS_SUFFIX="${suffix}"
268 )
269 BUILD_DIR="${WORKDIR}/${P}_${x}" cmake-utils_src_configure
270 [[ ${CHOST} != *-darwin* ]] || \
271 sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}/gentoo_rules.cmake" || die
272 use mpi || continue
273 einfo "Configuring for ${x} precision with mpi"
274 mycmakeargs=(
275 ${mycmakeargs_pre[@]} ${p}
276 -DGMX_THREAD_MPI=OFF
277 -DGMX_MPI=ON ${cuda}
278 -DGMX_OPENMM=OFF
279 -DGMX_BUILD_MDRUN_ONLY=ON
280 -DBUILD_SHARED_LIBS=OFF
281 -DGMX_BUILD_MANUAL=OFF
282 -DGMX_BINARY_SUFFIX="_mpi${suffix}"
283 -DGMX_LIBS_SUFFIX="_mpi${suffix}"
284 )
285 BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" CC="mpicc" cmake-utils_src_configure
286 [[ ${CHOST} != *-darwin* ]] || \
287 sed -i '/SET(CMAKE_INSTALL_NAME_DIR/s/^/#/' "${WORKDIR}/${P}_${x}_mpi/gentoo_rules.cmake" || die
288 done
289 }
290
291 src_compile() {
292 for x in ${GMX_DIRS}; do
293 einfo "Compiling for ${x} precision"
294 BUILD_DIR="${WORKDIR}/${P}_${x}"\
295 cmake-utils_src_compile
296 # generate bash completion, not 100% necessary for
297 # rel ebuilds as bundled
298 BUILD_DIR="${WORKDIR}/${P}_${x}"\
299 cmake-utils_src_compile completion
300 # not 100% necessary for rel ebuilds as available from website
301 if use doc; then
302 BUILD_DIR="${WORKDIR}/${P}_${x}"\
303 cmake-utils_src_compile manual
304 fi
305 use mpi || continue
306 einfo "Compiling for ${x} precision with mpi"
307 BUILD_DIR="${WORKDIR}/${P}_${x}_mpi"\
308 cmake-utils_src_compile
309 done
310 }
311
312 src_test() {
313 for x in ${GMX_DIRS}; do
314 BUILD_DIR="${WORKDIR}/${P}_${x}"\
315 cmake-utils_src_make check
316 done
317 }
318
319 src_install() {
320 for x in ${GMX_DIRS}; do
321 BUILD_DIR="${WORKDIR}/${P}_${x}" \
322 cmake-utils_src_install
323 if use doc; then
324 newdoc "${WORKDIR}/${P}_${x}"/docs/manual/gromacs.pdf "${PN}-manual-${PV}.pdf"
325 fi
326 #release ebuild does this automatically
327 if [[ $PV = *9999* ]]; then
328 cp "${WORKDIR}/${P}_${x}"/src/programs/completion/gmx-completion.bash "${ED}/usr/bin" || die
329 echo "complete -o nospace -F _gmx_compl gmx" > "${ED}/usr/bin/gmx-completion-gmx.bash" || die
330 fi
331 use mpi || continue
332 BUILD_DIR="${WORKDIR}/${P}_${x}_mpi" \
333 cmake-utils_src_install
334 done
335
336 if use tng; then
337 insinto /usr/include/tng
338 doins src/external/tng_io/include/tng/*h
339 fi
340 # drop unneeded stuff
341 rm "${ED}"usr/bin/GMXRC* || die
342 #concatenate all gmx-completion*, starting with gmx-completion.bash (fct defs)
343 #little hacckery as some gmx-completion* newlines ,so cat won't work
344 for x in "${ED}"usr/bin/gmx-completion{,?*}.bash ; do
345 echo $(<${x})
346 done > "${T}"/gmx-bashcomp || die
347 newbashcomp "${T}"/gmx-bashcomp gmx
348 bashcomp_alias gmx mdrun
349 rm "${ED}"usr/bin/gmx-completion{,?*}.bash || die
350 if use double-precision && use single-precision; then
351 bashcomp_alias gmx gmx_d
352 bashcomp_alias gmx mdrun_d
353 fi
354 readme.gentoo_create_doc
355 }
356
357 pkg_postinst() {
358 einfo
359 einfo "Please read and cite:"
360 einfo "Gromacs 4, J. Chem. Theory Comput. 4, 435 (2008). "
361 einfo "http://dx.doi.org/10.1021/ct700301q"
362 einfo
363 readme.gentoo_print_elog
364 }