commit:     e4dbb5c139e2c3dfe8a7d6eaa7f19a08da9b88b0
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Sep  2 18:34:46 2017 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Sep  2 18:35:42 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4dbb5c1

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

 .../pysam/files/pysam-0.12-fix-buildsystem.patch   | 63 ++++++++++++++++++++++
 sci-biology/pysam/pysam-0.12.ebuild                |  6 ++-
 2 files changed, 68 insertions(+), 1 deletion(-)

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 00000000000..8b323a63fba
--- /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 e181e06ac9b..1f4f58fdfe2 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" \

Reply via email to