unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
blob 611c4ff74d2e4d2c6cfb074b91c9380e89beffde 4468 bytes (raw)
name: packages/patches/crossmap-allow-system-pysam.patch 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
 
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     

debug log:

solving 611c4ff74d2e4d2c6cfb074b91c9380e89beffde ...
found 611c4ff74d2e4d2c6cfb074b91c9380e89beffde in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).