summaryrefslogtreecommitdiff
path: root/sci-chemistry/vmd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-chemistry/vmd
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-chemistry/vmd')
-rw-r--r--sci-chemistry/vmd/Manifest8
-rw-r--r--sci-chemistry/vmd/files/vmd-1.9.1-cuda-device_ptr.patch28
-rw-r--r--sci-chemistry/vmd/files/vmd-1.9.2-format-security.patch16
-rw-r--r--sci-chemistry/vmd/metadata.xml19
-rw-r--r--sci-chemistry/vmd/vmd-1.9.2.ebuild251
5 files changed, 322 insertions, 0 deletions
diff --git a/sci-chemistry/vmd/Manifest b/sci-chemistry/vmd/Manifest
new file mode 100644
index 000000000000..aa1283c7ab08
--- /dev/null
+++ b/sci-chemistry/vmd/Manifest
@@ -0,0 +1,8 @@
+AUX vmd-1.9.1-cuda-device_ptr.patch 934 SHA256 8d32ebe81adb4ec0186ceba08743c0b6a25c76b3c58edaefa85df38328aaa87e SHA512 274756fe17fdcc39ce471c3187f3076407d34b64e49b0006ee30525a952277b2b5c713fffa8786162dc542eef2b021f2bf7339736cf9e81b673d5146114829ed WHIRLPOOL 400959a0b52ce0026308bf2c251de9e0c87ee65c8c10844a7cd2f21b319623868316970247984a22b19dcd17a15e8cdf6959b60c5575a05f3709191a55eb4fb2
+AUX vmd-1.9.2-format-security.patch 550 SHA256 4e3fa85105117ab4c259ae6e58fb38fee668fc3000b981369841f98740c0ba61 SHA512 81a71ee4c4c438d18f3a393ebad5c9a08f1a7bb95fa58b78a8798955a34ae2494f80fa074b973a1b595862080e9103d21e509443742cfe2bc3cf77f10c0e3c9d WHIRLPOOL 8a2b64514ba9876bdbc2c4afa9ae48b4742099c1cb39b3835f4e340e0b4330cf06f28f92320c15481d4d6ed27c8491dc899572c091a952fa17eb1b0356b01aed
+DIST vmd-1.9.2-gentoo-patches.tar.xz 14896 SHA256 91508b384cb0a8aab8d8cfc31c1e7e0bc4225dbd7cdb36fbaefcfe8baca9442c SHA512 0516b9e57b256ce822a64df420ebf3ab7391722757caeaa7e615526242043e9375fee8f4ee86fb4eb8de7a50d5cfc8f8d973ace5fa082e6f9010eb692cd6ee51 WHIRLPOOL 3f87d24ad0ca7eb60e0ae3d561da7c61e0caa9fe8bb71cd3a06731228926d4c16ee03699d80adf02e2c9b263f96ea8d5b096e64e3e94b0208b1cb618c8a8a7ca
+DIST vmd-1.9.2.src.tar.gz 34903084 SHA256 870ee1e483ad23eb7f3bb6ac816cb7be5df893879dddc0bda8423a011993ccdb SHA512 b232b743d4ea97dcf76e3005e1c8716d7138602edc078c4846026ab67759c8559af956182cb1acf3c85890db10b6f658ac9c269d432f2595612cf376d6d505ef WHIRLPOOL e2489b4bd8f28359ee959d6ebec3a9e775fbaf7a25baa1324c99dd04c7768e002924c671c11830ec6e9589ecc9de4864f2bcf3dfaf9eb36f5a1d03d5e5841f17
+EBUILD vmd-1.9.2.ebuild 7144 SHA256 d6d38d62c6b8001bbf0a43a96bb1dafc80025addd1faa98f0abe1a492825876d SHA512 d3432b08ea1b5888a05e49911daabaaac64f265940fb639c1677532c7828431735e89119ca450f8983ddf961857a866ba5e2cb288b960b8f386746e87ae9411e WHIRLPOOL 571a6f8832b61f6fa120fc8c876a1d06592ec3ba7eea5af4b39a572d46a04afde3c169efa181e9773ee0cb03bc19bfd657c9f1e1eb16f29517855b017f6ffe7a
+MISC ChangeLog 2551 SHA256 e9fb995684082a287b3209a9d642c652499b9bab26da73f4a28fd6e03b8407ac SHA512 c28866e3cf85f8c1ff40408da7ea6a2c08b449a516d5b73e7fafb936901e4b086d2d7145f3b27557546a88ed45efa66bc2ca29188ac058cf82a0476600545925 WHIRLPOOL 41002b5fa58cee1d9ecefa015636ec32d55904425e9fdbd81b57bb910553ea47c272beacbabb9b881c2e8c3214023bd85d614c7b6b9f285800be415cfb520326
+MISC ChangeLog-2015 10735 SHA256 a86018bbed7e1a61b0c80a738ec7d1bc5684d3f90769045be55714c187a46857 SHA512 210b17a4758411bf7344e7c235ff5c16a7f538bb031aaa53bcd134014ddcf497335863870fb4fb237dc2724528ba0e847d1d53d4e28f4d1383af93859f02d60c WHIRLPOOL 2854f8e671cb5bc4f203de6995b896485521bce7119adeda55756d545fe6e33ce9ba4e280f171081693dd7728cdd39c141550fb7d425fafa93cdbb7f7f645bad
+MISC metadata.xml 778 SHA256 79ee62bd7447526f07950c756d31d87e2c52d6f79773bbf95f806717926b40ce SHA512 8ac6f9bf6f78c1da366fa5e61950be887ce7aafe479e359e18448de2ad422b977ef3a2d44a36434f36701aa7c0447f2a041dedb91102b2628a09379e664f46df WHIRLPOOL 6795ec883c6137f16510816bacf7cd0fd0262bf5da774af31adf4c0411f3d0b04d8213dd1e8b7591ce4426e59e9612a1baea4b6cab3a2412b4853e023040dd09
diff --git a/sci-chemistry/vmd/files/vmd-1.9.1-cuda-device_ptr.patch b/sci-chemistry/vmd/files/vmd-1.9.1-cuda-device_ptr.patch
new file mode 100644
index 000000000000..ce842448decf
--- /dev/null
+++ b/sci-chemistry/vmd/files/vmd-1.9.1-cuda-device_ptr.patch
@@ -0,0 +1,28 @@
+ vmd-1.9.1/src/CUDAMarchingCubes.cu | 1 +
+ vmd-1.9.1/src/CUDAQuickSurf.cu | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/vmd-1.9.1/src/CUDAMarchingCubes.cu b/vmd-1.9.1/src/CUDAMarchingCubes.cu
+index 5bfe7bf..36faaf0 100755
+--- a/vmd-1.9.1/src/CUDAMarchingCubes.cu
++++ b/vmd-1.9.1/src/CUDAMarchingCubes.cu
+@@ -45,6 +45,7 @@
+ #include "CUDAMarchingCubes.h"
+ #include <thrust/scan.h>
+ #include <thrust/functional.h>
++#include <thrust/device_ptr.h>
+
+ // The number of threads to use for triangle generation
+ // (limited by shared memory size)
+diff --git a/vmd-1.9.1/src/CUDAQuickSurf.cu b/vmd-1.9.1/src/CUDAQuickSurf.cu
+index a21ebde..56a42c8 100755
+--- a/vmd-1.9.1/src/CUDAQuickSurf.cu
++++ b/vmd-1.9.1/src/CUDAQuickSurf.cu
+@@ -22,6 +22,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <cuda.h>
++#include <thrust/device_ptr.h>
+
+ #if CUDART_VERSION < 4000
+ #error The VMD QuickSurf feature requires CUDA 4.0 or later
diff --git a/sci-chemistry/vmd/files/vmd-1.9.2-format-security.patch b/sci-chemistry/vmd/files/vmd-1.9.2-format-security.patch
new file mode 100644
index 000000000000..3f9ea5c8c2ef
--- /dev/null
+++ b/sci-chemistry/vmd/files/vmd-1.9.2-format-security.patch
@@ -0,0 +1,16 @@
+ plugins/molfile_plugin/src/maeffplugin.cxx | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/molfile_plugin/src/maeffplugin.cxx b/plugins/molfile_plugin/src/maeffplugin.cxx
+index cfe1223..41d92bb 100644
+--- a/plugins/molfile_plugin/src/maeffplugin.cxx
++++ b/plugins/molfile_plugin/src/maeffplugin.cxx
+@@ -1979,7 +1979,7 @@ namespace {
+ }
+ }
+ catch (std::exception &e) {
+- fprintf(stderr, e.what());
++ fprintf(stderr, "%s", e.what());
+ return MOLFILE_ERROR;
+ }
+ return MOLFILE_SUCCESS;
diff --git a/sci-chemistry/vmd/metadata.xml b/sci-chemistry/vmd/metadata.xml
new file mode 100644
index 000000000000..1b24082830f2
--- /dev/null
+++ b/sci-chemistry/vmd/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-chemistry@gentoo.org</email>
+ <name>Gentoo Chemistry Project</name>
+ </maintainer>
+ <use>
+ <flag name="cuda">Use nvidia cuda toolkit for speeding up computations</flag>
+ <flag name="gromacs">Add support for TNG file format</flag>
+ <flag name="msms">Add support for MSMS SAS calcualtion tool</flag>
+ <flag name="povray">Add support for povray raytracer for HQ images</flag>
+ <flag name="tachyon">Add support for tachyon raytracer for HQ images</flag>
+ </use>
+</pkgmetadata>
diff --git a/sci-chemistry/vmd/vmd-1.9.2.ebuild b/sci-chemistry/vmd/vmd-1.9.2.ebuild
new file mode 100644
index 000000000000..347a8c9a751f
--- /dev/null
+++ b/sci-chemistry/vmd/vmd-1.9.2.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit cuda eutils flag-o-matic multilib prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="Visual Molecular Dynamics"
+HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
+SRC_URI="
+ https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz
+ ${P}.src.tar.gz"
+
+SLOT="0"
+LICENSE="vmd"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda gromacs msms povray sqlite tachyon xinerama"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="fetch"
+
+# currently, tk-8.5* with USE=truetype breaks some
+# tk apps such as Sequence Viewer or Timeline.
+CDEPEND="
+ >=dev-lang/tk-8.6.1
+ dev-lang/perl
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/netcdf:0=
+ virtual/opengl
+ >=x11-libs/fltk-1.1.10-r2:1
+ x11-libs/libXft
+ x11-libs/libXi
+ ${PYTHON_DEPS}
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-4.2.9-r1:= )
+ gromacs? ( >=sci-chemistry/gromacs-5.0.4-r1[tng] )
+ sqlite? ( dev-db/sqlite:3= )
+ tachyon? ( >=media-gfx/tachyon-0.99_beta6 )
+ xinerama? ( x11-libs/libXinerama )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig
+ dev-lang/swig"
+RDEPEND="${CDEPEND}
+ sci-biology/stride
+ sci-chemistry/surf
+ x11-terms/xterm
+ msms? ( sci-chemistry/msms-bin )
+ povray? ( media-gfx/povray )
+ "
+
+VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
+# Binary only plugin!!
+QA_PREBUILT="usr/lib*/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
+QA_FLAGS_IGNORED_amd64=" usr/lib64/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
+QA_FLAGS_IGNORED_x86=" usr/lib/vmd/plugins/LINUX/tcl/volutil1.3/volutil"
+
+pkg_nofetch() {
+ elog "Please download ${P}.src.tar.gz from"
+ elog "${VMD_DOWNLOAD}"
+ elog "after agreeing to the license and get"
+ elog "https://dev.gentoo.org/~jlec/distfiles/${P}-gentoo-patches.tar.xz"
+ elog "Place both in ${DISTDIR}"
+}
+
+src_prepare() {
+ use cuda && cuda_sanitize
+
+ epatch "${FILESDIR}"/${PN}-1.9.1-cuda-device_ptr.patch
+
+ cd "${WORKDIR}"/plugins || die
+
+ epatch \
+ "${WORKDIR}"/${P}-gentoo-plugins.patch \
+ "${FILESDIR}"/${P}-format-security.patch
+
+ [[ ${SILENT} == yes ]] || sed '/^.SILENT/d' -i $(find -name Makefile)
+
+ sed \
+ -e "s:CC = gcc:CC = $(tc-getCC):" \
+ -e "s:CXX = g++:CXX = $(tc-getCXX):" \
+ -e "s:COPTO =.*\":COPTO = -fPIC -o \":" \
+ -e "s:LOPTO = .*\":LOPTO = ${LDFLAGS} -fPIC -o \":" \
+ -e "s:CCFLAGS =.*\":CCFLAGS = ${CFLAGS}\":" \
+ -e "s:CXXFLAGS =.*\":CXXFLAGS = ${CXXFLAGS}\":" \
+ -e "s:SHLD = gcc:SHLD = $(tc-getCC) -shared:" \
+ -e "s:SHXXLD = g++:SHXXLD = $(tc-getCXX) -shared:" \
+ -e "s:-ltcl8.5:-ltcl:" \
+ -i Make-arch || die "Failed to set up plugins Makefile"
+
+ sed \
+ -e '/^AR /s:=:?=:g' \
+ -e '/^RANLIB /s:=:?=:g' \
+ -i ../plugins/*/Makefile || die
+
+ tc-export AR RANLIB
+
+ sed \
+ -e "s:\$(CXXFLAGS)::g" \
+ -i hesstrans/Makefile || die
+
+ # prepare vmd itself
+ cd "${S}" || die
+
+ epatch "${WORKDIR}"/${P}-gentoo-base.patch
+
+ # PREFIX
+ sed \
+ -e "s:/usr/include/:${EPREFIX}/usr/include:g" \
+ -i configure || die
+
+ sed \
+ -e "s:gentoo-bindir:${ED}/usr/bin:g" \
+ -e "s:gentoo-libdir:${ED}/usr/$(get_libdir):g" \
+ -e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:g" \
+ -e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):g" \
+ -e "s:gentoo-gcc:$(tc-getCC):g" \
+ -e "s:gentoo-g++:$(tc-getCXX):g" \
+ -e "s:gentoo-nvcc:${EPREFIX}/opt/cuda/bin/nvcc:g" \
+ -e "s:gentoo-cflags:${CFLAGS}:g" \
+ -e "s:gentoo-cxxflags:${CXXFLAGS}:g" \
+ -e "s:gentoo-nvflags::g" \
+ -e "s:gentoo-ldflags:${LDFLAGS}:g" \
+ -e "s:gentoo-plugindir:${WORKDIR}/plugins:g" \
+ -e "s:gentoo-fltk-include:$(fltk-config --includedir):g" \
+ -e "s:gentoo-fltk-libs:$(dirname $(fltk-config --libs)) -Wl,-rpath,$(dirname $(fltk-config --libs)):g" \
+ -e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:g" \
+ -e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):g" \
+ -i configure || die
+
+ if use cuda; then
+ sed \
+ -e "s:gentoo-cuda-lib:${EPREFIX}/opt/cuda/$(get_libdir):g" \
+ -e "/NVCCFLAGS/s:=:= ${NVCCFLAGS}:g" \
+ -i configure src/Makefile || die
+ sed \
+ -e '/compute_/d' \
+ -i configure || die
+ sed \
+ -e 's:-gencode .*code=sm_..::' \
+ -i src/Makefile || die
+ fi
+
+ sed \
+ -e "s:LINUXPPC:LINUX:g" \
+ -e "s:LINUXALPHA:LINUX:g" \
+ -e "s:LINUXAMD64:LINUX:g" \
+ -e "s:gentoo-stride:${EPREFIX}/usr/bin/stride:g" \
+ -e "s:gentoo-surf:${EPREFIX}/usr/bin/surf:g" \
+ -e "s:gentoo-tachyon:${EPREFIX}/usr/bin/tachyon:g" \
+ -i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
+
+ EMAKEOPTS=(
+ TCLINC="-I${EPREFIX}/usr/include"
+ TCLLIB="-L${EPREFIX}/usr/$(get_libdir)"
+ TCLLDFLAGS="-shared"
+ NETCDFLIB="$($(tc-getPKG_CONFIG) --libs-only-L netcdf) ${EPREFIX}/usr/$(get_libdir)/libnetcdf.so"
+ NETCDFINC="$($(tc-getPKG_CONFIG) --cflags-only-I netcdf) ${EPREFIX}/usr/include"
+ NETCDFLDFLAGS="$($(tc-getPKG_CONFIG) --libs netcdf)"
+ NETCDFDYNAMIC=1
+ EXPATINC="-I${EPREFIX}/usr/include"
+ EXPATLIB="$($(tc-getPKG_CONFIG) --libs expat)"
+ EXPATLDFLAGS="-shared"
+ EXPATDYNAMIC=1
+ )
+ if use gromacs; then
+ EMAKEOPTS+=(
+ TNGLIB="$($(tc-getPKG_CONFIG) --libs libgromacs)"
+ TNGINC="-I${EPREFIX}/usr/include"
+ TNGLDFLAGS="-shared"
+ TNGDYNAMIC=1
+ )
+ fi
+ if use sqlite; then
+ EMAKEOPTS+=(
+ SQLITELIB="$($(tc-getPKG_CONFIG) --libs sqlite3)"
+ SQLITEINC="-I${EPREFIX}/usr/include"
+ SQLITELDFLAGS="-shared"
+ SQLITEDYNAMIC=1
+ )
+ fi
+}
+
+src_configure() {
+ local myconf="OPENGL OPENGLPBUFFER COLVARS FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT XINPUT"
+ rm -f configure.options && echo $myconf >> configure.options
+
+ use cuda && myconf+=" CUDA"
+# use mpi && myconf+=" MPI"
+ use tachyon && myconf+=" LIBTACHYON" && append-cflags -I"${EPREFIX}/usr/include/tachyon"
+ use xinerama && myconf+=" XINERAMA"
+
+ export \
+ PYTHON_INCLUDE_DIR="$(python_get_includedir)" \
+ PYTHON_LIBRARY_DIR="$(python_get_library_path)" \
+ PYTHON_LIBRARY="$(python_get_LIBS)" \
+ NUMPY_INCLUDE_DIR="$(python_get_sitedir)/numpy/core/include" \
+ NUMPY_LIBRARY_DIR="$(python_get_sitedir)/numpy/core/include"
+
+ perl ./configure LINUX \
+ ${myconf} || die
+}
+
+src_compile() {
+ # build plugins
+ cd "${WORKDIR}"/plugins || die
+
+ emake \
+ ${EMAKEOPTS[@]} \
+ LINUX
+
+ # build vmd
+ cd "${S}"/src || die
+ emake
+}
+
+src_install() {
+ # install plugins
+ cd "${WORKDIR}"/plugins || die
+ emake \
+ PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
+ distrib
+
+ # install vmd
+ cd "${S}"/src || die
+ emake install
+
+ # install docs
+ cd "${S}" || die
+ dodoc Announcement README doc/ig.pdf doc/ug.pdf
+
+ # remove some of the things we don't want and need in
+ # /usr/lib
+ cd "${ED}"/usr/$(get_libdir)/vmd || die
+ rm -fr doc README Announcement LICENSE || \
+ die "failed to clean up /usr/lib/vmd directory"
+
+ # adjust path in vmd wrapper
+ sed \
+ -e "s:${ED}::" -i "${ED}"/usr/bin/${PN} \
+ -e "/^defaultvmddir/s:^.*$:defaultvmddir=\"${EPREFIX}/usr/$(get_libdir)/${PN}\":g" \
+ || die "failed to set up vmd wrapper script"
+
+ # install icon and generate desktop entry
+ insinto /usr/share/pixmaps
+ doins "${WORKDIR}"/vmd.png
+ eprefixify "${WORKDIR}"/vmd.desktop
+ sed -i '/^Path/d' "${WORKDIR}"/vmd.desktop || die
+ domenu "${WORKDIR}"/vmd.desktop
+}