Gentoo Archives: gentoo-commits

From: Alexey Shvetsov <alexxy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/vmd/
Date: Fri, 08 Dec 2017 14:37:47
Message-Id: 1512743847.446a9f633b7faf69bf1c6b8624f8f2e965b7dc74.alexxy@gentoo
1 commit: 446a9f633b7faf69bf1c6b8624f8f2e965b7dc74
2 Author: Alexey Shvetsov <alexxy <AT> omrb <DOT> pnpi <DOT> spb <DOT> ru>
3 AuthorDate: Fri Dec 8 14:37:27 2017 +0000
4 Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
5 CommitDate: Fri Dec 8 14:37:27 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=446a9f63
7
8 sci-chemistry/vmd: Version bump
9
10 Package-Manager: Portage-2.3.16, Repoman-2.3.6
11
12 sci-chemistry/vmd/Manifest | 6 +-
13 sci-chemistry/vmd/vmd-1.9.3.ebuild | 250 +++++++++++++++++++++++++++++++++++++
14 2 files changed, 254 insertions(+), 2 deletions(-)
15
16 diff --git a/sci-chemistry/vmd/Manifest b/sci-chemistry/vmd/Manifest
17 index 8f003565998..49868a8280d 100644
18 --- a/sci-chemistry/vmd/Manifest
19 +++ b/sci-chemistry/vmd/Manifest
20 @@ -1,2 +1,4 @@
21 -DIST vmd-1.9.2-gentoo-patches.tar.xz 14896 SHA256 91508b384cb0a8aab8d8cfc31c1e7e0bc4225dbd7cdb36fbaefcfe8baca9442c SHA512 0516b9e57b256ce822a64df420ebf3ab7391722757caeaa7e615526242043e9375fee8f4ee86fb4eb8de7a50d5cfc8f8d973ace5fa082e6f9010eb692cd6ee51 WHIRLPOOL 3f87d24ad0ca7eb60e0ae3d561da7c61e0caa9fe8bb71cd3a06731228926d4c16ee03699d80adf02e2c9b263f96ea8d5b096e64e3e94b0208b1cb618c8a8a7ca
22 -DIST vmd-1.9.2.src.tar.gz 34903084 SHA256 870ee1e483ad23eb7f3bb6ac816cb7be5df893879dddc0bda8423a011993ccdb SHA512 b232b743d4ea97dcf76e3005e1c8716d7138602edc078c4846026ab67759c8559af956182cb1acf3c85890db10b6f658ac9c269d432f2595612cf376d6d505ef WHIRLPOOL e2489b4bd8f28359ee959d6ebec3a9e775fbaf7a25baa1324c99dd04c7768e002924c671c11830ec6e9589ecc9de4864f2bcf3dfaf9eb36f5a1d03d5e5841f17
23 +DIST vmd-1.9.2-gentoo-patches.tar.xz 14896 BLAKE2B eb7c7fb982602f37bd8374bf8458a0a2ea2202161248caffd0d4e0f8124d627755304bb778976e1cf5598b6bfbbe5d8c8e6016c9ec562204d6782aaaf179b185 SHA512 0516b9e57b256ce822a64df420ebf3ab7391722757caeaa7e615526242043e9375fee8f4ee86fb4eb8de7a50d5cfc8f8d973ace5fa082e6f9010eb692cd6ee51
24 +DIST vmd-1.9.2.src.tar.gz 34903084 BLAKE2B f7f7048ef7bb72a8b0dcae955c7f90691085158c38a59229d5b929a4b52d3148bdb2f40084cf8c4544f01cb8bcb57de1d98a90bd17568a07c4ebb8f6985cec9b SHA512 b232b743d4ea97dcf76e3005e1c8716d7138602edc078c4846026ab67759c8559af956182cb1acf3c85890db10b6f658ac9c269d432f2595612cf376d6d505ef
25 +DIST vmd-1.9.3-gentoo-patches.tar.xz 14804 BLAKE2B 64e5df40ed88c23c924d32636495f0383590f91dbb714e64c73551072bb50d72b4e5f188fb2da58d32e84b4bc96ff0297d7ff1bf02b0481198901c4e12e4ee59 SHA512 5d506d4df5ca4a3edb33d77aeeb440fcb4750a250c77103b99f385f356eb9d71d954173b981d3a50f7a714cfc872587e5040868904e50fa1f6fd69d7e4d9f1b1
26 +DIST vmd-1.9.3.src.tar 129566720 BLAKE2B 848f3280d51765dcd18722dd233e0cdee3b7c0ac3dd48324260ebe1604ba781ca0a1fe4cae6652501d23d5d41712020e17dbb6bc21a1856eb3289a4aab6b774b SHA512 0502df1e8b60c570ca88b779b4153acfaa599a78df53fa96fca36301bab902864118332b5524ae7d170d3a9e429cf1e13d69e1197268b5e841afc0bb56a737ba
27
28 diff --git a/sci-chemistry/vmd/vmd-1.9.3.ebuild b/sci-chemistry/vmd/vmd-1.9.3.ebuild
29 new file mode 100644
30 index 00000000000..81ebf51d9c2
31 --- /dev/null
32 +++ b/sci-chemistry/vmd/vmd-1.9.3.ebuild
33 @@ -0,0 +1,250 @@
34 +# Copyright 1999-2017 Gentoo Foundation
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=5
38 +
39 +PYTHON_COMPAT=( python2_7 )
40 +
41 +inherit cuda eutils flag-o-matic multilib prefix python-single-r1 toolchain-funcs
42 +
43 +DESCRIPTION="Visual Molecular Dynamics"
44 +HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
45 +SRC_URI="
46 + https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz
47 + ${P}.src.tar"
48 +
49 +SLOT="0"
50 +LICENSE="vmd"
51 +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
52 +IUSE="cuda gromacs msms povray sqlite tachyon xinerama"
53 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
54 +
55 +RESTRICT="fetch"
56 +
57 +# currently, tk-8.5* with USE=truetype breaks some
58 +# tk apps such as Sequence Viewer or Timeline.
59 +CDEPEND="
60 + >=dev-lang/tk-8.6.1
61 + dev-lang/perl
62 + dev-libs/expat
63 + dev-python/numpy[${PYTHON_USEDEP}]
64 + sci-libs/netcdf:0=
65 + virtual/opengl
66 + >=x11-libs/fltk-1.1.10-r2:1
67 + x11-libs/libXft
68 + x11-libs/libXi
69 + ${PYTHON_DEPS}
70 + cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
71 + gromacs? ( >=sci-chemistry/gromacs-5.0.4-r1[tng] )
72 + sqlite? ( dev-db/sqlite:3= )
73 + tachyon? ( >=media-gfx/tachyon-0.99_beta6 )
74 + xinerama? ( x11-libs/libXinerama )"
75 +DEPEND="${CDEPEND}
76 + virtual/pkgconfig
77 + dev-lang/swig"
78 +RDEPEND="${CDEPEND}
79 + sci-biology/stride
80 + sci-chemistry/surf
81 + x11-terms/xterm
82 + msms? ( sci-chemistry/msms-bin )
83 + povray? ( media-gfx/povray )
84 + "
85 +
86 +VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
87 +# Binary only plugin!!
88 +QA_PREBUILT="usr/lib*/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
89 +QA_FLAGS_IGNORED_amd64=" usr/lib64/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
90 +QA_FLAGS_IGNORED_x86=" usr/lib/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
91 +
92 +pkg_nofetch() {
93 + elog "Please download ${P}.src.tar.gz from"
94 + elog "${VMD_DOWNLOAD}"
95 + elog "after agreeing to the license and get"
96 + elog "https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz"
97 + elog "Place both in ${DISTDIR}"
98 +}
99 +
100 +src_prepare() {
101 + use cuda && cuda_sanitize
102 +
103 + epatch "${FILESDIR}"/${PN}-1.9.1-cuda-device_ptr.patch
104 +
105 + cd "${WORKDIR}"/plugins || die
106 +
107 + epatch \
108 + "${WORKDIR}"/${P}-gentoo-plugins.patch
109 +
110 + [[ ${SILENT} == yes ]] || sed '/^.SILENT/d' -i $(find -name Makefile)
111 +
112 + sed \
113 + -e "s:CC = gcc:CC = $(tc-getCC):" \
114 + -e "s:CXX = g++:CXX = $(tc-getCXX):" \
115 + -e "s:COPTO =.*\":COPTO = -fPIC -o \":" \
116 + -e "s:LOPTO = .*\":LOPTO = ${LDFLAGS} -fPIC -o \":" \
117 + -e "s:CCFLAGS =.*\":CCFLAGS = ${CFLAGS}\":" \
118 + -e "s:CXXFLAGS =.*\":CXXFLAGS = ${CXXFLAGS}\":" \
119 + -e "s:SHLD = gcc:SHLD = $(tc-getCC) -shared:" \
120 + -e "s:SHXXLD = g++:SHXXLD = $(tc-getCXX) -shared:" \
121 + -e "s:-ltcl8.5:-ltcl:" \
122 + -i Make-arch || die "Failed to set up plugins Makefile"
123 +
124 + sed \
125 + -e '/^AR /s:=:?=:g' \
126 + -e '/^RANLIB /s:=:?=:g' \
127 + -i ../plugins/*/Makefile || die
128 +
129 + tc-export AR RANLIB
130 +
131 + sed \
132 + -e "s:\$(CXXFLAGS)::g" \
133 + -i hesstrans/Makefile || die
134 +
135 + # prepare vmd itself
136 + cd "${S}" || die
137 +
138 + epatch "${WORKDIR}"/${P}-gentoo-base.patch
139 +
140 + # PREFIX
141 + sed \
142 + -e "s:/usr/include/:${EPREFIX}/usr/include:g" \
143 + -i configure || die
144 +
145 + sed \
146 + -e "s:gentoo-bindir:${ED}/usr/bin:g" \
147 + -e "s:gentoo-libdir:${ED}/usr/$(get_libdir):g" \
148 + -e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:g" \
149 + -e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):g" \
150 + -e "s:gentoo-gcc:$(tc-getCC):g" \
151 + -e "s:gentoo-g++:$(tc-getCXX):g" \
152 + -e "s:gentoo-nvcc:${EPREFIX}/opt/cuda/bin/nvcc:g" \
153 + -e "s:gentoo-cflags:${CFLAGS}:g" \
154 + -e "s:gentoo-cxxflags:${CXXFLAGS}:g" \
155 + -e "s:gentoo-nvflags::g" \
156 + -e "s:gentoo-ldflags:${LDFLAGS}:g" \
157 + -e "s:gentoo-plugindir:${WORKDIR}/plugins:g" \
158 + -e "s:gentoo-fltk-include:$(fltk-config --includedir):g" \
159 + -e "s:gentoo-fltk-libs:$(dirname $(fltk-config --libs)) -Wl,-rpath,$(dirname $(fltk-config --libs)):g" \
160 + -e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:g" \
161 + -e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):g" \
162 + -i configure || die
163 +
164 + if use cuda; then
165 + sed \
166 + -e "s:gentoo-cuda-lib:${EPREFIX}/opt/cuda/$(get_libdir):g" \
167 + -e "/NVCCFLAGS/s:=:= ${NVCCFLAGS}:g" \
168 + -i configure src/Makefile || die
169 + sed \
170 + -e '/compute_/d' \
171 + -i configure || die
172 + sed \
173 + -e 's:-gencode .*code=sm_..::' \
174 + -i src/Makefile || die
175 + fi
176 +
177 + sed \
178 + -e "s:LINUXPPC:LINUX:g" \
179 + -e "s:LINUXALPHA:LINUX:g" \
180 + -e "s:LINUXAMD64:LINUX:g" \
181 + -e "s:gentoo-stride:${EPREFIX}/usr/bin/stride:g" \
182 + -e "s:gentoo-surf:${EPREFIX}/usr/bin/surf:g" \
183 + -e "s:gentoo-tachyon:${EPREFIX}/usr/bin/tachyon:g" \
184 + -i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
185 +
186 + EMAKEOPTS=(
187 + TCLINC="-I${EPREFIX}/usr/include"
188 + TCLLIB="-L${EPREFIX}/usr/$(get_libdir)"
189 + TCLLDFLAGS="-shared"
190 + NETCDFLIB="$($(tc-getPKG_CONFIG) --libs-only-L netcdf) ${EPREFIX}/usr/$(get_libdir)/libnetcdf.so"
191 + NETCDFINC="$($(tc-getPKG_CONFIG) --cflags-only-I netcdf) ${EPREFIX}/usr/include"
192 + NETCDFLDFLAGS="$($(tc-getPKG_CONFIG) --libs netcdf)"
193 + NETCDFDYNAMIC=1
194 + EXPATINC="-I${EPREFIX}/usr/include"
195 + EXPATLIB="$($(tc-getPKG_CONFIG) --libs expat)"
196 + EXPATLDFLAGS="-shared"
197 + EXPATDYNAMIC=1
198 + )
199 + if use gromacs; then
200 + EMAKEOPTS+=(
201 + TNGLIB="$($(tc-getPKG_CONFIG) --libs libgromacs)"
202 + TNGINC="-I${EPREFIX}/usr/include"
203 + TNGLDFLAGS="-shared"
204 + TNGDYNAMIC=1
205 + )
206 + fi
207 + if use sqlite; then
208 + EMAKEOPTS+=(
209 + SQLITELIB="$($(tc-getPKG_CONFIG) --libs sqlite3)"
210 + SQLITEINC="-I${EPREFIX}/usr/include"
211 + SQLITELDFLAGS="-shared"
212 + SQLITEDYNAMIC=1
213 + )
214 + fi
215 +}
216 +
217 +src_configure() {
218 + local myconf="OPENGL OPENGLPBUFFER COLVARS FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT XINPUT"
219 + rm -f configure.options && echo $myconf >> configure.options
220 +
221 + use cuda && myconf+=" CUDA"
222 +# use mpi && myconf+=" MPI"
223 + use tachyon && myconf+=" LIBTACHYON" && append-cflags -I"${EPREFIX}/usr/include/tachyon"
224 + use xinerama && myconf+=" XINERAMA"
225 +
226 + export \
227 + PYTHON_INCLUDE_DIR="$(python_get_includedir)" \
228 + PYTHON_LIBRARY_DIR="$(python_get_library_path)" \
229 + PYTHON_LIBRARY="$(python_get_LIBS)" \
230 + NUMPY_INCLUDE_DIR="$(python_get_sitedir)/numpy/core/include" \
231 + NUMPY_LIBRARY_DIR="$(python_get_sitedir)/numpy/core/include"
232 +
233 + perl ./configure LINUX \
234 + ${myconf} || die
235 +}
236 +
237 +src_compile() {
238 + # build plugins
239 + cd "${WORKDIR}"/plugins || die
240 +
241 + emake \
242 + ${EMAKEOPTS[@]} \
243 + LINUX
244 +
245 + # build vmd
246 + cd "${S}"/src || die
247 + emake
248 +}
249 +
250 +src_install() {
251 + # install plugins
252 + cd "${WORKDIR}"/plugins || die
253 + emake \
254 + PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
255 + distrib
256 +
257 + # install vmd
258 + cd "${S}"/src || die
259 + emake install
260 +
261 + # install docs
262 + cd "${S}" || die
263 + dodoc Announcement README doc/ig.pdf doc/ug.pdf
264 +
265 + # remove some of the things we don't want and need in
266 + # /usr/lib
267 + cd "${ED}"/usr/$(get_libdir)/vmd || die
268 + rm -fr doc README Announcement LICENSE || \
269 + die "failed to clean up /usr/lib/vmd directory"
270 +
271 + # adjust path in vmd wrapper
272 + sed \
273 + -e "s:${ED}::" -i "${ED}"/usr/bin/${PN} \
274 + -e "/^defaultvmddir/s:^.*$:defaultvmddir=\"${EPREFIX}/usr/$(get_libdir)/${PN}\":g" \
275 + || die "failed to set up vmd wrapper script"
276 +
277 + # install icon and generate desktop entry
278 + insinto /usr/share/pixmaps
279 + doins "${WORKDIR}"/vmd.png
280 + eprefixify "${WORKDIR}"/vmd.desktop
281 + sed -i '/^Path/d' "${WORKDIR}"/vmd.desktop || die
282 + domenu "${WORKDIR}"/vmd.desktop
283 +}