summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/pysam/files/pysam-0.12-fix-buildsystem.patch63
-rw-r--r--sci-biology/pysam/pysam-0.12.ebuild6
2 files changed, 68 insertions, 1 deletions
diff --git a/sci-biology/pysam/files/pysam-0.12-fix-buildsystem.patch b/sci-biology/pysam/files/pysam-0.12-fix-buildsystem.patch
new file mode 100644
index 000000000000..8b323a63fba5
--- /dev/null
+++ b/sci-biology/pysam/files/pysam-0.12-fix-buildsystem.patch
@@ -0,0 +1,63 @@
+The build system is not designed with partial out-of-source
+builds in mind. This is evident by using relative includes
+such as '-Isamtools' instead of proper relative or absolute
+paths.
+
+Bug: https://bugs.gentoo.org/show_bug.cgi?id=629670
+
+--- a/setup.py
++++ b/setup.py
+@@ -359,6 +359,8 @@
+
+ define_macros = []
+
++samtools_include_dirs = [os.path.abspath("samtools")]
++
+ chtslib = Extension(
+ "pysam.libchtslib",
+ [source_pattern % "htslib",
+@@ -385,7 +387,7 @@
+ htslib_sources +
+ os_c_files,
+ library_dirs=htslib_library_dirs,
+- include_dirs=["pysam", "samtools", "."] + include_os + htslib_include_dirs,
++ include_dirs=["pysam", "."] + samtools_include_dirs + include_os + htslib_include_dirs,
+ libraries=external_htslib_libraries + internal_htslib_libraries,
+ language="c",
+ extra_compile_args=extra_compile_args,
+@@ -404,7 +406,7 @@
+ htslib_sources +
+ os_c_files,
+ library_dirs=htslib_library_dirs,
+- include_dirs=["pysam", "samtools"] + include_os + htslib_include_dirs,
++ include_dirs=["pysam"] + samtools_include_dirs + include_os + htslib_include_dirs,
+ libraries=external_htslib_libraries + internal_htslib_libraries,
+ language="c",
+ extra_compile_args=extra_compile_args,
+@@ -423,7 +425,7 @@
+ htslib_sources +
+ os_c_files,
+ library_dirs=htslib_library_dirs,
+- include_dirs=["pysam", "samtools", "."] + include_os + htslib_include_dirs,
++ include_dirs=["pysam", "."] + samtools_include_dirs + include_os + htslib_include_dirs,
+ libraries=external_htslib_libraries + internal_htslib_libraries,
+ language="c",
+ extra_compile_args=extra_compile_args,
+@@ -467,7 +469,7 @@
+ htslib_sources +
+ os_c_files,
+ library_dirs=["pysam"] + htslib_library_dirs,
+- include_dirs=["samtools", "pysam", "."] +
++ include_dirs=["pysam", "."] + samtools_include_dirs +
+ include_os + htslib_include_dirs,
+ libraries=external_htslib_libraries + internal_htslib_libraries,
+ language="c",
+@@ -482,7 +484,7 @@
+ htslib_sources +
+ os_c_files,
+ library_dirs=["pysam"] + htslib_library_dirs,
+- include_dirs=["bcftools", "pysam", "."] +
++ include_dirs=["bcftools", "pysam", "."] + samtools_include_dirs +
+ include_os + htslib_include_dirs,
+ libraries=external_htslib_libraries + internal_htslib_libraries,
+ language="c",
diff --git a/sci-biology/pysam/pysam-0.12.ebuild b/sci-biology/pysam/pysam-0.12.ebuild
index e181e06ac9bc..1f4f58fdfe29 100644
--- a/sci-biology/pysam/pysam-0.12.ebuild
+++ b/sci-biology/pysam/pysam-0.12.ebuild
@@ -22,10 +22,14 @@ DEPEND="${RDEPEND}
dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]"
+PATCHES=( "${FILESDIR}"/${PN}-0.12-fix-buildsystem.patch )
+
python_prepare_all() {
+ # unbundle htslib
+ export HTSLIB_MODE="external"
export HTSLIB_INCLUDE_DIR="${EPREFIX}"/usr/include
export HTSLIB_LIBRARY_DIR="${EPREFIX}"/usr/$(get_libdir)
- export HTSLIB_CONFIGURE_OPTIONS="--disable-libcurl"
+ rm -r htslib || die
# prevent setup.py from adding RPATHs
sed -e "/ext\.extra_link_args += \['-Wl,-rpath,\$ORIGIN'\]/d" \