diff options
Diffstat (limited to 'sci-chemistry/modeller/modeller-9.12.ebuild')
-rw-r--r-- | sci-chemistry/modeller/modeller-9.12.ebuild | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/sci-chemistry/modeller/modeller-9.12.ebuild b/sci-chemistry/modeller/modeller-9.12.ebuild new file mode 100644 index 000000000..0cabf476a --- /dev/null +++ b/sci-chemistry/modeller/modeller-9.12.ebuild @@ -0,0 +1,141 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} ) +PYTHON_COMPAT=( python{2_6,2_7} ) + +inherit distutils-r1 eutils versionator + +DESCRIPTION="Homology or comparative modeling of protein three-dimensional structures" +HOMEPAGE="http://salilab.org/modeller/" +SRC_URI="http://salilab.org/${PN}/${PV}/${P}.tar.gz" + +LICENSE="modeller" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc examples" +SLOT="0" + +RESTRICT="mirror" + +DEPEND=">=dev-lang/swig-1.3" +RDEPEND="" + +INPATH="${EPREFIX}"/opt/modeller${ver} + +QA_PREBUILT="/opt/*" + +DISTUTILS_NO_PARALLEL_BUILD=true + +pkg_setup() { + case ${ARCH} in + x86) + EXECTYPE="i386-intel8";; + amd64) + EXECTYPE="x86_64-intel8";; + *) + die "Your arch "${ARCH}" does not appear supported at this time.";; + esac +} + +python_prepare_all(){ + sed "s:i386-intel8:${EXECTYPE}:g" -i src/swig/setup.py || die +} + +python_compile(){ + cd src/swig + swig -python -keyword -nodefaultctor -nodefaultdtor -noproxy modeller.i || die + distutils-r1_python_compile +} + +python_install() { + cd src/swig + distutils-r1_python_install +} + +python_install_all(){ + cd "${S}" + sed \ + -e "/^EXECUTABLE_TYPE/s:xxx:${EXECTYPE}:g" \ + -e "/MODINSTALL/s:xxx:\"${INPATH}\":g" \ + -i bin/modscript || die + + sed -e "s;@TOPDIR\@;\"${INPATH}\";" \ + -e "s;@EXETYPE\@;${EXECTYPE};" \ + bin/modpy.sh.in > "${T}/modpy.sh" + + insinto ${INPATH} + doins -r modlib + python_foreach_impl python_domodule modlib/modeller + + insinto ${INPATH}/bin + doins -r bin/{lib,*top} + + exeinto ${INPATH}/bin + doexe bin/{modscript,mod${PV}_${EXECTYPE}} "${T}"/modpy.sh + + python_foreach_impl python_doscript bin/modslave.py + dosym ${INPATH}/bin/modscript /opt/bin/mod${PV} + dosym ${INPATH}/bin/modpy.sh /opt/bin/modpy.sh + + exeinto ${INPATH}/lib/${EXECTYPE}/ + doexe lib/${EXECTYPE}/lib* + dosym libmodeller.so.5 ${INPATH}/lib/${EXECTYPE}/libmodeller.so + + use doc && HTML_DOCS=( doc/. ) + distutils-r1_python_install_all + + if use examples; then + insinto /usr/share/${PN}/ + doins -r examples + fi +} + +pkg_postinst() { + if [[ ! -e "${INPATH}/modlib/modeller/config.py" ]]; then + echo install_dir = \"${INPATH}/\"> ${INPATH}/modlib/modeller/config.py + fi + + if grep -q license ${INPATH}/modlib/modeller/config.py; then + einfo "A license key file is already present in ${IN_PATH}/modlib/modeller/config.py" + else + ewarn "Obtain a license Key from" + ewarn "http://salilab.org/modeller/registration.html" + ewarn "And run this before using modeller:" + ewarn "emerge --config =${CATEGORY}/${PF}" + ewarn "That way you can [re]enter your license key." + fi +} + +pkg_postrm() { + ewarn "This package leaves a license Key file in ${INPATH}/modlib/modeller/config.py" + ewarn "that you need to remove to completely get rid of modeller." +} + +pkg_config() { + ewarn "Your license key is NOT checked for validity here." + ewarn " Make sure you type it in correctly." + eerror "If you CTRL+C out of this, modeller will not run!" + while true + do + einfo "Please enter your license key:" + read license_key1 + einfo "Please re-enter your license key:" + read license_key2 + if [[ "$license_key1" == "" ]] + then + echo "You entered a blank license key. Try again." + else + if [[ "$license_key1" == "$license_key2" ]] + then + echo license = '"'$license_key1'"' >> "${INPATH}/modlib/modeller/config.py" + einfo "Thank you!" + break + else + eerror "Your license key entries do not match. Try again." + fi + fi + done +} |