122 lines
4.4 KiB
Diff
122 lines
4.4 KiB
Diff
|
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
|