Gentoo Archives: gentoo-commits

From: Pacho Ramos <pacho@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-chemistry/vmd/
Date: Fri, 20 May 2022 19:30:38
Message-Id: 1653075024.7d374e6585c28845b4370683b4eb3ad266436b60.pacho@gentoo
1 commit: 7d374e6585c28845b4370683b4eb3ad266436b60
2 Author: Pacho Ramos <pacho <AT> gentoo <DOT> org>
3 AuthorDate: Fri May 20 19:28:06 2022 +0000
4 Commit: Pacho Ramos <pacho <AT> gentoo <DOT> org>
5 CommitDate: Fri May 20 19:30:24 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7d374e65
7
8 sci-chemistry/vmd: add 1.9.4_alpha57
9
10 Signed-off-by: Pacho Ramos <pacho <AT> gentoo.org>
11
12 sci-chemistry/vmd/Manifest | 2 +
13 sci-chemistry/vmd/vmd-1.9.4_alpha57.ebuild | 269 +++++++++++++++++++++++++++++
14 2 files changed, 271 insertions(+)
15
16 diff --git a/sci-chemistry/vmd/Manifest b/sci-chemistry/vmd/Manifest
17 index 584d38bd84a5..0cc49d841bd2 100644
18 --- a/sci-chemistry/vmd/Manifest
19 +++ b/sci-chemistry/vmd/Manifest
20 @@ -1,3 +1,5 @@
21 DIST vmd-1.9.4_alpha51-gentoo-patches.tar.xz 14604 BLAKE2B f8621956785d365cc056ba53373120d8f99da1476ab9789af6bb8ef00b8dd8c2a4c3599d75e13eba2fc5630b291aed966ce64f7f408504b079e3e994e45da243 SHA512 c57fd81e667e405ab1208a4e4a1d63710e593c07f554420c32980becd3547c2df98fbf6e439a53a626121fc361559f1ba53ab7b7235c97422bba61ece59d23bc
22 +DIST vmd-1.9.4_alpha57-gentoo-patches.tar.xz 14612 BLAKE2B e50a2fc734038207174dd5cc525f01824ce324a65b8ce604f83862ce50be6b1950d199188a717e2368b2b050256a4705662009e3530d621b19c52bb109b6a844 SHA512 6283076e47dfcd780bbc94f9ca2b044a028a472c09d78616d373813d81ec764bf1697e56a8f487f9f0999cf409c0f141bf248156f60851073347d1b640a6953c
23 DIST vmd-1.9.4a51.src.tar.gz 42826371 BLAKE2B 239d87f975c41a71096083028c1db8bf40cc058fc687fd9fff3c14c97c9b12bd68818d4c2eaeefd8c95c661409f1f056bce42178d0ba9271aa344fdce6f81ea9 SHA512 b42af6a4a7b1d2f0d242f89bff3a1c25a608ff59b9902b90154ba82a40439afb802a2d319363fa388a5211420fdaf0ee9bfd1f0a0e6e85d89d1dd506b373ba40
24 DIST vmd-1.9.4a55.src.tar.gz 43049895 BLAKE2B 311fdbf8742647d1dbba8346e8559d26b19ec445bb5df4b23f684c5769997e2261e200b8118668d296654f59ab340fc150f5aa33fc808ad55f2e78ce7030960b SHA512 1be5f50555423120fd8c5c335a346a40253fb80cc352f08907d864f6b34d3debe28d9a3fbf821c3a6c7c86c615fd09735c05aadf1b4503722075e9ab0b946378
25 +DIST vmd-1.9.4a57.src.tar.gz 43155120 BLAKE2B de0da96f6681c24e7b1d38890f109088187198cbdddb3d86d783322e837b7a71224085699f3addf2833cf293ab2689f06ab47df284b8fbe080162740094ae844 SHA512 0a3726d8fa279ac62c368cd18724cd09535618454ff6e299d147291ef5d4198ad9d58a94f0b05699ec8a23128753c55e7397c95a5ce194e36d3fabef1bcf454c
26
27 diff --git a/sci-chemistry/vmd/vmd-1.9.4_alpha57.ebuild b/sci-chemistry/vmd/vmd-1.9.4_alpha57.ebuild
28 new file mode 100644
29 index 000000000000..d4c354c5bd35
30 --- /dev/null
31 +++ b/sci-chemistry/vmd/vmd-1.9.4_alpha57.ebuild
32 @@ -0,0 +1,269 @@
33 +# Copyright 1999-2022 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +PYTHON_COMPAT=( python3_{8..10} )
38 +
39 +inherit cuda desktop flag-o-matic prefix python-single-r1 toolchain-funcs xdg
40 +
41 +DESCRIPTION="Visual Molecular Dynamics"
42 +HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
43 +
44 +MY_PV="${PV/_alpha/a}"
45 +MY_P="${PN}-${MY_PV}"
46 +SRC_URI="
47 + ${MY_P}.src.tar.gz
48 + fetch+https://dev.gentoo.org/~pacho/${PN}/${PN}-1.9.4_alpha57-gentoo-patches.tar.xz
49 +"
50 +
51 +SLOT="0"
52 +LICENSE="vmd"
53 +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
54 +
55 +IUSE="cuda gromacs msms povray sqlite tachyon xinerama"
56 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
57 +
58 +RESTRICT="fetch"
59 +
60 +CDEPEND="${PYTHON_DEPS}
61 + $(python_gen_cond_dep '
62 + dev-python/numpy[${PYTHON_USEDEP}]
63 + ')
64 + >=dev-lang/tk-8.6.1:0=
65 + dev-lang/perl
66 + dev-libs/expat
67 + sci-libs/netcdf:0=
68 + virtual/opengl
69 + >=x11-libs/fltk-1.1.10-r2:1
70 + x11-libs/libXft
71 + x11-libs/libXi
72 + cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
73 + gromacs? ( >=sci-chemistry/gromacs-5.0.4-r1:0=[tng] )
74 + sqlite? ( dev-db/sqlite:3= )
75 + tachyon? ( >=media-gfx/tachyon-0.99_beta6 )
76 + xinerama? ( x11-libs/libXinerama )
77 +"
78 +DEPEND="${CDEPEND}"
79 +BDEPEND="
80 + virtual/pkgconfig
81 + dev-lang/swig
82 +"
83 +RDEPEND="${CDEPEND}
84 + sci-biology/stride
85 + sci-chemistry/chemical-mime-data
86 + sci-chemistry/surf
87 + x11-misc/xdg-utils
88 + x11-terms/xterm
89 + msms? ( sci-chemistry/msms-bin )
90 + povray? ( media-gfx/povray )
91 +"
92 +
93 +S="${WORKDIR}/${MY_P}"
94 +
95 +VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
96 +
97 +# Binary only plugin
98 +QA_PREBUILT="usr/lib*/vmd/plugins/LINUX/tcl/intersurf/bin/intersurf.so"
99 +QA_FLAGS_IGNORED_amd64=" usr/lib64/vmd/plugins/LINUX/tcl/volutil/volutil"
100 +QA_FLAGS_IGNORED_x86=" usr/lib/vmd/plugins/LINUX/tcl/volutil/volutil"
101 +
102 +pkg_nofetch() {
103 + elog "Please download ${MY_P}.src.tar.gz from"
104 + elog "${VMD_DOWNLOAD}"
105 + elog "after agreeing to the license."
106 + elog "Place it into your DISTDIR directory."
107 +}
108 +
109 +src_prepare() {
110 + # Apply user patches from ${WORKDIR} to allow patching on patches
111 + # subdir too
112 + cd "${WORKDIR}"
113 + default
114 +
115 + # https://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/32121.html
116 + # https://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/32116.html
117 + eapply "${WORKDIR}"/${PN}-patches/${PN}-1.9.4a51-gentoo-plugins.patch
118 +
119 + use cuda && cuda_sanitize
120 +
121 + # Prepare plugins
122 + cd plugins || die
123 +
124 + sed '/^.SILENT/d' -i $(find -name Makefile)
125 +
126 + sed \
127 + -e "s:CC = gcc:CC = $(tc-getCC):" \
128 + -e "s:CXX = g++:CXX = $(tc-getCXX):" \
129 + -e "s:COPTO =.*\":COPTO = -fPIC -o \":" \
130 + -e "s:LOPTO = .*\":LOPTO = ${LDFLAGS} -fPIC -o \":" \
131 + -e "s:CCFLAGS =.*\":CCFLAGS = ${CFLAGS}\":" \
132 + -e "s:CXXFLAGS =.*\":CXXFLAGS = ${CXXFLAGS}\":" \
133 + -e "s:SHLD = gcc:SHLD = $(tc-getCC) -shared:" \
134 + -e "s:SHXXLD = g++:SHXXLD = $(tc-getCXX) -shared:" \
135 + -e "s:-ltcl8.5:-ltcl:" \
136 + -i Make-arch || die "Failed to set up plugins Makefile"
137 +
138 + sed \
139 + -e '/^AR /s:=:?=:g' \
140 + -e '/^RANLIB /s:=:?=:g' \
141 + -i ../plugins/*/Makefile || die
142 +
143 + tc-export AR RANLIB
144 +
145 + sed \
146 + -e "s:\$(CXXFLAGS)::g" \
147 + -i hesstrans/Makefile || die
148 +
149 + # prepare vmd itself
150 + cd "${S}" || die
151 +
152 + eapply "${WORKDIR}"/${PN}-patches/${PN}-1.9.4a51-gentoo-paths.patch
153 +
154 + # https://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/32122.html
155 + eapply "${WORKDIR}"/${PN}-patches/${PN}-1.9.4-tmpdir.patch
156 +
157 + # PREFIX
158 + sed \
159 + -e "s:/usr/include/:${EPREFIX}/usr/include:g" \
160 + -i configure || die
161 +
162 + sed \
163 + -e "s:gentoo-bindir:${ED}/usr/bin:g" \
164 + -e "s:gentoo-libdir:${ED}/usr/$(get_libdir):g" \
165 + -e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:g" \
166 + -e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):g" \
167 + -e "s:gentoo-gcc:$(tc-getCC):g" \
168 + -e "s:gentoo-g++:$(tc-getCXX):g" \
169 + -e "s:gentoo-nvcc:${EPREFIX}/opt/cuda/bin/nvcc:g" \
170 + -e "s:gentoo-cflags:${CFLAGS}:g" \
171 + -e "s:gentoo-cxxflags:${CXXFLAGS}:g" \
172 + -e "s:gentoo-nvflags::g" \
173 + -e "s:gentoo-ldflags:${LDFLAGS}:g" \
174 + -e "s:gentoo-plugindir:${WORKDIR}/plugins:g" \
175 + -e "s:gentoo-fltk-include:$(fltk-config --includedir):g" \
176 + -e "s:gentoo-fltk-libs:$(dirname $(fltk-config --libs)) -Wl,-rpath,$(dirname $(fltk-config --libs)):g" \
177 + -e "s:gentoo-libtachyon-include:${EPREFIX}/usr/include/tachyon:g" \
178 + -e "s:gentoo-libtachyon-libs:${EPREFIX}/usr/$(get_libdir):g" \
179 + -e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:g" \
180 + -e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):g" \
181 + -i configure || die
182 +
183 + if use cuda; then
184 + sed \
185 + -e "s:gentoo-cuda-lib:${EPREFIX}/opt/cuda/$(get_libdir):g" \
186 + -e "/NVCCFLAGS/s:=:= ${NVCCFLAGS}:g" \
187 + -i configure src/Makefile || die
188 + sed \
189 + -e '/compute_/d' \
190 + -i configure || die
191 + sed \
192 + -e 's:-gencode .*code=sm_..::' \
193 + -i src/Makefile || die
194 + fi
195 +
196 + sed \
197 + -e "s:LINUXPPC:LINUX:g" \
198 + -e "s:LINUXALPHA:LINUX:g" \
199 + -e "s:LINUXAMD64:LINUX:g" \
200 + -e "s:gentoo-stride:${EPREFIX}/usr/bin/stride:g" \
201 + -e "s:gentoo-surf:${EPREFIX}/usr/bin/surf:g" \
202 + -e "s:gentoo-tachyon:${EPREFIX}/usr/bin/tachyon:g" \
203 + -i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
204 +
205 + EMAKEOPTS=(
206 + TCLINC="-I${EPREFIX}/usr/include"
207 + TCLLIB="-L${EPREFIX}/usr/$(get_libdir)"
208 + TCLLDFLAGS="-shared"
209 + NETCDFLIB="$($(tc-getPKG_CONFIG) --libs-only-L netcdf)${EPREFIX}/usr/$(get_libdir)/libnetcdf.so"
210 + NETCDFINC="$($(tc-getPKG_CONFIG) --cflags-only-I netcdf)${EPREFIX}/usr/include"
211 + NETCDFLDFLAGS="$($(tc-getPKG_CONFIG) --libs netcdf)"
212 + NETCDFDYNAMIC=1
213 + EXPATINC="-I${EPREFIX}/usr/include"
214 + EXPATLIB="$($(tc-getPKG_CONFIG) --libs expat)"
215 + EXPATLDFLAGS="-shared"
216 + EXPATDYNAMIC=1
217 + )
218 + if use gromacs; then
219 + EMAKEOPTS+=(
220 + TNGLIB="$($(tc-getPKG_CONFIG) --libs libgromacs)"
221 + TNGINC="-I${EPREFIX}/usr/include"
222 + TNGLDFLAGS="-shared"
223 + TNGDYNAMIC=1
224 + )
225 + fi
226 + if use sqlite; then
227 + EMAKEOPTS+=(
228 + SQLITELIB="$($(tc-getPKG_CONFIG) --libs sqlite3)"
229 + SQLITEINC="-I${EPREFIX}/usr/include"
230 + SQLITELDFLAGS="-shared"
231 + SQLITEDYNAMIC=1
232 + )
233 + fi
234 +}
235 +
236 +src_configure() {
237 + local myconf="OPENGL OPENGLPBUFFER COLVARS FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT XINPUT"
238 + rm -f configure.options && echo $myconf >> configure.options
239 +
240 + use cuda && myconf+=" CUDA"
241 +# use mpi && myconf+=" MPI"
242 + use tachyon && myconf+=" LIBTACHYON"
243 + use xinerama && myconf+=" XINERAMA"
244 +
245 + export \
246 + PYTHON_INCLUDE_DIR="$(python_get_includedir)" \
247 + PYTHON_LIBRARY_DIR="$(python_get_library_path)" \
248 + PYTHON_LIBRARY="$(python_get_LIBS)" \
249 + NUMPY_INCLUDE_DIR="$(python_get_sitedir)/numpy/core/include" \
250 + NUMPY_LIBRARY_DIR="$(python_get_sitedir)/numpy/core/include"
251 +
252 + perl ./configure LINUX \
253 + ${myconf} || die
254 +}
255 +
256 +src_compile() {
257 + # build plugins
258 + cd "${WORKDIR}"/plugins || die
259 +
260 + emake \
261 + ${EMAKEOPTS[@]} \
262 + LINUX
263 +
264 + # build vmd
265 + cd "${S}"/src || die
266 + emake
267 +}
268 +
269 +src_install() {
270 + # install plugins
271 + cd "${WORKDIR}"/plugins || die
272 + emake \
273 + PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
274 + distrib
275 +
276 + # install vmd
277 + cd "${S}"/src || die
278 + emake install
279 +
280 + # install docs
281 + cd "${S}" || die
282 + dodoc Announcement README doc/ig.pdf doc/ug.pdf
283 +
284 + # remove some of the things we don't want and need in
285 + # /usr/lib
286 + cd "${ED}"/usr/$(get_libdir)/vmd || die
287 + rm -fr doc README Announcement LICENSE || \
288 + die "failed to clean up /usr/lib/vmd directory"
289 +
290 + # adjust path in vmd wrapper
291 + sed \
292 + -e "s:${ED}::" -i "${ED}"/usr/bin/${PN} \
293 + -e "/^defaultvmddir/s:^.*$:defaultvmddir=\"${EPREFIX}/usr/$(get_libdir)/${PN}\":g" \
294 + || die "failed to set up vmd wrapper script"
295 +
296 + # install icon and generate desktop entry
297 + insinto /usr/share/pixmaps
298 + doins "${WORKDIR}"/vmd-patches/vmd.png
299 + eprefixify "${WORKDIR}"/vmd-patches/vmd.desktop
300 + domenu "${WORKDIR}"/vmd-patches/vmd.desktop
301 +}