blob: c8caf3e0a63b6c6836697692d51186ec11260573 [file] [log] [blame]
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sci-chemistry/pdb2pqr/pdb2pqr-1.5.0-r1.ebuild,v 1.1 2010/03/07 12:26:12 jlec Exp $
EAPI="3"
SUPPORT_PYTHON_ABIS="1"
PYTHON_EXPORT_PHASE_FUNCTIONS="1"
inherit eutils fortran multilib flag-o-matic distutils python versionator
MY_PV=$(get_version_component_range 1-2)
MY_P="${PN}-${MY_PV}"
DESCRIPTION="An automated pipeline for performing Poisson-Boltzmann electrostatics calculations"
LICENSE="BSD"
HOMEPAGE="http://pdb2pqr.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
SLOT="0"
IUSE="doc examples opal"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
DEPEND="
dev-python/numpy
opal? ( dev-python/zsi )"
RDEPEND="${DEPEND}"
RESTRICT_PYTHON_ABIS="2.4 3.*"
FORTRAN="g77 gfortran"
S="${WORKDIR}/${MY_P}"
src_prepare() {
epatch "${FILESDIR}"/${PN}-1.4.0-ldflags.patch
epatch "${FILESDIR}"/${PN}-1.4.0-automagic.patch
epatch "${FILESDIR}"/${PN}-1.4.0-install.patch
sed '50,200s:CWD:DESTDIR:g' -i Makefile.am \
|| die "Failed to fix Makefile.am"
python_src_prepare
preparation() {
eautoreconf
}
python_execute_function -s preparation
}
src_configure() {
# we need to compile the *.so as pic
append-flags -fPIC
FFLAGS="${FFLAGS} -fPIC"
configuration() {
# Avoid automagic to numeric
NUMPY="${EPREFIX}/$(python_get_sitedir)" \
F77="${FORTRANC}" \
econf \
$(use_with opal) || \
die "econf failed"
}
python_execute_function -s configuration
}
src_test() {
testing() {
emake -j1 test && \
F77="${FORTRANC}" emake -j1 adv-test \
|| die "tests failed"
}
python_execute_function -s testing
}
src_install() {
installation() {
dodir $(python_get_sitedir)/${PN}
emake -j1 DESTDIR="${ED}$(python_get_sitedir)/${PN}" \
PREFIX="" install || die "install failed"
INPATH="$(python_get_sitedir)/${PN}"
# generate pdb2pqr wrapper
cat >> "${T}"/${PN}-$(python_get_version) <<-EOF
#!/bin/sh
${PYTHON} ${EPREFIX}/${INPATH}/${PN}.py \$*
EOF
dobin "${T}"/${PN}-$(python_get_version) || die "Failed to install pdb2pqr wrapper."
insinto "${INPATH}"
doins __init__.py || \
die "Setting up the pdb2pqr site-package failed."
exeinto "${INPATH}"
doexe ${PN}.py || die "Installing pdb2pqr failed."
insinto "${INPATH}"/dat
doins dat/* || die "Installing data failed."
exeinto "${INPATH}"/extensions
doexe extensions/* || \
die "Failed to install extensions."
insinto "${INPATH}"/src
doins src/*.py || die "Installing of python scripts failed."
exeinto "${INPATH}"/propka
doexe propka/_propkalib.so || \
die "Failed to install propka."
insinto "${INPATH}"/propka
doins propka/propkalib.py propka/__init__.py || \
die "Failed to install propka."
insinto "${INPATH}"/pdb2pka
doins pdb2pka/*.{py,so,DAT,h} || \
die "Failed to install pdb2pka."
insinto "${INPATH}"/pdb2pka/
doins pdb2pka/*.{py,so,DAT,h} || \
die "Failed to install pdb2pka."
}
python_execute_function -s installation
dosym ${PN}-$(python_get_version -f) /usr/bin/${PN}
if use doc; then
cd doc
sh genpydoc.sh \
|| die "genpydoc failed"
dohtml -r *.html images pydoc \
|| die "failed to install html docs"
cd -
fi
if use examples; then
insinto /usr/share/${PN}/
doins -r examples || die "Failed to install examples."
fi
dodoc ChangeLog NEWS README AUTHORS || \
die "Failed to install docs"
}