mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-04 00:08:09 -07:00
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>
This commit is contained in:
59
sci-biology/biopython/biopython-1.81-r1.ebuild
Normal file
59
sci-biology/biopython/biopython-1.81-r1.ebuild
Normal file
@@ -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
|
||||
}
|
||||
11
sci-biology/biopython/files/biopython-1.81-python3.12.patch
Normal file
11
sci-biology/biopython/files/biopython-1.81-python3.12.patch
Normal file
@@ -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)
|
||||
29
sci-biology/biopython/files/biopython-1.81-reportlab4.patch
Normal file
29
sci-biology/biopython/files/biopython-1.81-reportlab4.patch
Normal file
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user