pygrib (1.9.3-1) use_g2clib.patch

Summary

 setup.py |   43 +++++++++++++++++++++++++++++++------------
 1 file changed, 31 insertions(+), 12 deletions(-)

    
download this patch

Patch contents

Author: Alastair McKinstry <mckinstry@debian.org>
Description: On Debian, use libgrib2c library rather than embedded version.
Forwarded: not-needed
Last-Updated: 2012-04-18

Index: pygrib-1.9.3/setup.py
===================================================================
--- pygrib-1.9.3.orig/setup.py	2012-04-18 19:30:26.000000000 +0100
+++ pygrib-1.9.3/setup.py	2012-04-18 21:22:21.000000000 +0100
@@ -20,6 +20,9 @@
 openjpeg_dir = os.environ.get('OPENJPEG_DIR')
 openjpeg_libdir = os.environ.get('OPENJPEG_LIBDIR')
 openjpeg_incdir = os.environ.get('OPENJPEG_INCDIR')
+g2clib_dir = os.environ.get('G2CLIB_DIR')
+g2clib_libdir = os.environ.get('G2CLIB_LIBDIR')
+g2clib_incdir = os.environ.get('G2CLIB_INCDIR')
 
 setup_cfg = os.environ.get('PYGRIBSETUPCFG', 'setup.cfg')
 # contents of setup.cfg will override env vars.
@@ -57,10 +60,16 @@
     except: pass
     try: zlib_incdir = config.get("directories", "zlib_incdir")
     except: pass
+    try: g2clib_dir = config.get("directories", "g2clib_dir")
+    except: pass
+    try: g2clib_libdir = config.get("directories", "g2clib_libdir")
+    except: pass
+    try: g2clib_incdir = config.get("directories", "g2clib_incdir")
+    except: pass
 
 libdirs=[]
 incdirs=[numpy.get_include()]
-libraries=['grib_api']
+libraries=['grib_api','grib2c']
 
 if grib_api_libdir is None and grib_api_dir is not None: 
     libdirs.append(os.path.join(grib_api_dir,'lib'))
@@ -101,21 +110,31 @@
 if zlib_incdir is None and zlib_dir is not None: 
     incdirs.append(os.path.join(zlib_dir,'include'))
 
-g2clib_deps = glob.glob('g2clib_src/*.c')
-g2clib_deps.append('g2clib.c')
-incdirs.append("g2clib_src")
-macros=[]
-if jasper_dir is not None or jasper_libdir is not None: macros.append(('USE_JPEG2000',1))
-if png_dir is not None or png_libdir is not None: macros.append(('USE_PNG',1))
-if hasattr(sys,'maxsize'):
-    if sys.maxsize > 2**31-1: macros.append(('__64BIT__',1))
-else:
-    if sys.maxint > 2**31-1: macros.append(('__64BIT__',1))
-g2clibext = Extension("g2clib",g2clib_deps,include_dirs=incdirs,library_dirs=libdirs,libraries=libraries,define_macros=macros)
+if g2clib_dir is not None or g2clib_libdir is not None:
+    libraries.append("g2clib")
+if g2clib_libdir is None and g2clib_dir is not None: 
+    libdirs.append(os.path.join(g2clib_dir,'lib'))
+    libdirs.append(os.path.join(g2clib_dir,'lib64'))
+if g2clib_incdir is None and g2clib_dir is not None: 
+    incdirs.append(os.path.join(g2clib_dir,'include'))
+
+#g2clib_deps = glob.glob('g2clib_src/*.c')
+#g2clib_deps.append('g2clib.c')
+#incdirs.append("g2clib_src")
+#macros=[]
+#if jasper_dir is not None or jasper_libdir is not None: macros.append(('USE_JPEG2000',1))
+#if png_dir is not None or png_libdir is not None: macros.append(('USE_PNG',1))
+#if hasattr(sys,'maxsize'):
+#    if sys.maxsize > 2**31-1: macros.append(('__64BIT__',1))
+#else:
+#    if sys.maxint > 2**31-1: macros.append(('__64BIT__',1))
+#g2clibext = Extension("g2clib",g2clib_deps,include_dirs=incdirs,library_dirs=libdirs,libraries=libraries,define_macros=macros)
 redtoregext =\
 Extension("redtoreg",["redtoreg.c"],include_dirs=[numpy.get_include()])
 pygribext =\
 Extension("pygrib",["pygrib.c"],include_dirs=incdirs,library_dirs=libdirs,libraries=libraries)
+g2clibext =\
+Extension("g2clib",["g2clib.c"],include_dirs=incdirs,library_dirs=libdirs,libraries=libraries)
 
 
 setup(name = "pygrib",