summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/vmd/vmd-1.8.7-r2.ebuild')
-rw-r--r--sci-chemistry/vmd/vmd-1.8.7-r2.ebuild179
1 files changed, 179 insertions, 0 deletions
diff --git a/sci-chemistry/vmd/vmd-1.8.7-r2.ebuild b/sci-chemistry/vmd/vmd-1.8.7-r2.ebuild
new file mode 100644
index 000000000000..bfe487b72169
--- /dev/null
+++ b/sci-chemistry/vmd/vmd-1.8.7-r2.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/vmd/vmd-1.8.7-r2.ebuild,v 1.1 2010/07/27 18:47:38 jlec Exp $
+
+EAPI="3"
+
+PYTHON_DEPEND="2"
+
+inherit eutils multilib python toolchain-funcs
+
+DESCRIPTION="Visual Molecular Dynamics"
+HOMEPAGE="http://www.ks.uiuc.edu/Research/vmd/"
+SRC_URI="${P}.src.tar.gz"
+
+SLOT="0"
+LICENSE="vmd"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="tachyon"
+
+RESTRICT="fetch"
+
+# currently, tk-8.5* with USE=truetype breaks some
+# tk apps such as Sequence Viewer or Timeline.
+DEPEND="
+ || (
+ >=dev-lang/tk-8.5[-truetype]
+ =dev-lang/tk-8.4*
+ )
+ dev-lang/perl
+ dev-python/numpy
+ sci-biology/stride
+ sci-libs/netcdf
+ virtual/opengl
+ x11-libs/fltk:1.1
+ x11-libs/libXft"
+
+RDEPEND="${DEPEND}
+ x11-terms/xterm
+ tachyon? ( media-gfx/tachyon )"
+
+VMD_DOWNLOAD="http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD"
+# Binary only plugin!!
+QA_TEXTRELS="usr/lib*/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
+QA_PRESTRIPPED="usr/lib*/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
+QA_DT_HASH_amd64="usr/lib64/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
+QA_DT_HASH_x86="usr/lib/vmd/plugins/LINUX/tcl/intersurf1.1/bin/intersurf.so"
+
+pkg_nofetch() {
+ elog "Please download ${A} from"
+ elog "${VMD_DOWNLOAD}"
+ elog "after agreeing to the license and then move it to "
+ elog "${DISTDIR}"
+}
+
+src_prepare() {
+ # apply LINUX-arch patches to vmd configure
+ cd "${WORKDIR}" && epatch "${FILESDIR}/${P}-gentoo.patch"
+
+ # prepare the plugins
+ cd "${WORKDIR}"/plugins
+
+ 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):" \
+ -e "s:-ltcl8.5:-ltcl:" \
+ -i Make-arch || die "Failed to set up plugins Makefile"
+
+ # prepare vmd itself
+ cd "${S}"
+
+ # PREFIX
+ sed \
+ -e "s:/usr/include/:${EPREFIX}/usr/include:g" \
+ -i configure || die
+
+ sed -e "s:gentoo-bindir:${ED}/usr/bin:" \
+ -e "s:gentoo-libdir:${ED}/usr/$(get_libdir):" \
+ -i configure || die "failed to adjust install paths"
+
+ sed -e "s:gentoo-opengl-include:${EPREFIX}/usr/include/GL:" \
+ -e "s:gentoo-opengl-libs:${EPREFIX}/usr/$(get_libdir):" \
+ -i configure || die "failed to adjust OpenGL paths"
+
+ sed -e "s:gentoo-gcc:$(tc-getCC):" \
+ -e "s:gentoo-g++:$(tc-getCXX):" \
+ -e "s:gentoo-cflags:${CFLAGS}:" \
+ -e "s:gentoo-cxxflags:${CXXFLAGS}:" \
+ -e "s:gentoo-ldflags:${LDFLAGS}:g" \
+ -i configure || die "Failed to adjust C compiler/flags"
+
+ sed -e "s:gentoo-plugindir:${WORKDIR}/plugins:" \
+ -i configure || die "Failed to set up linking to plugin files"
+
+ sed -e "s:gentoo-fltk-include:${EPREFIX}/usr/include/fltk-1.1:" \
+ -e "s:gentoo-fltk-libs:${EPREFIX}/usr/$(get_libdir)/fltk-1.1 -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/fltk-1.1:" \
+ -i configure || die "failed setting up fltk"
+
+ sed -e "s:gentoo-netcdf-include:${EPREFIX}/usr/include:" \
+ -e "s:gentoo-netcdf-libs:${EPREFIX}/usr/$(get_libdir):" \
+ -i configure || die "failed to set up netcdf"
+
+ 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"
+
+ sed -e "s:LINUXPPC:LINUX:g" \
+ -e "s:LINUXALPHA:LINUX:g" \
+ -e "s:LINUXAMD64:LINUX:g" \
+ -i "${S}"/bin/vmd.sh || die "failed setting up vmd wrapper script"
+}
+
+src_configure() {
+ local myconfig="LINUX OPENGL FLTK TK TCL PTHREADS PYTHON IMD NETCDF NUMPY NOSILENT"
+ rm -f configure.options && echo $myconfig >> configure.options
+
+ ./configure &> /dev/null || die "failed to configure"
+}
+
+src_compile() {
+ # build plugins
+ cd "${WORKDIR}"/plugins
+
+ emake -j1 \
+ LINUX TCLINC="-I${EPREFIX}/usr/include" \
+ TCLLIB="-L${EPREFIX}/usr/$(get_libdir)" \
+ NETCDFLIB="-L${EPREFIX}/usr/$(get_libdir)" \
+ NETCDFINC="-I${EPREFIX}/usr/include" \
+ NETCDFLDFLAGS="-lnetcdf" \
+ || die "failed to build plugins"
+
+ # build vmd
+ cd "${S}"/src
+ emake || die "failed to build vmd"
+}
+
+src_install() {
+ # install plugins
+ cd "${WORKDIR}"/plugins
+ PLUGINDIR=${ED}/usr/$(get_libdir)/${PN}/plugins make distrib || \
+ die "failed to install plugins"
+
+ # install vmd
+ cd "${S}"/src
+ make install || die "failed to install vmd"
+
+ # export STRIDE_BIN so VMD knows where to find stride
+ echo "STRIDE_BIN=${EPREFIX}/usr/bin/stride" > "${T}"/99${PN} || \
+ die "Failed to create vmd env file"
+ doenvd "${T}"/99${PN} || die "Failed to install vmd env file"
+
+ # 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 "${FILESDIR}"/vmd.png || die "Failed to install vmd icon"
+ insinto /usr/share/applications
+ doins "${FILESDIR}"/vmd.desktop || die "Failed to install desktop entry"
+}