summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-chemistry/raster3d/raster3d-3.0.2.ebuild')
-rw-r--r--sci-chemistry/raster3d/raster3d-3.0.2.ebuild107
1 files changed, 107 insertions, 0 deletions
diff --git a/sci-chemistry/raster3d/raster3d-3.0.2.ebuild b/sci-chemistry/raster3d/raster3d-3.0.2.ebuild
new file mode 100644
index 000000000000..380f207260e1
--- /dev/null
+++ b/sci-chemistry/raster3d/raster3d-3.0.2.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils fortran-2 flag-o-matic multilib toolchain-funcs versionator prefix
+
+MY_PN="Raster3D"
+MY_PV=$(replace_version_separator 2 -)
+MY_P="${MY_PN}_${MY_PV}"
+
+DESCRIPTION="Generation high quality raster images of proteins or other molecules"
+HOMEPAGE="http://www.bmsc.washington.edu/raster3d/raster3d.html"
+SRC_URI="http://www.bmsc.washington.edu/${PN}/${MY_P}.tar.gz -> ${MY_P}.tar"
+
+LICENSE="Artistic-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux"
+IUSE="gd tiff"
+
+RDEPEND="
+ tiff? ( media-libs/tiff:0 )
+ gd? ( media-libs/gd[jpeg,png] )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PV}-as-needed.patch \
+ "${FILESDIR}"/${PV}-gentoo-prefix.patch
+
+ sed \
+ -e "s:MYPF:${PF}:" \
+ -e "s:MYLIB:$(get_libdir):g" \
+ -i Makefile.template || \
+ die "Failed to patch makefile.template"
+
+ if ! use gd; then
+ sed \
+ -e "/GDLIBS/s:^:#:g" \
+ -e "/GDDEFS/s:^:#:g" \
+ -i Makefile.template || die
+ fi
+
+ if ! use tiff; then
+ sed \
+ -e "/TLIBS/s:^:#:g" \
+ -e "/TDEFS/s:^:#:g" \
+ -i Makefile.template || die
+ fi
+
+ if [[ $(tc-getFC) =~ gfortran ]]; then
+ append-cflags -Dgfortran
+ fi
+
+ append-fflags -ffixed-line-length-132
+
+ eprefixify Makefile.template
+ cp Makefile.template Makefile.incl || die
+}
+
+src_compile() {
+ local target
+ local i
+
+ if [[ $(tc-getFC) =~ gfortran ]]; then
+ target="linux"
+ else
+ target="linux-$(tc-getFC)"
+ fi
+
+ for i in render.o ${target} all; do
+ emake \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ FFLAGS="${FFLAGS}" \
+ CC="$(tc-getCC)"\
+ FC="$(tc-getFC)" \
+ INCDIRS="-I${EPREFIX}/usr/include" \
+ LIBDIRS="-L${EPREFIX}/usr/$(get_libdir)" \
+ ${i}
+ done
+}
+
+src_install() {
+ emake prefix="${ED}"/usr \
+ bindir="${ED}"/usr/bin \
+ datadir="${ED}"/usr/share/Raster3D/materials \
+ mandir="${ED}"/usr/share/man/man1 \
+ htmldir="${ED}"/usr/share/doc/${PF}/html \
+ examdir="${ED}"/usr/share/Raster3D/examples \
+ install
+
+ dodir /etc/env.d
+ echo -e "R3D_LIB=${EPREFIX}/usr/share/${NAME}/materials" > \
+ "${ED}"/etc/env.d/10raster3d || \
+ die "Failed to install env file."
+}
+
+pkg_postinst() {
+ elog "Add following line:"
+ elog "<delegate decode=\"r3d\" command='\"render\" < \"%i\" > \"%o\"' />"
+ elog "to ${EPREFIX}/usr/$(get_libdir)/ImageMagick-6.5.8/config/delegates.xml"
+ elog "to make imagemagick use raster3d for .r3d files"
+}