From 5eaffd5066fca627b676845d14d7249e04ca7731 Mon Sep 17 00:00:00 2001 From: Sébastien Fabbro Date: Thu, 17 Nov 2016 20:15:12 +0000 Subject: dev-python/pyfits: add several patches from debian, also fixing #596240 Package-Manager: portage-2.3.2 --- dev-python/pyfits/files/01-system-cfitsio.patch | 176 +++++++++++++++++++++ .../files/02-numpy-deprecation-warning.patch | 24 +++ .../pyfits/files/03-fix-for-cfitsio-3380.patch | 43 +++++ dev-python/pyfits/pyfits-3.4-r1.ebuild | 72 +++++++++ dev-python/pyfits/pyfits-3.4.ebuild | 71 --------- 5 files changed, 315 insertions(+), 71 deletions(-) create mode 100644 dev-python/pyfits/files/01-system-cfitsio.patch create mode 100644 dev-python/pyfits/files/02-numpy-deprecation-warning.patch create mode 100644 dev-python/pyfits/files/03-fix-for-cfitsio-3380.patch create mode 100644 dev-python/pyfits/pyfits-3.4-r1.ebuild delete mode 100644 dev-python/pyfits/pyfits-3.4.ebuild (limited to 'dev-python/pyfits') diff --git a/dev-python/pyfits/files/01-system-cfitsio.patch b/dev-python/pyfits/files/01-system-cfitsio.patch new file mode 100644 index 000000000000..f2ce935c7ea8 --- /dev/null +++ b/dev-python/pyfits/files/01-system-cfitsio.patch @@ -0,0 +1,176 @@ +From 70fe4dac3f68c3eed369d42e6a49e7865db8b250 Mon Sep 17 00:00:00 2001 +From: SVN-Git Migration +Date: Thu, 8 Oct 2015 10:31:01 -0700 +Subject: 01-system-cfitsio.diff + +Patch-Name: 01-system-cfitsio.diff +--- + setup.cfg | 145 +++++++++++++++++++++++++++++++------------------------------- + 1 file changed, 73 insertions(+), 72 deletions(-) + +diff --git a/setup.cfg b/setup.cfg +index 3a05c62..3a64f33 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -40,81 +40,81 @@ scripts = + + [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 ++# 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 ++# cextern/cfitsio + extra_compile_args = + -Wno-declaration-after-statement + -Wno-unused-variable +@@ -125,6 +125,7 @@ extra_compile_args = + -Wno-unused + -Wno-comments + -Wno-switch ++libraries = cfitsio + optional = True + fail_message = + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/dev-python/pyfits/files/02-numpy-deprecation-warning.patch b/dev-python/pyfits/files/02-numpy-deprecation-warning.patch new file mode 100644 index 000000000000..026e6b829d4d --- /dev/null +++ b/dev-python/pyfits/files/02-numpy-deprecation-warning.patch @@ -0,0 +1,24 @@ +From 90cac05f8a5436a8dd3714ad29e2d81eb8b4d39b Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Tue, 2 Feb 2016 22:41:09 +0100 +Subject: Avoid DeprecationWarning from Numpy. + +Patch-Name: 02-numpy-deprecation-warning.diff +--- + pyfits/tests/test_division.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/pyfits/tests/test_division.py b/pyfits/tests/test_division.py +index da4df72..aa93264 100644 +--- a/pyfits/tests/test_division.py ++++ b/pyfits/tests/test_division.py +@@ -18,7 +18,8 @@ class TestDivisionFunctions(PyfitsTestCase): + a1 = np.rec.array( + s, + dtype=np.dtype([('c1', '>i4'), ('c2', '|S3'), +- ('c3', '>f4'), ('c4', '|i1')])) ++ ('c3', '>f4'), ('c4', '|i1')]), ++ shape=len(s) // 12) + + def test_card_with_continue(self): + h = fits.PrimaryHDU() diff --git a/dev-python/pyfits/files/03-fix-for-cfitsio-3380.patch b/dev-python/pyfits/files/03-fix-for-cfitsio-3380.patch new file mode 100644 index 000000000000..d0fac84d1e22 --- /dev/null +++ b/dev-python/pyfits/files/03-fix-for-cfitsio-3380.patch @@ -0,0 +1,43 @@ +Author: Ole Streicher +Description: Update image tests for cfitsio 3.380 + Make TFORMx check more flexible. The maximal column length in cfitsio + changed between version 3370 and 3380. This patch checks their syntax, + without a specific length. + . + HCOMPRESSed images are allowed to deviate from the original by about + 1/quantize_level of the RMS in each tile. This patch changes the absolute + identity test +Bug: https://github.com/astropy/astropy/issues/4646 +Bug: https://github.com/astropy/astropy/issues/4647 +Bug-Debian: https://bugs.debian.org/816595 +--- a/pyfits/tests/test_image.py ++++ b/pyfits/tests/test_image.py +@@ -2,6 +2,7 @@ + + import math + import os ++import re + import time + import warnings + +@@ -1014,7 +1015,7 @@ + hdu.writeto(self.temp('test.fits')) + + with fits.open(self.temp('test.fits')) as hdul: +- assert (hdul['SCI'].data == cube).all() ++ assert np.abs(hdul['SCI'].data - cube).max() < 1./15. + + def test_subtractive_dither_seed(self): + """ +@@ -1269,8 +1270,8 @@ + + with fits.open(self.temp('test.fits'), + disable_image_compression=True) as h: +- assert h[1].header['TFORM1'] == '1PB(30)' +- assert h[1].header['TFORM2'] == '1PB(359)' ++ assert re.match(r'^1PB\(\d+\)$', h[1].header['TFORM1']) ++ assert re.match(r'^1PB\(\d+\)$', h[1].header['TFORM2']) + + def test_compression_update_header(self): + """Regression test for + diff --git a/dev-python/pyfits/pyfits-3.4-r1.ebuild b/dev-python/pyfits/pyfits-3.4-r1.ebuild new file mode 100644 index 000000000000..a62069c9b4f8 --- /dev/null +++ b/dev-python/pyfits/pyfits-3.4-r1.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils multilib + +DESCRIPTION="Provides an interface to FITS formatted files under python" +HOMEPAGE="http://www.stsci.edu/resources/software_hardware/pyfits" +SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" +IUSE="doc test" + +RDEPEND=" + dev-python/numpy[${PYTHON_USEDEP}] + sci-libs/cfitsio:0=" +DEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/d2to1-0.2.5[${PYTHON_USEDEP}] + >=dev-python/stsci-distutils-0.3[${PYTHON_USEDEP}] + doc? ( + dev-python/matplotlib[${PYTHON_USEDEP}] + $(python_gen_cond_dep 'dev-python/numpydoc[${PYTHON_USEDEP}]' 'python*') + dev-python/sphinxcontrib-programoutput[${PYTHON_USEDEP}] + dev-python/stsci-sphinxext[${PYTHON_USEDEP}] + ) + test? ( dev-python/nose[${PYTHON_USEDEP}] )" + +PATCHES=( "${FILESDIR}"/01-system-cfitsio.patch + "${FILESDIR}"/02-numpy-deprecation-warning.patch + "${FILESDIR}"/03-fix-for-cfitsio-3380.patch ) + +python_prepare_all() { + sed -e "s/\(hook_package_dir = \)lib/\1$(get_libdir)/g" \ + -i "${S}"/setup.cfg || die + + # https://github.com/spacetelescope/PyFITS/issues/95 + sed -e "s/except UserWarning, w/except UserWarning as w/" \ + -i pyfits/scripts/fitscheck.py || die + + distutils-r1_python_prepare_all +} + +python_compile_all() { + use doc && emake -C docs html +} + +python_test() { + cd "${BUILD_DIR}"/lib* || die + nosetests --verbose || die +} + +python_install() { + distutils-r1_python_install + local binary + for binary in "${ED}"/usr/bin/* "${D}$(python_get_scriptdir)"/*; do + einfo "Renaming ${binary} to ${binary}-${PN}" + mv ${binary}{,-${PN}} || die "failed renaming" + done +} + +python_install_all() { + use doc && local HTML_DOCS=( docs/build/html/. ) + DOCS=( FAQ.txt CHANGES.txt ) + distutils-r1_python_install_all +} diff --git a/dev-python/pyfits/pyfits-3.4.ebuild b/dev-python/pyfits/pyfits-3.4.ebuild deleted file mode 100644 index dd6036d52f28..000000000000 --- a/dev-python/pyfits/pyfits-3.4.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python2_7 python3_{4,5} ) - -inherit distutils-r1 eutils multilib - -DESCRIPTION="Provides an interface to FITS formatted files under python" -HOMEPAGE="http://www.stsci.edu/resources/software_hardware/pyfits" -SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux" -IUSE="doc test" - -RDEPEND=" - dev-python/numpy[${PYTHON_USEDEP}] - sci-libs/cfitsio:0=" -DEPEND="${RDEPEND} - dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/d2to1-0.2.5[${PYTHON_USEDEP}] - >=dev-python/stsci-distutils-0.3[${PYTHON_USEDEP}] - doc? ( - dev-python/matplotlib[${PYTHON_USEDEP}] - $(python_gen_cond_dep 'dev-python/numpydoc[${PYTHON_USEDEP}]' 'python*') - dev-python/sphinxcontrib-programoutput[${PYTHON_USEDEP}] - dev-python/stsci-sphinxext[${PYTHON_USEDEP}] - ) - test? ( dev-python/nose[${PYTHON_USEDEP}] )" - -PATCHES=( "${FILESDIR}"/${PN}-3.2.1-unbundle-cfitsio.patch ) - -python_prepare_all() { - sed -i \ - -e "s/\(hook_package_dir = \)lib/\1$(get_libdir)/g" \ - "${S}"/setup.cfg || die - - # https://github.com/spacetelescope/PyFITS/issues/95 - sed -e "s/except UserWarning, w/except UserWarning as w/" \ - -i pyfits/scripts/fitscheck.py || die - - distutils-r1_python_prepare_all -} - -python_compile_all() { - use doc && emake -C docs html -} - -python_test() { - cd "${BUILD_DIR}"/lib* || die - nosetests --verbose || die -} - -python_install() { - distutils-r1_python_install - local binary - for binary in "${ED}"/usr/bin/* "${D}$(python_get_scriptdir)"/*; do - einfo "Renaming ${binary} to ${binary}-${PN}" - mv ${binary}{,-${PN}} || die "failed renaming" - done -} - -python_install_all() { - use doc && local HTML_DOCS=( docs/build/html/. ) - DOCS=( FAQ.txt CHANGES.txt ) - distutils-r1_python_install_all -} -- cgit v1.2.3-65-gdbad