diff options
author | Alexey Shvetsov <alexxy@gentoo.org> | 2020-12-02 15:08:41 +0300 |
---|---|---|
committer | Alexey Shvetsov <alexxy@gentoo.org> | 2020-12-02 15:08:54 +0300 |
commit | fb3f7ff1498a2a525dfeb40acaa219d31fe56471 (patch) | |
tree | 2144f37c10a706d3bef33a1327436b4ee7c6912d /sci-chemistry | |
parent | [licenses] add modeller license (diff) | |
download | gentoo-fb3f7ff1498a2a525dfeb40acaa219d31fe56471.tar.gz gentoo-fb3f7ff1498a2a525dfeb40acaa219d31fe56471.tar.bz2 gentoo-fb3f7ff1498a2a525dfeb40acaa219d31fe56471.zip |
sci-chemistry/modeller: resurection
Package-Manager: Portage-3.0.11, Repoman-3.0.2
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
Diffstat (limited to 'sci-chemistry')
-rw-r--r-- | sci-chemistry/modeller/Manifest | 1 | ||||
-rw-r--r-- | sci-chemistry/modeller/metadata.xml | 12 | ||||
-rw-r--r-- | sci-chemistry/modeller/modeller-9.25.ebuild | 149 |
3 files changed, 162 insertions, 0 deletions
diff --git a/sci-chemistry/modeller/Manifest b/sci-chemistry/modeller/Manifest new file mode 100644 index 000000000000..e3d097b4b75d --- /dev/null +++ b/sci-chemistry/modeller/Manifest @@ -0,0 +1 @@ +DIST modeller-9.25.tar.gz 44820658 BLAKE2B b3e8a3cc8cc70689a25bc5ed2eee294d67bef8eea9ed4b64d41aba3a27c0bc428ae58e74d734da0eaab7e4fabb213d098b9ba66b9569557159ac7d4a58244b0a SHA512 93f273aba0ec0f884cde5bbcc24769a09386bfc6bf1744d80001e41924b1a682225ba3c554fb9898ef3bfd1fd8451f9458bb92431b20f2f51b01781e79686c91 diff --git a/sci-chemistry/modeller/metadata.xml b/sci-chemistry/modeller/metadata.xml new file mode 100644 index 000000000000..7daa2ce7e5f8 --- /dev/null +++ b/sci-chemistry/modeller/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>alexxy@gentoo.org</email> + <name>Alexey Shvetsov</name> + </maintainer> + <maintainer type="project"> + <email>sci-chemistry@gentoo.org</email> + <name>Gentoo Chemistry Project</name> + </maintainer> +</pkgmetadata> diff --git a/sci-chemistry/modeller/modeller-9.25.ebuild b/sci-chemistry/modeller/modeller-9.25.ebuild new file mode 100644 index 000000000000..2e2cae47f51b --- /dev/null +++ b/sci-chemistry/modeller/modeller-9.25.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9} ) +DISTUTILS_USE_SETUPTOOLS=no + +inherit distutils-r1 eutils multilib + +DESCRIPTION="Homology or comparative modeling of protein three-dimensional structures" +HOMEPAGE="https://salilab.org/modeller/" +SRC_URI="https://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/*" + +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 + rm -rf modlib/modeller/python_library || die + sed -i '1 i\#!/usr/bin/python' bin/modslave.py || die + 2to3 -w -n modlib/modeller || die + distutils-r1_python_prepare_all +} + +python_compile(){ + cd src/swig || die + swig -python -keyword -nodefaultctor -nodefaultdtor -noproxy modeller.i || die + distutils-r1_python_compile +} + +python_install() { + cd src/swig || die + distutils-r1_python_install +} + +python_install_all(){ + cd "${S}" || die + 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.12 ${INPATH}/lib/${EXECTYPE}/libmodeller.so + dosym ../../${INPATH}/lib/${EXECTYPE}/libmodeller.so.12 /usr/$(get_libdir)/libmodeller.so.12 + + use doc && HTML_DOCS=( doc/. ) + distutils-r1_python_install_all + + if use examples; then + insinto /usr/share/${PN}/ + doins -r examples + fi + + insinto /etc/revdep-rebuild + cat >> "${T}"/40-${PN} <<- EOF + SEARCH_DIRS_MASK="${EPREFIX}/opt/modeller/lib/" + EOF + doins "${T}"/40-${PN} +} + +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 +} |