--- setup.py.orig 2016-11-18 20:23:03.000000000 +0100
+++ setup.py 2016-11-20 11:31:48.042087899 +0100
@@ -122,23 +122,33 @@
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_pyx)
-incdirs.append("g2clib_src")
+#g2clib_deps = glob.glob('g2clib_src/*.c')
+#g2clib_deps.append(g2clib_pyx)
+g2clib_deps = [g2clib_pyx,]
+g2clib_dir = '/usr/lib64'
+g2clib_incdir = '/usr/include'
+libdirs.append(g2clib_dir)
+incdirs.append(g2clib_incdir)
+libraries.append('grib2c')
+#incdirs.append("g2clib_src")
macros=[]
-# if jasper or openjpeg lib not available...
-if 'jasper' not in libraries and 'openjpeg' not in libraries:
- g2clib_deps.remove(os.path.join('g2clib_src', 'jpcpack.c'))
- g2clib_deps.remove(os.path.join('g2clib_src', 'jpcunpack.c'))
-else:
- macros.append(('USE_JPEG2000',1))
-# if png lib not available...
-if 'png' not in libraries:
- g2clib_deps.remove(os.path.join('g2clib_src', 'pngpack.c'))
- g2clib_deps.remove(os.path.join('g2clib_src', 'pngunpack.c'))
-else:
- macros.append(('USE_PNG',1))
+# the USE_JPEG2000 and USE_PNG defines are only used inside
+# g2clib_src, which is removed before doing the fedora rpm build
+# anyway, so these lines can be safely discarded:
+
+## if jasper or openjpeg lib not available...
+#if 'jasper' not in libraries and 'openjpeg' not in libraries:
+# g2clib_deps.remove('g2clib_src/jpcpack.c')
+# g2clib_deps.remove('g2clib_src/jpcunpack.c')
+#else:
+# macros.append(('USE_JPEG2000',1))
+## if png lib not available...
+#if 'png' not in libraries:
+# g2clib_deps.remove('g2clib_src/pngpack.c')
+# g2clib_deps.remove('g2clib_src/pngunpack.c')
+#else:
+# macros.append(('USE_PNG',1))
if hasattr(sys,'maxsize'):
if sys.maxsize > 2**31-1: macros.append(('__64BIT__',1))
@@ -146,12 +156,12 @@
if sys.maxint > 2**31-1: macros.append(('__64BIT__',1))
g2clibext = Extension("g2clib",g2clib_deps,include_dirs=incdirs,\
- library_dirs=libdirs,libraries=libraries,runtime_library_dirs=libdirs,define_macros=macros)
+ library_dirs=libdirs,libraries=libraries,define_macros=macros)
redtoregext =\
Extension("redtoreg",[redtoreg_pyx],include_dirs=[numpy.get_include()])
pygribext =\
Extension("pygrib",[pygrib_pyx],include_dirs=incdirs,library_dirs=libdirs,\
- runtime_library_dirs=libdirs,libraries=libraries)
+ libraries=libraries)
# man pages installed in man_dir/man1
if man_dir is not None:
@@ -161,7 +171,16 @@
else:
data_files = None
-
+# don't provide the scripts and man pages for the python3 version,
+# to prevent rpm ownership collisions in case a user installs both
+# a python2 and a python3 version of the module
+scripts_list = []
+if sys.version_info[0] < 3:
+ scripts_list = ['utils/grib_list','utils/grib_repack',
+ 'utils/cnvgrib1to2','utils/cnvgrib2to1']
+if sys.version_info[0] >= 3:
+ data_files = None
+
setup(name = "pygrib",
version = "2.0.2",
@@ -184,8 +203,7 @@
"License :: OSI Approved",
"Topic :: Software Development :: Libraries :: Python Modules"],
cmdclass = cmdclass,
- scripts =
- ['utils/grib_list','utils/grib_repack','utils/cnvgrib1to2','utils/cnvgrib2to1'],
+ scripts = scripts_list,
ext_modules = [pygribext,g2clibext,redtoregext],
py_modules = ["ncepgrib2"],
data_files = data_files)