New upstream version 4.2

Cleanup specfile
This commit is contained in:
Sergio Pascual 2021-02-04 18:27:45 +01:00
parent e3b38eddc9
commit 260f85188c
5 changed files with 153 additions and 200 deletions

View File

@ -8,5 +8,4 @@ The following packages have been unbundled and the code patched so that astropy
uses the system package:
* configobj
* six
* ply

View File

@ -1,58 +0,0 @@
# Licensed under a 3-clause BSD style license - see LICENSE.rst
"""
Handle loading ply package from system or from the bundled copy
"""
import imp
from distutils.version import StrictVersion
def _find_module(name, path=None):
"""
Alternative to `imp.find_module` that can also search in subpackages.
"""
parts = name.split('.')
for part in parts:
if path is not None:
path = [path]
fh, path, descr = imp.find_module(part, path)
return fh, path, descr
_PLY_MIN_VERSION = StrictVersion('3.9')
# Update this to prevent Astropy from using its bundled copy of ply
# (but only if some other version of at least _PLY_MIN_VERSION can
# be provided)
_PLY_SEARCH_PATH = ['ply']
for mod_name in _PLY_SEARCH_PATH:
try:
mod_info = _find_module(mod_name)
#mod_lex_info = _find_module(mod_name + '.lex')
except ImportError:
continue
mod = imp.load_module(__name__, *mod_info)
#mod_lex = imp.load_module(__name__ + '.lex', *mod_lex_info)
try:
# if StrictVersion(mod_lex.__version__) >= _PLY_MIN_VERSION:
# break
break
except (AttributeError, ValueError):
# Attribute error if the ply module isn't what it should be and doesn't
# have a .__version__; ValueError if the version string exists but is
# somehow bogus/unparseable
continue
else:
raise ImportError(
"Astropy requires the 'ply' module of minimum version {0}; "
"normally this is bundled with the astropy package so if you get "
"this warning consult the packager of your Astropy "
"distribution.".format(_PLY_MIN_VERSION))

View File

@ -1,12 +1,12 @@
diff -ur astropy-3.1.1/astropy/config/configuration.py astropy-3.1.1.configobj/astropy/config/configuration.py
--- astropy-3.1.1/astropy/config/configuration.py 2019-01-01 00:54:51.000000000 +0100
+++ astropy-3.1.1.configobj/astropy/config/configuration.py 2019-02-17 18:48:51.688306288 +0100
@@ -16,7 +16,7 @@
import re
diff -ur astropy-4.2/astropy/config/configuration.py astropy-4.2.configobj/astropy/config/configuration.py
--- astropy-4.2/astropy/config/configuration.py 2020-11-25 08:28:48.000000000 +0100
+++ astropy-4.2.configobj/astropy/config/configuration.py 2021-02-15 23:12:16.720541628 +0100
@@ -22,7 +22,7 @@
from warnings import warn
from contextlib import contextmanager
-from astropy.extern.configobj import configobj, validate
+import configobj, validate
from astropy.utils.exceptions import AstropyWarning, AstropyDeprecationWarning
from astropy.utils import find_current_module
from astropy.utils import find_current_module, silence
from astropy.utils.exceptions import AstropyDeprecationWarning, AstropyWarning
from astropy.utils.introspection import resolve_name

View File

