commit:     452da31dd555b2e6ed6500526cf70985dedd7653
Author:     Sébastien Fabbro <bicatali <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  9 18:28:49 2016 +0000
Commit:     Sebastien Fabbro <bicatali <AT> gentoo <DOT> org>
CommitDate: Sat Dec 10 02:05:05 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=452da31d

dev-python/spectral-cube: initial import

Package-Manager: portage-2.3.3

 dev-python/spectral-cube/Manifest                  |   1 +
 .../files/spectral-cube-0.4.0-looseversion.patch   | 139 +++++++++++++++++++++
 dev-python/spectral-cube/metadata.xml              |  19 +++
 .../spectral-cube/spectral-cube-0.4.0.ebuild       |  52 ++++++++
 4 files changed, 211 insertions(+)

diff --git a/dev-python/spectral-cube/Manifest 
b/dev-python/spectral-cube/Manifest
new file mode 100644
index 00000000..69b96b7
--- /dev/null
+++ b/dev-python/spectral-cube/Manifest
@@ -0,0 +1 @@
+DIST spectral-cube-0.4.0.tar.gz 290453 SHA256 
a08e60b314c0f6e44a3207725f962e4b9d4c9196232344f83828ca376d4c7877 SHA512 
20970d1be0d836bd07ea96ee909300f28eaf2ab4ded7b4525eb68399d242b864fe93120a16ef2ef35eba5f547c0cbe90b07c27ef44ab1910dbbe97230fbab84e
 WHIRLPOOL 
66c7d9b6d41c050dcd56048951a5a6a8c0306ae180a3042a7a066d4edd5f4ae654fad27ab325ca3e78d7a3e92d0167bc5057ca069e8db960aa23c4b18fcf78ab

