diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-chemistry/vmd | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-chemistry/vmd')
-rw-r--r-- | sci-chemistry/vmd/Manifest | 2 | ||||
-rw-r--r-- | sci-chemistry/vmd/files/vmd-1.9.1-cuda-device_ptr.patch | 28 | ||||
-rw-r--r-- | sci-chemistry/vmd/files/vmd-1.9.1-tcl8.6.patch | 25 | ||||
-rw-r--r-- | sci-chemistry/vmd/files/vmd-1.9.2-format-security.patch | 16 | ||||
-rw-r--r-- | sci-chemistry/vmd/metadata.xml | 16 | ||||
-rw-r--r-- | sci-chemistry/vmd/vmd-1.9.2.ebuild | 250 |
6 files changed, 337 insertions, 0 deletions
diff --git a/sci-chemistry/vmd/Manifest b/sci-chemistry/vmd/Manifest new file mode 100644 index 00000000000..8f003565998 --- /dev/null +++ b/sci-chemistry/vmd/Manifest @@ -0,0 +1,2 @@ +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 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 00000000000..ce842448dec --- /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.1-tcl8.6.patch b/sci-chemistry/vmd/files/vmd-1.9.1-tcl8.6.patch new file mode 100644 index 00000000000..0c3e45dd39c --- /dev/null +++ b/sci-chemistry/vmd/files/vmd-1.9.1-tcl8.6.patch @@ -0,0 +1,25 @@ + plugins/molfile_plugin/src/webpdbplugin.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/plugins/molfile_plugin/src/webpdbplugin.c b/plugins/molfile_plugin/src/webpdbplugin.c +index 80b3bb9..78597f5 100644 +--- a/plugins/molfile_plugin/src/webpdbplugin.c ++++ b/plugins/molfile_plugin/src/webpdbplugin.c +@@ -202,7 +202,7 @@ static void *open_file_read(const char *filename, const char *filetype, + sprintf(url, "http://www.rcsb.org/pdb/downloadFile.do?fileFormat=pdb&compression=NO&structureId=%s",filename); + sprintf(cmd, "set token [::http::geturl \"%s\"]", url); + if (Tcl_Eval(interp, cmd) != TCL_OK) { +- fprintf(stderr, "Error loading PDB: %s\n",interp->result); ++ fprintf(stderr, "Error loading PDB: %s\n",Tcl_GetStringResult(interp)); + Tcl_DeleteInterp(interp); + return NULL; + } +@@ -211,7 +211,7 @@ static void *open_file_read(const char *filename, const char *filetype, + + result = Tcl_GetVar2(interp, (char *)"state", "body", TCL_GLOBAL_ONLY); + if (!result) { +- fprintf(stderr, "Error loading PDB: %s\n", interp->result); ++ fprintf(stderr, "Error loading PDB: %s\n", Tcl_GetStringResult(interp)); + Tcl_DeleteInterp(interp); + return NULL; + } 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 00000000000..3f9ea5c8c2e --- /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 00000000000..4b17d8d6b91 --- /dev/null +++ b/sci-chemistry/vmd/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>alexxy@gentoo.org</email> + <name>Alexey Shvetsov</name> + </maintainer> + <herd>sci-chemistry</herd> + <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 00000000000..78e084df58e --- /dev/null +++ b/sci-chemistry/vmd/vmd-1.9.2.ebuild @@ -0,0 +1,250 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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=" + http://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" + +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 + virtual/opengl + >=x11-libs/fltk-1.1.10-r2:1 + x11-libs/libXft + x11-libs/libXi + 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 "http://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 +} |