11import sys , glob , os , subprocess
22
3- major , minor1 , minor2 , s , tmp = sys .version_info
4- if major == 2 and minor1 < 4 or major < 2 :
3+ if sys .version_info < (2 , 4 ):
54 raise SystemExit ("""matplotlib and the basemap toolkit require Python 2.4 or later.""" )
65
76from distutils .dist import Distribution
@@ -81,57 +80,26 @@ def checkversion(GEOS_dir):
8180 geos_include_dirs = [os .path .join (GEOS_dir ,'include' ),inc_dirs ]
8281 geos_library_dirs = [os .path .join (GEOS_dir ,'lib' ),os .path .join (GEOS_dir ,'lib64' )]
8382
84- # proj4 and geos extensions.
85- deps = glob .glob ('src/*.c' )
86- deps .remove (os .path .join ('src' ,'_proj.c' ))
87- deps .remove (os .path .join ('src' ,'_geoslib.c' ))
88-
8983packages = ['mpl_toolkits' ,'mpl_toolkits.basemap' ]
9084namespace_packages = ['mpl_toolkits' ]
9185package_dirs = {'' :'lib' }
92- extensions = [Extension ("mpl_toolkits.basemap._proj" ,deps + ['src/_proj.c' ],include_dirs = ['src' ],)]
93- # can't install _geoslib in mpl_toolkits.basemap namespace,
94- # or Basemap objects won't be pickleable.
95- if sys .platform == 'win32' :
96- # don't use runtime_library_dirs on windows (workaround
97- # for a distutils bug - http://bugs.python.org/issue2437).
98- #extensions.append(Extension("mpl_toolkits.basemap._geoslib",['src/_geoslib.c'],
99- extensions .append (Extension ("_geoslib" ,['src/_geoslib.c' ],
100- library_dirs = geos_library_dirs ,
101- include_dirs = geos_include_dirs ,
102- libraries = ['geos' ]))
103- else :
104- #extensions.append(Extension("mpl_toolkits.basemap._geoslib",['src/_geoslib.c'],
105- extensions .append (Extension ("_geoslib" ,['src/_geoslib.c' ],
106- library_dirs = geos_library_dirs ,
107- runtime_library_dirs = geos_library_dirs ,
108- include_dirs = geos_include_dirs ,
109- libraries = ['geos_c' ]))
11086
11187# Specify all the required mpl data
11288# create pyproj binary datum shift grid files.
11389pathout = \
11490os .path .join ('lib' ,os .path .join ('mpl_toolkits' ,os .path .join ('basemap' ,'data' )))
115- if sys .argv [1 ] not in ['sdist' ,'clean' ]:
116- cc = ccompiler .new_compiler ()
117- sysconfig .get_config_vars ()
118- sysconfig .customize_compiler (cc )
119- cc .set_include_dirs (['src' ])
120- objects = cc .compile (['nad2bin.c' , 'src/pj_malloc.c' ])
121- execname = 'nad2bin'
122- cc .link_executable (objects , execname )
123- llafiles = glob .glob ('datumgrid/*.lla' )
124- cmd = os .path .join (os .getcwd (),execname )
125- for f in llafiles :
126- fout = os .path .basename (f .split ('.lla' )[0 ])
127- fout = os .path .join (pathout ,fout )
128- strg = '%s %s < %s' % (cmd , fout , f )
129- sys .stdout .write ('executing %s\n ' % strg )
130- subprocess .call (strg ,shell = True )
91+
13192datafiles = glob .glob (os .path .join (pathout ,'*' ))
13293datafiles = [os .path .join ('data' ,os .path .basename (f )) for f in datafiles ]
13394package_data = {'mpl_toolkits.basemap' :datafiles }
13495
96+ requirements = [
97+ "numpy>=1.2.1" ,
98+ "matplotlib>=1.0.0" ,
99+ "pyproj >= 1.9.3" ,
100+ "pyshp >= 1.2.0"
101+ ]
102+
135103__version__ = "1.0.8"
136104setup (
137105 name = "basemap" ,
@@ -146,7 +114,7 @@ def checkversion(GEOS_dir):
146114 download_url = "https://downloads.sourceforge.net/project/matplotlib/matplotlib-toolkits/basemap-{0}/basemap-{0}.tar.gz" .format (__version__ ),
147115 author = "Jeff Whitaker" ,
148116 author_email = "jeffrey.s.whitaker@noaa.gov" ,
149- install_requires = [ "numpy>=1.2.1" , "matplotlib>=1.0.0" ] ,
117+ install_requires = requirements ,
150118 platforms = ["any" ],
151119 license = "OSI Approved" ,
152120 keywords = ["python" ,"plotting" ,"plots" ,"graphs" ,"charts" ,"GIS" ,"mapping" ,"map projections" ,"maps" ],
@@ -161,7 +129,6 @@ def checkversion(GEOS_dir):
161129 packages = packages ,
162130 namespace_packages = namespace_packages ,
163131 package_dir = package_dirs ,
164- ext_modules = extensions ,
165132 cmdclass = {'build_py' : build_py },
166133 package_data = package_data
167134 )
0 commit comments