commit:     fb3f7ff1498a2a525dfeb40acaa219d31fe56471
Author:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
AuthorDate: Wed Dec  2 12:08:41 2020 +0000
Commit:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
CommitDate: Wed Dec  2 12:08:54 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fb3f7ff1

sci-chemistry/modeller: resurection

Package-Manager: Portage-3.0.11, Repoman-3.0.2
Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org>

 sci-chemistry/modeller/Manifest             |   1 +
 sci-chemistry/modeller/metadata.xml         |  12 +++
 sci-chemistry/modeller/modeller-9.25.ebuild | 149 ++++++++++++++++++++++++++++
 3 files changed, 162 insertions(+)

diff --git a/sci-chemistry/modeller/Manifest b/sci-chemistry/modeller/Manifest
new file mode 100644
index 00000000000..e3d097b4b75
--- /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 00000000000..7daa2ce7e5f
--- /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>[email protected]</email>
+               <name>Alexey Shvetsov</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</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 00000000000..2e2cae47f51
--- /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
+}

Reply via email to