diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-05 21:33:29 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-05 21:33:29 -0400 |
commit | c079cacdb36c70da3ed6cd3c14e96aa2f376b527 (patch) | |
tree | 6d28b5b01696a97fa93225af166682c07d9c78d3 | |
parent | a528d4729d745e70d846768eb7968c6941f9184b (diff) | |
download | cbc-recipes-c079cacdb36c70da3ed6cd3c14e96aa2f376b527.tar.gz |
un-d2to1 extension building to incorporate pkg-config
-rw-r--r-- | pyfits/pyfits-cfitsio.patch | 176 | ||||
-rw-r--r-- | pyfits/pyfits.ini | 12 |
2 files changed, 186 insertions, 2 deletions
diff --git a/pyfits/pyfits-cfitsio.patch b/pyfits/pyfits-cfitsio.patch new file mode 100644 index 0000000..f2103b2 --- /dev/null +++ b/pyfits/pyfits-cfitsio.patch @@ -0,0 +1,176 @@ +diff -u -p --recursive a/pyfits-3.3/setup.cfg b/pyfits-3.3/setup.cfg +--- setup.cfg 2014-07-17 14:36:07.000000000 -0400 ++++ setup.cfg 2015-07-05 19:25:45.313176685 -0400 +@@ -35,101 +35,29 @@ scripts = + scripts/fitscheck + scripts/fitsdiff + +-[extension=pyfits.compression] +-sources = +- cextern/cfitsio/adler32.c +- cextern/cfitsio/buffers.c +- cextern/cfitsio/cfileio.c +- cextern/cfitsio/checksum.c +- cextern/cfitsio/crc32.c +- cextern/cfitsio/deflate.c +- cextern/cfitsio/drvrfile.c +- cextern/cfitsio/drvrgsiftp.c +- cextern/cfitsio/drvrmem.c +- cextern/cfitsio/drvrnet.c +- cextern/cfitsio/drvrsmem.c +- cextern/cfitsio/editcol.c +- cextern/cfitsio/edithdu.c +- cextern/cfitsio/eval_f.c +- cextern/cfitsio/eval_l.c +- cextern/cfitsio/eval_y.c +- cextern/cfitsio/fitscore.c +- cextern/cfitsio/fits_hcompress.c +- cextern/cfitsio/fits_hdecompress.c +- cextern/cfitsio/getcolb.c +- cextern/cfitsio/getcol.c +- cextern/cfitsio/getcold.c +- cextern/cfitsio/getcole.c +- cextern/cfitsio/getcoli.c +- cextern/cfitsio/getcolj.c +- cextern/cfitsio/getcolk.c +- cextern/cfitsio/getcoll.c +- cextern/cfitsio/getcolsb.c +- cextern/cfitsio/getcols.c +- cextern/cfitsio/getcolui.c +- cextern/cfitsio/getcoluj.c +- cextern/cfitsio/getcoluk.c +- cextern/cfitsio/getkey.c +- cextern/cfitsio/group.c +- cextern/cfitsio/grparser.c +- cextern/cfitsio/histo.c +- cextern/cfitsio/imcompress.c +- cextern/cfitsio/infback.c +- cextern/cfitsio/inffast.c +- cextern/cfitsio/inflate.c +- cextern/cfitsio/inftrees.c +- cextern/cfitsio/iraffits.c +- cextern/cfitsio/modkey.c +- cextern/cfitsio/pliocomp.c +- cextern/cfitsio/putcolb.c +- cextern/cfitsio/putcol.c +- cextern/cfitsio/putcold.c +- cextern/cfitsio/putcole.c +- cextern/cfitsio/putcoli.c +- cextern/cfitsio/putcolj.c +- cextern/cfitsio/putcolk.c +- cextern/cfitsio/putcoll.c +- cextern/cfitsio/putcolsb.c +- cextern/cfitsio/putcols.c +- cextern/cfitsio/putcolu.c +- cextern/cfitsio/putcolui.c +- cextern/cfitsio/putcoluj.c +- cextern/cfitsio/putcoluk.c +- cextern/cfitsio/putkey.c +- cextern/cfitsio/quantize.c +- cextern/cfitsio/region.c +- cextern/cfitsio/ricecomp.c +- cextern/cfitsio/scalnull.c +- cextern/cfitsio/swapproc.c +- cextern/cfitsio/trees.c +- cextern/cfitsio/uncompr.c +- cextern/cfitsio/wcssub.c +- cextern/cfitsio/wcsutil.c +- cextern/cfitsio/zcompress.c +- cextern/cfitsio/zuncompress.c +- cextern/cfitsio/zutil.c +- src/compressionmodule.c +-include_dirs = +- numpy +- cextern/cfitsio +-extra_compile_args = +- -Wno-declaration-after-statement +- -Wno-unused-variable +- -Wno-parentheses +- -Wno-uninitialized +- -Wno-format +- -Wno-strict-prototypes +- -Wno-unused +- -Wno-comments +- -Wno-switch +-optional = True +-fail_message = +- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +- Failed to build PyFITS tile compression support. PyFITS will still +- function, but without the ability to read or write compressed images. +- Please seek support from help@stsci.edu if you need this capability. +- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +- ++#[extension=pyfits.compression] ++#sources = ++# src/compressionmodule.c ++#include_dirs = ++# numpy ++#extra_compile_args = ++# -Wno-declaration-after-statement ++# -Wno-unused-variable ++# -Wno-parentheses ++# -Wno-uninitialized ++# -Wno-format ++# -Wno-strict-prototypes ++# -Wno-unused ++# -Wno-comments ++# -Wno-switch ++#optional = True ++#fail_message = ++# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ++# Failed to build PyFITS tile compression support. PyFITS will still ++# function, but without the ability to read or write compressed images. ++# Please seek support from help@stsci.edu if you need this capability. ++# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ++# + [global] + setup-hooks = + stsci.distutils.hooks.version_setup_hook +diff -u -p --recursive a/pyfits-3.3/setup.py b/pyfits-3.3/setup.py +--- setup.py 2014-06-09 16:07:11.000000000 -0400 ++++ setup.py 2015-07-05 20:46:43.071332734 -0400 +@@ -1,15 +1,41 @@ + #!/usr/bin/env python + + try: +- from setuptools import setup ++ from setuptools import setup, Extension + except ImportError: + from ez_setup import use_setuptools + use_setuptools() +- from setuptools import setup ++ from setuptools import setup, Extension + ++import sys ++import subprocess ++ ++ ++PY3 = sys.version_info[0] == 3 ++extra_compile_args = ['-Wall'] ++extra_link_args = ['-lcfitsio'] ++ ++try: ++ if PY3: ++ extra_compile_args = subprocess.check_output(['pkg-config', '--cflags', 'cfitsio']).decode().split() ++ extra_link_args = subprocess.check_output(['pkg-config', '--libs', 'cfitsio']).decode().split() ++ else: ++ extra_compile_args = subprocess.check_output(['pkg-config', '--cflags', 'cfitsio']).split() ++ extra_link_args = subprocess.check_output(['pkg-config', '--libs', 'cfitsio']).split() ++except subprocess.CalledProcessError: ++ print('!!! pkg-config failure, skipping flag generation !!!') ++ pass + + setup( + setup_requires=['d2to1>=0.2.5', 'stsci.distutils>=0.3'], + d2to1=True, +- zip_safe=False ++ use_2to3=True, ++ zip_safe=False, ++ ext_modules = [ ++ Extension('pyfits.compression', ['src/compressionmodule.c'], ++ include_dirs=['numpy'], ++ extra_compile_args=extra_compile_args, ++ extra_link_args=extra_link_args, ++ optional=True) ++ ], + ) diff --git a/pyfits/pyfits.ini b/pyfits/pyfits.ini index 7e6ad97..ce99395 100644 --- a/pyfits/pyfits.ini +++ b/pyfits/pyfits.ini @@ -18,6 +18,8 @@ summary: ${package:name} [source] fn: ${package:name}-${package:version}.tar.gz url: ${cbc_cgi:url}/${fn} +patches: + ${package:name}-cfitsio.patch [build] number: 1 @@ -26,14 +28,18 @@ number: 1 build: yaml pyyaml - numpy + setuptools stsci.distutils + pkgconfig + cfitsio + numpy d2to1 python run: yaml pyyaml + cfitsio numpy stsci.distutils d2to1 @@ -42,7 +48,9 @@ run: [cbc_build] linux: - python setup.py install --single-version-externally-managed --record=record.txt || exit 1 + echo This d2to1 hack is deadly. + pip install --no-deps --upgrade --force d2to1 || exit 1 + python setup.py install || exit 1 windows: python setup.py install |