diff options
Diffstat (limited to 'sci-astronomy/kapteyn/files/kapteyn-2.2-debundle_wcs.patch')
-rw-r--r-- | sci-astronomy/kapteyn/files/kapteyn-2.2-debundle_wcs.patch | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/sci-astronomy/kapteyn/files/kapteyn-2.2-debundle_wcs.patch b/sci-astronomy/kapteyn/files/kapteyn-2.2-debundle_wcs.patch new file mode 100644 index 000000000000..035979b80bc7 --- /dev/null +++ b/sci-astronomy/kapteyn/files/kapteyn-2.2-debundle_wcs.patch @@ -0,0 +1,101 @@ +Use system wcslib + +Patch written by Kacper Kowalik <xarthisius@gentoo.org> + +--- a/setup.py ++++ b/setup.py +@@ -3,7 +3,8 @@ + from kapteyn import __version__ as version + from glob import glob + import sys, os +- ++from subprocess import Popen, PIPE ++from re import match + try: + import numpy + except: +@@ -14,21 +15,27 @@ + ''' + sys.exit(1) + +-try: +- wcslib_dir = glob('src/wcslib*/C/')[0] +-except: +- print ''' +--- Error. +-Unable to find WCSLIB source distribution. +-''' +- sys.exit(1) ++def pkgconfig(*packages, **kw): ++ flag_map = {'-I': 'include_dirs', '-L': 'library_dirs', '-l': 'libraries'} ++ arg = "--libs --cflags --modversion %s" % ' '.join(packages) ++ for tok in Popen(["pkg-config "+ arg],stdout=PIPE, shell=True).communicate()[0].split(): ++ token = tok.decode("utf-8") ++ if(match("[0-9]",token)): ++ kw.setdefault("version",[]).append(token) ++ else: ++ kw.setdefault(flag_map.get(token[:2]), []).append(token[2:]) ++ return kw + + include_dirs = [] + numdir = os.path.dirname(numpy.__file__) + ipath = os.path.join(numdir, numpy.get_include()) + include_dirs.append(ipath) + include_dirs.append('src') +-include_dirs.append(wcslib_dir) ++ ++WCSLIB = pkgconfig('wcslib') ++WCSVERSION = Popen(["pkg-config --modversion"],stdout=PIPE, shell=True).communicate()[0].split() ++ ++include_dirs += WCSLIB['include_dirs'] + + short_descr = "Kapteyn Package: Python modules for astronomical applications" + +@@ -94,27 +101,6 @@ + "xyz.c" + ] + +-wcslib_src = [ +- "cel.c", +- "lin.c", +- "log.c", +- "prj.c", +- "spc.c", +- "sph.c", +- "spx.c", +- "tab.c", +- "wcs.c", +- "wcsfix.c", +- "wcshdr.c", +- "wcsprintf.c", +- "wcstrig.c", +- "wcsunits.c", +- "wcsutil.c", +- "wcserr.c", +- "flexed/wcsulex.c", +- "flexed/wcsutrn.c" +-] +- + ndimg_src = [ + "nd_image.c", + "ni_filters.c", +@@ -125,8 +111,7 @@ + "ni_support.c", + ] + +-wcs_src = ( ['src/' + source for source in wcsmod_src] +- + [wcslib_dir + source for source in wcslib_src] ) ++wcs_src = ( ['src/' + source for source in wcsmod_src] ) + + _nd_image_src = ['src/ndimg/' + source for source in ndimg_src] + +@@ -168,7 +153,8 @@ + Extension( + "wcs", wcs_src, + include_dirs=include_dirs, +- define_macros=define_macros ++ define_macros=define_macros, ++ libraries=WCSLIB['libraries'] + ), + Extension( + "ascarray", |