summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2017-09-02 20:34:46 +0200
committerDavid Seifert <soap@gentoo.org>2017-09-02 20:35:42 +0200
commite4dbb5c139e2c3dfe8a7d6eaa7f19a08da9b88b0 (patch)
tree10b047f907c15b7843a17b21a83b3c406bb64420
parentapp-text/libmwaw: Drop vulnerable (diff)
downloadgentoo-e4dbb5c139e2c3dfe8a7d6eaa7f19a08da9b88b0.tar.gz
gentoo-e4dbb5c139e2c3dfe8a7d6eaa7f19a08da9b88b0.tar.bz2
gentoo-e4dbb5c139e2c3dfe8a7d6eaa7f19a08da9b88b0.zip
sci-biology/pysam: Fix broken relative -I
Bug: https://bugs.gentoo.org/show_bug.cgi?id=629670 Package-Manager: Portage-2.3.8, Repoman-2.3.3
-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" \