summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-biology/pysam')
-rw-r--r--sci-biology/pysam/Manifest1
-rw-r--r--sci-biology/pysam/pysam-0.21.0.ebuild66
2 files changed, 67 insertions, 0 deletions
diff --git a/sci-biology/pysam/Manifest b/sci-biology/pysam/Manifest
index fc19ef776276..0e0b82641fc1 100644
--- a/sci-biology/pysam/Manifest
+++ b/sci-biology/pysam/Manifest
@@ -1 +1,2 @@
DIST pysam-0.20.0.gh.tar.gz 3748498 BLAKE2B 1c1b99e5ec34641c196dd574e634cc87d49baa594243eca20ad1f99d2c01b8aadead70a729f389c93cf6f5e95f20d9c7e3d050a47821d1b0dcaaff39d88e6825 SHA512 3f8402057e1d5c807886d1d38180dbdbfa8557700fa97bd59cb42df4d7cc461dcbe54808a169ba5f9696651e801fd0431480cd033b601cd4e9c11bf8bbf14e49
+DIST pysam-0.21.0.gh.tar.gz 3842829 BLAKE2B 83db290ec0bae71106276ed4f1721292c0d2fa55053c7451f0a8a79619b1c4d8444b99293ac5d8051bfb0b59e984e32a89798bab091e3a019b7c2a3fb7414d1c SHA512 b2ac986b6a352df1d2066a224d710648a88d8ad44273623a89ae0f4bb2645b00f0d0e1685c8ccedfd379259255957e653f3c3199621ac1d4c26098f538b6bfa7
diff --git a/sci-biology/pysam/pysam-0.21.0.ebuild b/sci-biology/pysam/pysam-0.21.0.ebuild
new file mode 100644
index 000000000000..588cd1bc4f1b
--- /dev/null
+++ b/sci-biology/pysam/pysam-0.21.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface for the SAM/BAM sequence alignment and mapping format"
+HOMEPAGE="
+ https://github.com/pysam-developers/pysam
+ https://pypi.org/project/pysam/"
+SRC_URI="https://github.com/pysam-developers/pysam/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="=sci-libs/htslib-1.17*:="
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ =sci-biology/bcftools-1.17*
+ =sci-biology/samtools-1.17*
+ )"
+
+distutils_enable_tests pytest
+
+DISTUTILS_IN_SOURCE_BUILD=1
+
+EPYTEST_DESELECT=(
+ # only work with bundled htslib
+ 'tests/tabix_test.py::TestRemoteFileHTTP'
+ 'tests/tabix_test.py::TestRemoteFileHTTPWithHeader'
+)
+
+python_prepare_all() {
+ # unbundle htslib
+ export HTSLIB_MODE="external"
+ export HTSLIB_INCLUDE_DIR="${ESYSROOT}"/usr/include
+ export HTSLIB_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+ rm -r htslib || die
+
+ # prevent setup.py from adding RPATHs (except $ORIGIN)
+ sed -e '/runtime_library_dirs=htslib_library_dirs/d' \
+ -i setup.py || die
+
+ if use test; then
+ einfo "Building test data"
+ emake -C tests/pysam_data
+ emake -C tests/cbcf_data
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ # breaks with parallel build
+ # need to avoid dropping .so plugins into
+ # build-lib, which breaks tests
+ esetup.py build_ext --inplace -j1
+ distutils-r1_python_compile -j1
+}