summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Lecher <jlec@gentoo.org>2013-01-11 09:29:35 +0000
committerJustin Lecher <jlec@gentoo.org>2013-01-11 09:29:35 +0000
commit53c477994edb59fd9d05ffc3f113a554f91a33ec (patch)
tree8690e2c9d82755581835fa53fa4a3c434acac670 /sci-chemistry/vmd
parentInstall docs, thanks to Mikle Kolyada (diff)
downloadgentoo-2-53c477994edb59fd9d05ffc3f113a554f91a33ec.tar.gz
gentoo-2-53c477994edb59fd9d05ffc3f113a554f91a33ec.tar.bz2
gentoo-2-53c477994edb59fd9d05ffc3f113a554f91a33ec.zip
sci-chemistry/vmd: Use cuda.eclass and slo-operator for tcl
(Portage version: 2.2.0_alpha150/cvs/Linux x86_64, signed Manifest commit with key 70EB7916)
Diffstat (limited to 'sci-chemistry/vmd')
-rw-r--r--sci-chemistry/vmd/ChangeLog10
-rw-r--r--sci-chemistry/vmd/files/vmd-1.9.1-tcl8.6.patch25
-rw-r--r--sci-chemistry/vmd/metadata.xml22
-rw-r--r--sci-chemistry/vmd/vmd-1.9.1-r2.ebuild228
4 files changed, 272 insertions, 13 deletions
diff --git a/sci-chemistry/vmd/ChangeLog b/sci-chemistry/vmd/ChangeLog
index 70ce782d4252..cf71b1078870 100644
--- a/sci-chemistry/vmd/ChangeLog
+++ b/sci-chemistry/vmd/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-chemistry/vmd
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/vmd/ChangeLog,v 1.52 2012/11/29 15:13:06 jlec Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/vmd/ChangeLog,v 1.53 2013/01/11 09:29:35 jlec Exp $
+
+*vmd-1.9.1-r2 (11 Jan 2013)
+
+ 11 Jan 2013; Justin Lecher <jlec@gentoo.org> +vmd-1.9.1-r2.ebuild,
+ +files/vmd-1.9.1-tcl8.6.patch, metadata.xml:
+ Use cuda.eclass and slo-operator for tcl
29 Nov 2012; Justin Lecher <jlec@gentoo.org> vmd-1.9.1.ebuild,
vmd-1.9.1-r1.ebuild:
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 000000000000..0c3e45dd39c3
--- /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/metadata.xml b/sci-chemistry/vmd/metadata.xml
index be76141a652b..b9b5a0649de6 100644
--- a/sci-chemistry/vmd/metadata.xml
+++ b/sci-chemistry/vmd/metadata.xml
@@ -1,15 +1,15 @@
<?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="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>
- <flag name="cuda">Use nvidia cuda toolkit for speeding up computations</flag>
- </use>
+ <maintainer>
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <herd>sci-chemistry</herd>
+ <use>
+ <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>
+ <flag name="cuda">Use nvidia cuda toolkit for speeding up computations</flag>
+ </use>
</pkgmetadata>
diff --git a/sci-chemistry/vmd/vmd-1.9.1-r2.ebuild b/sci-chemistry/vmd/vmd-1.9.1-r2.ebuild
new file mode 100644
index 000000000000..f87ef5f3b73d
--- /dev/null
+++ b/sci-chemistry/vmd/vmd-1.9.1-r2.ebuild
@@ -0,0 +1,228 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/vmd/vmd-1.9.1-r2.ebuild,v 1.1 2013/01/11 09:29:35 jlec Exp $
+
+EAPI=5
+
+PYTHON_DEPEND="2"
+
+inherit cuda eutils multilib prefix python toolchain-funcs
+
+DESCRIPTION="Visual Molecular Dynamics"
+HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
+SRC_URI="
+ http://dev.gentoo.org/~jlec/distifles/${P}-gentoo-patches-2.tar.xz
+ ${P}.src.tar.gz"
+
+SLOT="0"
+LICENSE="vmd"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="cuda msms povray 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.5:0=[-truetype]
+ dev-lang/perl
+ dev-python/numpy
+ 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-3.1
+ || (
+ sys-devel/gcc:4.4
+ sys-devel/gcc:4.5 )
+ )
+ xinerama? ( x11-libs/libXinerama )"
+DEPEND="${CDEPEND}
+ dev-lang/swig"
+RDEPEND="${CDEPEND}
+ sci-biology/stride
+ sci-chemistry/surf
+ x11-terms/xterm
+ msms? ( sci-chemistry/msms-bin )
+ povray? ( media-gfx/povray )
+ tachyon? ( media-gfx/tachyon )"
+
+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-2.tar.xz"
+ elog "Place both in ${DISTDIR}"
+}
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ use cuda && cuda_sanitize
+
+ cd "${WORKDIR}"/plugins
+
+ epatch \
+ "${WORKDIR}"/${P}-gentoo-plugins.patch \
+ "${FILESDIR}"/${P}-tcl8.6.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}"
+
+ 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
+
+# local NUMPY_INCLUDE="numpy/core/include"
+# sed -e "s:gentoo-python-include:${EPREFIX}$(python_get_includedir):" \
+# -e "s:gentoo-python-lib:${EPREFIX}$(python_get_libdir):" \
+# -e "s:gentoo-python-link:$(PYTHON):" \
+# -e "s:gentoo-numpy-include:${EPREFIX}$(python_get_sitedir)/${NUMPY_INCLUDE}:" \
+# -i configure || die "failed setting up python"
+
+ 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
+ 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"
+}
+
+src_configure() {
+ local myconf="OPENGL 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 tachion && myconf+=" LIBTACHYON"
+ use xinerama && myconf+=" XINERAMA"
+
+ export \
+ PYTHON_INCLUDE_DIR="${EPREFIX}$(python_get_includedir)" \
+ PYTHON_LIBRARY_DIR="${EPREFIX}$(python_get_libdir)" \
+ PYTHON_LIBRARY="$(python_get_library -l)" \
+ NUMPY_INCLUDE_DIR="${EPREFIX}$(python_get_sitedir)/numpy/core/include" \
+ NUMPY_LIBRARY_DIR="${EPREFIX}$(python_get_sitedir)/numpy/core/include"
+
+ ./configure LINUX \
+ ${myconf} || die
+}
+
+src_compile() {
+ # build plugins
+ cd "${WORKDIR}"/plugins
+
+ emake \
+ TCLINC="-I${EPREFIX}/usr/include" \
+ TCLLIB="-L${EPREFIX}/usr/$(get_libdir)" \
+ NETCDFLIB="$(pkg-config --libs-only-L netcdf) ${EPREFIX}/usr/$(get_libdir)/libnetcdf.so" \
+ NETCDFINC="$(pkg-config --cflags-only-I netcdf) ${EPREFIX}/usr/include" \
+ NETCDFLDFLAGS="$(pkg-config --libs netcdf)" \
+ LINUX
+
+ # build vmd
+ cd "${S}"/src
+ emake
+}
+
+src_install() {
+ # install plugins
+ cd "${WORKDIR}"/plugins
+ emake \
+ PLUGINDIR="${ED}/usr/$(get_libdir)/${PN}/plugins" \
+ distrib
+
+ # install vmd
+ cd "${S}"/src
+ emake install
+
+ # install docs
+ cd "${S}"
+ 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
+ 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
+}