This patch modifies the build process such that the bundled copy of pysam does not need to be built if CROSSMAP_USE_SYSTEM_PYSAM is set and the pysam module can be imported. Upstream has agreed to apply the patch in the next maintenance release of crossmap. The patch has already been uploaded to http://sourceforge.net/projects/crossmap/files/patch/. diff --git a/setup.py b/setup.py --- a/setup.py 2015-02-26 15:28:49.771189185 +0100 +++ b/setup.py 2015-02-26 15:55:03.440327752 +0100 @@ -19,6 +19,15 @@ except: have_numpy = False +try: + import pysam + if os.environ['CROSSMAP_USE_SYSTEM_PYSAM']: + have_pysam = True + else: + have_pysam = False +except ImportError: + have_pysam = False + if platform.system()=='Windows': print >> sys.stderr, "Sorry, Windows platform is not supported!" sys.exit() @@ -165,49 +174,50 @@ #================= pysam samtools ==================== - extensions.append(Extension( - "pysam.csamtools", - csamtools_sources + [ "lib/pysam/%s" % x for x in ("pysam_util.c", )] +\ - glob.glob( os.path.join( "lib/samtools", "*.pysam.c" )) +\ - os_c_files + \ - glob.glob( os.path.join( "lib/samtools", "*", "*.pysam.c" ) ), - library_dirs=[], - include_dirs=[ "lib/samtools", "lib/pysam" ] + include_os, - libraries=[ "z", ], - language="c", - define_macros = [('_FILE_OFFSET_BITS','64'),('_USE_KNETFILE','')], - )) - - extensions.append(Extension( - "pysam.ctabix", - tabix_sources + [ "lib/pysam/%s" % x for x in ( "tabix_util.c", )] +\ - os_c_files + \ - glob.glob( os.path.join( "lib/tabix", "*.pysam.c" ) ), - library_dirs=[], - include_dirs=[ "lib/tabix", "lib/pysam" ] + include_os, - libraries=[ "z", ], - language="c", - define_macros = [('_FILE_OFFSET_BITS','64'), - ('_USE_KNETFILE','')], - )) - - extensions.append(Extension( - "pysam.TabProxies", - tabproxies_sources + os_c_files, - library_dirs=[], - include_dirs= include_os, - libraries=[ "z", ], - language="c", - )) - - extensions.append(Extension( - "pysam.cvcf", - cvcf_sources + os_c_files, - library_dirs=[], - include_dirs= ["lib/tabix",] + include_os, - libraries=[ "z", ], - language="c", - )) + if not have_pysam: + extensions.append(Extension( + "pysam.csamtools", + csamtools_sources + [ "lib/pysam/%s" % x for x in ("pysam_util.c", )] +\ + glob.glob( os.path.join( "lib/samtools", "*.pysam.c" )) +\ + os_c_files + \ + glob.glob( os.path.join( "lib/samtools", "*", "*.pysam.c" ) ), + library_dirs=[], + include_dirs=[ "lib/samtools", "lib/pysam" ] + include_os, + libraries=[ "z", ], + language="c", + define_macros = [('_FILE_OFFSET_BITS','64'),('_USE_KNETFILE','')], + )) + + extensions.append(Extension( + "pysam.ctabix", + tabix_sources + [ "lib/pysam/%s" % x for x in ( "tabix_util.c", )] +\ + os_c_files + \ + glob.glob( os.path.join( "lib/tabix", "*.pysam.c" ) ), + library_dirs=[], + include_dirs=[ "lib/tabix", "lib/pysam" ] + include_os, + libraries=[ "z", ], + language="c", + define_macros = [('_FILE_OFFSET_BITS','64'), + ('_USE_KNETFILE','')], + )) + + extensions.append(Extension( + "pysam.TabProxies", + tabproxies_sources + os_c_files, + library_dirs=[], + include_dirs= include_os, + libraries=[ "z", ], + language="c", + )) + + extensions.append(Extension( + "pysam.cvcf", + cvcf_sources + os_c_files, + library_dirs=[], + include_dirs= ["lib/tabix",] + include_os, + libraries=[ "z", ], + language="c", + )) return extensions itle='2021-04-27 13:57:45 +0200'>2021-04-27gnu: html2text: Fix cross-compilation....* gnu/packages/textutils.scm (html2text)[arguments]: Set $CXX to the correct (CC-FOR-TARGET). Tobias Geerinckx-Rice 2021-04-27gnu: html2text: Run ./configure without errors....* gnu/packages/textutils.scm (html2text)[arguments]: Add a custom 'configure phase. Replace the custom 'fix-paths phase with the customary #:make-flags equivalent. Tobias Geerinckx-Rice 2021-04-27gnu: Add html2text....* gnu/packages/textutils.scm (html2text): New variable. Guillaume Le Vaillant 2021-03-13gnu: opencc: Update to 1.1.1....* gnu/packages/textutils.scm(opencc): Update to 1.1.1 [arguments]<#:out-of-source?>: Build in source tree. <#:parallel-build?>: Disable. <#:phases>: In "patch-3rd-party-references", fix the version of dependency. Add phases "patch-python-binding-installation", "install-python-binding" and "enable-bytecode-determinism". [native-inputs]: Add python-setuptools and python-wheel. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Zhu Zihao