aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pyfits/pyfits-cfitsio.patch176
-rw-r--r--pyfits/pyfits.ini12
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