summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2023-07-21 10:53:13 +0200
committerPacho Ramos <pacho@gentoo.org>2023-07-21 10:55:03 +0200
commit7dabbaaa3f7252e981fe1774c858a79c6ee9be0b (patch)
tree10ed12e7f1dd15b2a33d1e69b9f14a5bed60b6b8
parentdev-ruby/actiontext: depend on specific minitest slot (diff)
downloadgentoo-7dabbaaa3f7252e981fe1774c858a79c6ee9be0b.tar.gz
gentoo-7dabbaaa3f7252e981fe1774c858a79c6ee9be0b.tar.bz2
gentoo-7dabbaaa3f7252e981fe1774c858a79c6ee9be0b.zip
sci-biology/biopython: use PEP517 build
Also apply Fedora patches to get ready for newer reportlab and python3.12 Closes: https://bugs.gentoo.org/910016 Signed-off-by: Pacho Ramos <pacho@gentoo.org>
-rw-r--r--sci-biology/biopython/biopython-1.81-r1.ebuild59
-rw-r--r--sci-biology/biopython/files/biopython-1.81-python3.12.patch11
-rw-r--r--sci-biology/biopython/files/biopython-1.81-reportlab4.patch29
3 files changed, 99 insertions, 0 deletions
diff --git a/sci-biology/biopython/biopython-1.81-r1.ebuild b/sci-biology/biopython/biopython-1.81-r1.ebuild
new file mode 100644
index 000000000000..115a4d3b1a4c
--- /dev/null
+++ b/sci-biology/biopython/biopython-1.81-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517="setuptools"
+DISTUTILS_EXT=1
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python modules for computational molecular biology"
+HOMEPAGE="https://www.biopython.org/ https://pypi.org/project/biopython/"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/rdflib[${PYTHON_USEDEP}]
+ dev-python/pygraphviz[${PYTHON_USEDEP}]
+ >=dev-python/reportlab-3.5.13-r1[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="sys-devel/flex"
+
+DOCS=( {CONTRIB,DEPRECATED,NEWS,README}.rst Doc/. )
+
+PATCHES=(
+ "${FILESDIR}/${P}-reportlab4.patch"
+ "${FILESDIR}/${P}-python3.12.patch"
+)
+
+python_test() {
+ cd Tests || die
+ "${EPYTHON}" run_tests.py --offline --verbose || die
+}
+
+python_install_all() {
+ # remove files causing ecompressdir to fail
+ rm Doc/examples/ls_orchid.gbk.{gz,bz2} || die
+
+ distutils-r1_python_install_all
+
+ dodir /usr/share/${PN}
+ cp -r --preserve=mode Scripts Tests "${ED}"/usr/share/${PN} || die
+}
+
+pkg_postinst() {
+ optfeature_header "For database support you need to install:"
+ optfeature "MySQL database support" dev-python/mysqlclient
+ optfeature "PostgreSQL database support" dev-python/psycopg:2
+
+ optfeature_header "Some applications need extra packages:"
+ optfeature "EMBOSS (The European Molecular Biology Open Software Suite)" sci-biology/emboss
+}
diff --git a/sci-biology/biopython/files/biopython-1.81-python3.12.patch b/sci-biology/biopython/files/biopython-1.81-python3.12.patch
new file mode 100644
index 000000000000..8f903a4a39bd
--- /dev/null
+++ b/sci-biology/biopython/files/biopython-1.81-python3.12.patch
@@ -0,0 +1,11 @@
+--- a/Tests/test_Entrez.orig.py 2023-02-13 04:07:42.000000000 +0100
++++ b/Tests/test_Entrez.py 2023-06-30 14:42:58.177365639 +0200
+@@ -126,7 +126,7 @@
+ :type params: dict
+ :param expected: Expected set of IDs, as colleciton of strings.
+ """
+- testcase.assertEquals(len(params["id"]), 1)
++ testcase.assertEqual(len(params["id"]), 1)
+ ids_str = params["id"][0]
+ # Compare up to ordering
+ testcase.assertCountEqual(ids_str.split(","), expected)
diff --git a/sci-biology/biopython/files/biopython-1.81-reportlab4.patch b/sci-biology/biopython/files/biopython-1.81-reportlab4.patch
new file mode 100644
index 000000000000..ef1994553614
--- /dev/null
+++ b/sci-biology/biopython/files/biopython-1.81-reportlab4.patch
@@ -0,0 +1,29 @@
+From 74fdf49ade95157c3c4b23a95831925be4899223 Mon Sep 17 00:00:00 2001
+From: Peter Cock <p.j.a.cock@googlemail.com>
+Date: Mon, 5 Jun 2023 12:39:59 +0100
+Subject: [PATCH] Skip if ReportLab bitmap output module missing
+
+Would like to skip this earlier, but not so
+easy in ReportLab v4 with a choice of backends
+---
+ Tests/test_GraphicsBitmaps.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/Tests/test_GraphicsBitmaps.py b/Tests/test_GraphicsBitmaps.py
+index 2ffdfb3dd71..76615a2fd1d 100644
+--- a/Tests/test_GraphicsBitmaps.py
++++ b/Tests/test_GraphicsBitmaps.py
+@@ -111,9 +111,12 @@ def real_test():
+ "Check the fonts needed by ReportLab if you want "
+ "bitmaps from Bio.Graphics\n" + str(err)
+ ) from None
++ elif str(err).startswith("cannot import desired renderPM backend rlPyCairo"):
++ raise MissingExternalDependencyError(
++ "Reportlab module rlPyCairo unavailable\n" + str(err)
++ ) from None
+ else:
+ raise
+-
+ return True
+
+