diff --git 
a/dev-python/spectral-cube/files/spectral-cube-0.4.0-looseversion.patch 
b/dev-python/spectral-cube/files/spectral-cube-0.4.0-looseversion.patch
new file mode 100644
index 00000000..42147de
--- /dev/null
+++ b/dev-python/spectral-cube/files/spectral-cube-0.4.0-looseversion.patch
@@ -0,0 +1,139 @@
+From: Ole Streicher <oleb...@debian.org>
+Date: Tue, 12 Jul 2016 08:54:59 +0200
+Subject: Use LooseVersion instead of StrictVersion.
+
+StrictVersion fails on numpy RCs. LooseVersion is a compromise until something 
better is available.
+---
+ spectral_cube/np_compat.py                |  4 ++--
+ spectral_cube/spectral_cube.py            |  4 ++--
+ spectral_cube/tests/test_masks.py         |  4 ++--
+ spectral_cube/tests/test_moments.py       |  4 ++--
+ spectral_cube/tests/test_spectral_cube.py | 10 +++++-----
+ 5 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/spectral_cube/np_compat.py b/spectral_cube/np_compat.py
+index e72b4d9..dd9080a 100644
+--- a/spectral_cube/np_compat.py
++++ b/spectral_cube/np_compat.py
+@@ -1,7 +1,7 @@
+ from __future__ import print_function, absolute_import, division
+ 
+ import numpy as np
+-from distutils.version import StrictVersion
++from distutils.version import LooseVersion
+ 
+ def allbadtonan(function):
+     """
+@@ -11,7 +11,7 @@ def allbadtonan(function):
+     """
+     def f(data, axis=None):
+         result = function(data, axis=axis)
+-        if StrictVersion(np.__version__) >= StrictVersion('1.9.0'):
++        if LooseVersion(np.__version__) >= LooseVersion('1.9.0'):
+             if axis is None:
+                 if np.all(np.isnan(data)):
+                     return np.nan
+diff --git a/spectral_cube/spectral_cube.py b/spectral_cube/spectral_cube.py
+index 231245d..fa61119 100644
+--- a/spectral_cube/spectral_cube.py
++++ b/spectral_cube/spectral_cube.py
+@@ -34,7 +34,7 @@ from .lower_dimensional_structures import (Projection, 
Slice, OneDSpectrum,
+                                            LowerDimensionalObject)
+ from .base_class import BaseNDClass, SpectralAxisMixinClass, 
DOPPLER_CONVENTIONS
+ 
+-from distutils.version import StrictVersion
++from distutils.version import LooseVersion
+ 
+ __all__ = ['SpectralCube', 'VaryingResolutionSpectralCube']
+ 
+@@ -2072,7 +2072,7 @@ class BaseSpectralCube(BaseNDClass, 
SpectralAxisMixinClass):
+         import yt
+ 
+         if ('dev' in yt.__version__ or
+-            StrictVersion(yt.__version__) >= StrictVersion('3.0')):
++            LooseVersion(yt.__version__) >= LooseVersion('3.0')):
+ 
+             from yt.frontends.fits.api import FITSDataset
+             from yt.units.unit_object import UnitParseError
+diff --git a/spectral_cube/tests/test_masks.py 
b/spectral_cube/tests/test_masks.py
+index 9116cb3..42a2125 100644
+--- a/spectral_cube/tests/test_masks.py
++++ b/spectral_cube/tests/test_masks.py
+@@ -14,7 +14,7 @@ from .. import (BooleanArrayMask, SpectralCube, LazyMask, 
LazyComparisonMask,
+                 FunctionMask, CompositeMask)
+ from ..masks import is_broadcastable_and_smaller, dims_to_skip, view_of_subset
+ 
+-from distutils.version import StrictVersion
++from distutils.version import LooseVersion
+ 
+ 
+ def test_spectral_cube_mask():
+@@ -370,7 +370,7 @@ def test_flat_mask():
+     assert np.all(cube.sum(axis=0)[mask_array] == 
mcube.sum(axis=0)[mask_array])
+     assert np.all(np.isnan(mcube.sum(axis=0)[~mask_array]))
+ 
+-@pytest.mark.skipif(StrictVersion(np.__version__) < StrictVersion('1.7'),
++@pytest.mark.skipif(LooseVersion(np.__version__) < LooseVersion('1.7'),
+                     reason='Numpy <1.7 does not support multi-slice 
indexing.')
+ def test_flat_mask_spectral():
+     cube, data = cube_and_raw('adv.fits')
+diff --git a/spectral_cube/tests/test_moments.py 
b/spectral_cube/tests/test_moments.py
+index 9b118fd..82eff40 100644
+--- a/spectral_cube/tests/test_moments.py
++++ b/spectral_cube/tests/test_moments.py
+@@ -1,7 +1,7 @@
+ from __future__ import print_function, absolute_import, division
+ 
+ import warnings
+-from distutils.version import StrictVersion
++from distutils.version import LooseVersion
+ 
+ import pytest
+ import numpy as np
+@@ -78,7 +78,7 @@ axis_order = pytest.mark.parametrize(('axis', 'order'),
+                                      (1, 0), (1, 1), (1, 2),
+                                      (2, 0), (2, 1), (2, 2)))
+ 
+-if StrictVersion(astropy.__version__[:3]) >= StrictVersion('1.0'):
++if LooseVersion(astropy.__version__[:3]) >= LooseVersion('1.0'):
+     # The relative error is slightly larger on astropy-dev
+     # There is no obvious reason for this.
+     rtol = 2e-7
+diff --git a/spectral_cube/tests/test_spectral_cube.py 
b/spectral_cube/tests/test_spectral_cube.py
+index 025e6bd..4dce3bb 100644
+--- a/spectral_cube/tests/test_spectral_cube.py
++++ b/spectral_cube/tests/test_spectral_cube.py
+@@ -4,7 +4,7 @@ import operator
+ import itertools
+ import warnings
+ import mmap
+-from distutils.version import StrictVersion, LooseVersion
++from distutils.version import LooseVersion, LooseVersion
+ 
+ # needed to test for warnings later
+ warnings.simplefilter('always', UserWarning)
+@@ -468,12 +468,12 @@ class TestNumpyMethods(BaseTest):
+         scmed = self.c.apply_numpy_function(np.median, axis=0)
+         # this checks whether numpy <=1.9.3 has a bug?
+         # as far as I can tell, np==1.9.3 no longer has this bug/feature
+-        #if StrictVersion(np.__version__) <= StrictVersion('1.9.3'):
++        #if LooseVersion(np.__version__) <= LooseVersion('1.9.3'):
+         #    # print statements added so we get more info in the travis builds
+-        #    print("Numpy version is: 
{0}".format(StrictVersion(np.__version__)))
++        #    print("Numpy version is: 
{0}".format(LooseVersion(np.__version__)))
+         #    assert np.count_nonzero(np.isnan(scmed)) == 5
+         #else:
+-        #    print("Numpy version is: 
{0}".format(StrictVersion(np.__version__)))
++        #    print("Numpy version is: 
{0}".format(LooseVersion(np.__version__)))
+         assert np.count_nonzero(np.isnan(scmed)) == 6
+ 
+         scmed = self.c.apply_numpy_function(np.nanmedian, axis=0)
+@@ -667,7 +667,7 @@ def test_read_write_rountrip(tmpdir):
+     assert cube.shape == cube.shape
+     assert_allclose(cube._data, cube2._data)
+     if (((hasattr(_wcs, '__version__')
+-          and StrictVersion(_wcs.__version__) < StrictVersion('5.9'))
++          and LooseVersion(_wcs.__version__) < LooseVersion('5.9'))
+          or not hasattr(_wcs, '__version__'))):
+         # see https://github.com/astropy/astropy/pull/3992 for reasons:
+         # we should upgrade this for 5.10 when the absolute accuracy is