@ -0,0 +1,75 @@
diff -ur astropy-4.2/astropy/coordinates/angle_utilities.py astropy-4.2.ply/astropy/coordinates/angle_utilities.py
--- astropy-4.2/astropy/coordinates/angle_utilities.py 2020-11-25 08:28:48.000000000 +0100
+++ astropy-4.2.ply/astropy/coordinates/angle_utilities.py 2021-02-15 23:22:45.935721825 +0100
@@ -88,7 +88,7 @@
@classmethod
def _make_parser(cls):
- from astropy.extern.ply import lex, yacc
+ from ply import lex, yacc
# List of token names.
tokens = (
diff -ur astropy-4.2/astropy/units/format/cds.py astropy-4.2.ply/astropy/units/format/cds.py
--- astropy-4.2/astropy/units/format/cds.py 2020-11-25 08:28:48.000000000 +0100
+++ astropy-4.2.ply/astropy/units/format/cds.py 2021-02-15 23:22:29.190476911 +0100
@@ -82,7 +82,7 @@
@classmethod
def _make_lexer(cls):
- from astropy.extern.ply import lex
+ from ply import lex
tokens = cls._tokens
@@ -154,7 +154,7 @@
<https://bitbucket.org/nxg/unity/>`_.
"""
- from astropy.extern.ply import yacc
+ from ply import yacc
tokens = cls._tokens
diff -ur astropy-4.2/astropy/units/format/generic.py astropy-4.2.ply/astropy/units/format/generic.py
--- astropy-4.2/astropy/units/format/generic.py 2020-11-25 08:28:48.000000000 +0100
+++ astropy-4.2.ply/astropy/units/format/generic.py 2021-02-15 23:21:39.375748327 +0100
@@ -118,7 +118,7 @@
@classmethod
def _make_lexer(cls):
- from astropy.extern.ply import lex
+ from ply import lex
tokens = cls._tokens
@@ -198,7 +198,7 @@
formats, the only difference being the set of available unit
strings.
"""
- from astropy.extern.ply import yacc
+ from ply import yacc
tokens = cls._tokens
diff -ur astropy-4.2/astropy/units/format/ogip.py astropy-4.2.ply/astropy/units/format/ogip.py
--- astropy-4.2/astropy/units/format/ogip.py 2020-11-25 08:28:48.000000000 +0100
+++ astropy-4.2.ply/astropy/units/format/ogip.py 2021-02-15 23:22:06.526145425 +0100
@@ -111,7 +111,7 @@
@classmethod
def _make_lexer(cls):
- from astropy.extern.ply import lex
+ from ply import lex
tokens = cls._tokens
@@ -186,7 +186,7 @@
<https://bitbucket.org/nxg/unity/>`_.
"""
- from astropy.extern.ply import yacc
+ from ply import yacc
tokens = cls._tokens

View File

@ -1,44 +1,18 @@
# Works with system erfa
%bcond_without system_erfa
# EPEL7 has older wcslib
%if 0%{?fedora} || 0%{?rhel} >= 8
%bcond_without system_wcslib
%else
%bcond_with system_wcslib
%endif
%bcond_without check
%global srcname astropy
Name: python-astropy
Version: 4.0.1.post1
Release: 6%{?dist}
Name: python-%{srcname}
Version: 4.2
Release: 1%{?dist}
Summary: A Community Python Library for Astronomy
License: BSD
URL: http://astropy.org
Source0: %{pypi_source}
Source1: astropy-README.dist
Source2: astropy-ply.py
Patch0: python-astropy-system-configobj.patch
BuildRequires: gcc
BuildRequires: git
# EPEL8 uses shortened version numbering
BuildRequires: cfitsio-devel >= 3.47%{?fedora:0}
BuildRequires: expat-devel
%if %{with system_erfa}
BuildRequires: erfa-devel >= 1.7.0
%else
Provides: bundled(erfa) = 1.7.0
%endif
%if %{with system_wcslib}
BuildRequires: wcslib-devel >= 6.4
%else
Provides: bundled(wcslib) = 6.4
%endif
BuildRequires: texlive-ucs
BuildRequires: graphviz
Patch1: python-astropy-system-ply.patch
%global _description %{expand:
The Astropy project is a common effort to develop a single core package
@ -50,149 +24,112 @@ coordinate transformations.}
%description %_description
%package -n python%{python3_pkgversion}-%{srcname}
Summary: A Community Python Library for Astronomy
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-numpy >= 1.16
BuildRequires: python%{python3_pkgversion}-Cython
BuildRequires: python%{python3_pkgversion}-pytest
# BuildRequires: python%{python3_pkgversion}-pytest-astropy
BuildRequires: python%{python3_pkgversion}-six
BuildRequires: python%{python3_pkgversion}-ply
BuildRequires: python%{python3_pkgversion}-scipy
BuildRequires: python%{python3_pkgversion}-h5py
BuildRequires: python%{python3_pkgversion}-sphinx
BuildRequires: python%{python3_pkgversion}-matplotlib
BuildRequires: python%{python3_pkgversion}-configobj
BuildRequires: python%{python3_pkgversion}-pandas
BuildRequires: python%{python3_pkgversion}-PyYAML
%package -n python3-%{srcname}
Summary: %{summary}
BuildRequires: gcc
BuildRequires: python3-devel
BuildRequires: expat-devel
BuildRequires: cfitsio-devel >= 3.490
BuildRequires: wcslib-devel
BuildRequires: %{py3_dist setuptools}
BuildRequires: %{py3_dist setuptools_scm}
BuildRequires: %{py3_dist Cython}
BuildRequires: %{py3_dist jinja2}
BuildRequires: %{py3_dist numpy}
BuildRequires: %{py3_dist extension-helpers}
BuildRequires: %{py3_dist configobj}
BuildRequires: %{py3_dist ply}
%if %{with check}
BuildRequires: %{py3_dist pytest}
BuildRequires: %{py3_dist hypothesis}
BuildRequires: %{py3_dist pyerfa}
BuildRequires: %{py3_dist pytest-remotedata}
BuildRequires: %{py3_dist pytest-astropy}
#
BuildRequires: %{py3_dist scipy}
BuildRequires: %{py3_dist matplotlib}
BuildRequires: %{py3_dist pandas}
BuildRequires: %{py3_dist h5py}
BuildRequires: %{py3_dist scikit-image}
##BuildRequires: %%{py3_dist asdf}
%endif
Requires: python%{python3_pkgversion}-numpy >= 1.16
Requires: python%{python3_pkgversion}-configobj
Requires: python%{python3_pkgversion}-pytest
Requires: python%{python3_pkgversion}-six
Requires: python%{python3_pkgversion}-ply
# Optionals
Requires: python%{python3_pkgversion}-scipy
Requires: python%{python3_pkgversion}-h5py
Requires: python%{python3_pkgversion}-PyYAML
Requires: /usr/bin/xmllint
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
Requires: %{py3_dist configobj}
Requires: %{py3_dist ply}
Provides: bundled(jquery) = 3.11
# wcsaxes has been merged into astropy, therefore we obsolete and provide
# the old python3-wcsaxes package here
Provides: python%{python3_pkgversion}-wcsaxes = %{version}-%{release}
Obsoletes: python%{python3_pkgversion}-wcsaxes < 0.9-9
%description -n python3-%{srcname} %_description
%description -n python%{python3_pkgversion}-%{srcname} %_description
%package -n python%{python3_pkgversion}-%{srcname}-doc
%package -n python3-%{srcname}-doc
Summary: Documentation for %{name}, includes full API docs
# Disabled for the moment to avoid name collision
# of generated names between arches
# BuildArch: noarch
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}-doc}
# wcsaxes has been merged into astropy, therefore we obsolete and provide
# the old python3-wcsaxes-doc package here
Provides: python%{python3_pkgversion}-wcsaxes-doc = %{version}-%{release}
Obsoletes: python%{python3_pkgversion}-wcsaxes-doc < 0.9-9
%description -n python%{python3_pkgversion}-%{srcname}-doc
%description -n python3-%{srcname}-doc
This package contains the full API documentation for %{name}.
%package -n %{srcname}-tools
Summary: Astropy utility tools
BuildArch: noarch
Requires: python%{python3_pkgversion}-%{srcname} = %{version}-%{release}
Requires: python3-%{srcname} = %{version}-%{release}
%description -n %{srcname}-tools
Utilities provided by Astropy.
%prep
%setup -qn %{srcname}-%{version}
cp %{SOURCE1} README.dist
# Required to support wcslib 4.5
find -name wcsconfig.h -delete
rm -rf astropy*egg-info
# Use system configobj
%patch0 -p1
# Use system ply
cp %{SOURCE2} astropy/extern/ply.py
# Force Cython re-run
echo "cython_version = 'unknown'" > astropy/cython_version.py
# Remove expat, erfa, cfitsio and wcslib
%autosetup -n %{srcname}-%{version} -p1
# To be sure
rm -rf astropy/extern/configobj
rm -rf astropy/extern/ply
rm -rf cextern/cfitsio
%if %{with system_erfa}
rm -rf cextern/erfa
%endif
rm -rf cextern/expat
%if %{with system_wcslib}
rm -rf cextern/wcslib
%endif
echo "[build]" >> setup.cfg
#echo "use_system_libraries=1" >> setup.cfg
echo "use_system_cfitsio=1" >> setup.cfg
%if %{with system_erfa}
echo "use_system_erfa=1" >> setup.cfg
%endif
echo "use_system_expat=1" >> setup.cfg
%if %{with system_wcslib}
echo "use_system_wcslib=1" >> setup.cfg
%endif
%build
%global py_setup_args --offline
# Use cairo backend due to https://bugzilla.redhat.com/show_bug.cgi?id=1394975
export MPLBACKEND=cairo
export ASTROPY_USE_SYSTEM_ALL=1
# Search for headers in subdirs
export CPATH="/usr/include/cfitsio:/usr/include/wcslib"
%{py3_build}
# Requires sphinx-astropy
#%{__python3} setup.py build_docs --offline
rm -f docs/_build/html/.buildinfo
%install
export ASTROPY_USE_SYSTEM_ALL=1
# Search for headers in subdirs
export CPATH="/usr/include/cfitsio:/usr/include/wcslib"
%{py3_install}
find %{buildroot} -name "*.so" | xargs chmod 755
%if %{with check}
%check
# Avoid writing bad pyc files during testing
export PYTHONDONTWRITEBYTECODE=1
export PYTEST_ADDOPTS='-p no:cacheprovider'
# Disable tests in general until python-pytest-astropy gets updated
# Tests on s390x tend to stuck (already for scipy used by astropy)
%ifnarch s390x
pushd %{buildroot}/%{python3_sitearch}
#py.test-%{python3_version} -k "not test_scale_back_with_blanks" astropy
echo "Disable tests until python-pytest-astropy gets updated"
pushd %{buildroot}/%{python3_sitearch}
pytest \
--deselect "astropy/coordinates/tests/accuracy/test_altaz_icrs.py::test_against_pyephem" \
--deselect "astropy/wcs/tests/test_wcsprm.py::test_fix" \
--deselect "astropy/wcs/tests/test_wcs.py::test_fixes" \
--deselect "astropy/wcs/tests/test_wcs.py::test_pix2world" \
--deselect "astropy/wcs/tests/test_wcs.py::test_warning_about_defunct_keywords" \
--deselect "astropy/wcs/tests/test_wcs.py::test_validate" \
astropy
# remove hypothesis dir
rm -rf .hypothesis
popd
%endif
%files -n %{srcname}-tools
%{_bindir}/*
%files -n python%{python3_pkgversion}-%{srcname}
%doc README.rst README.dist
%files -n python3-%{srcname}
%doc README.rst
%license LICENSE.rst
%{python3_sitearch}/*
%{python3_sitearch}/%{srcname}/
%{python3_sitearch}/%{srcname}-*.egg-info
%files -n python%{python3_pkgversion}-%{srcname}-doc
##%doc README.rst README.dist docs/_build/html
%doc README.rst README.dist
%files -n python3-%{srcname}-doc
%doc README.rst
%license LICENSE.rst
%changelog
* Sun Feb 07 2021 Sergio Pascual <sergiopr@fedoraproject.org> - 4.2-1
- Cleanup specfile
* Tue Feb 02 2021 Christian Dersch <lupinix@mailbox.org> - 4.0.1.post1-6
- Rebuilt for libcfitsio.so.7