diff --git a/dev-python/spectral-cube/metadata.xml 
b/dev-python/spectral-cube/metadata.xml
new file mode 100644
index 00000000..0cc45ca
--- /dev/null
+++ b/dev-python/spectral-cube/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd";>
+<pkgmetadata>
+  <maintainer type="project">
+    <email>sci-astron...@gentoo.org</email>
+    <name>Gentoo Astronomy Project</name>
+  </maintainer>
+  <longdescription lang="en">
+    The spectral-cube astronomy python module provides an easy way to
+    read, manipulate, analyze, and write data cubes with two
+    positional dimensions and one spectral dimension, optionally with
+    Stokes parameters. It aims to be a versatile data container for
+    building custom analysis routines.
+  </longdescription>
+  <upstream>
+    <remote-id type="pypi">spectral-cube</remote-id>
+    <remote-id type="github">astropy/spectral-cube</remote-id>
+  </upstream>
+</pkgmetadata>

diff --git a/dev-python/spectral-cube/spectral-cube-0.4.0.ebuild 
b/dev-python/spectral-cube/spectral-cube-0.4.0.ebuild
new file mode 100644
index 00000000..623eb42
--- /dev/null
+++ b/dev-python/spectral-cube/spectral-cube-0.4.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+inherit distutils-r1
+
+DESCRIPTION="Manipulate astronomical data cubes with Python"
+HOMEPAGE="https://spectral-cube.readthedocs.org/";
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="doc test"
+
+RDEPEND="dev-python/astropy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+       dev-python/astropy-helpers[${PYTHON_USEDEP}]
+       dev-python/setuptools[${PYTHON_USEDEP}]
+       doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+       test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${P}-looseversion.patch )
+
+python_prepare_all() {
+       sed -i -e '/auto_use/s/True/False/' setup.cfg || die
+       distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+       if use doc; then
+               python_setup
+               PYTHONPATH="${BUILD_DIR}"/lib \
+                                 esetup.py build_sphinx --no-intersphinx
+       fi
+}
+
+python_test() {
+       pushd spectral_cube/tests/data > /dev/null
+       "${PYTHON}" make_test_cubes.py
+       popd > /dev/null
+       esetup.py test
+}
+
+python_install_all() {
+       use doc && local HTML_DOCS=( docs/_build/html/ )
+       distutils-r1_python_install_all
+}

Reply via email to