Blame python-eccodes.spec

6e5764e
Name:           python-eccodes
2a40630
Version:        1.5.0
912ba4c
Release:        2%{?dist}
6e5764e
Summary:        Python interface to the ecCodes GRIB and BUFR decoder/encoder
5a25bff
License:        Apache-2.0
d6af7f3
# note: upstream has changed the name on pypi from eccodes-python to eccodes
d6af7f3
URL:            https://pypi.org/project/eccodes/
d6af7f3
Source0:        https://files.pythonhosted.org/packages/source/e/eccodes/eccodes-%{version}.tar.gz
6e5764e
# see https://github.com/ecmwf/eccodes-python/pull/21
6e5764e
Patch1:         python-eccodes-setup.patch
d6af7f3
# see https://github.com/ecmwf/eccodes-python/issues/36
d6af7f3
Patch2:         python-eccodes-sphinx-config.patch
c6856c7
# ECMWF introduced a new dependency called findlibs
c6856c7
# to find libeccodes.so easier on non-linux platforms.
c6856c7
# Since this is not useful at all for fedora users 
c6856c7
# I don't plan to package this python lib, so I patched out the use of it.
c6856c7
Patch3:         python-eccodes-disable-findlibs.patch
6e5764e
6e5764e
# note that the fast bindings are arch dependent
1770927
BuildRequires:  eccodes-devel
6e5764e
BuildRequires:  python3-devel
8c86b03
BuildRequires:  python3-setuptools
6e5764e
# needed to build the fast bindings
6e5764e
BuildRequires:  python3-cffi
6e5764e
# needed for checks/tests
6e5764e
BuildRequires:  python3-pytest
6e5764e
BuildRequires:  python3-numpy
6e5764e
# these next 2 seem not actually used, although they are mentioned as
6e5764e
# test dependencies in the setup.py file:
6e5764e
#BuildRequires:  python3-pytest-cov
6e5764e
#BuildRequires:  python3-pytest-flakes
6e5764e
6e5764e
# needed to build the documentation
6e5764e
BuildRequires:  python3-sphinx
6e5764e
fc8ef03
# dont try to build for architectures for which the main
fc8ef03
# ecccodes library cannot yet be build
fc8ef03
fc8ef03
# as explained in bugzilla #1562066
fc8ef03
ExcludeArch: i686
fc8ef03
# as explained in bugzilla #1562076
bef7e3b
# this one should no longer be necessary
bef7e3b
# ExcludeArch: s390x
fc8ef03
# as explained in bugzilla #1562084
fc8ef03
ExcludeArch: armv7hl
fc8ef03
fc8ef03
6e5764e
%global _description \
6e5764e
Python 3 interface to encode and decode GRIB and BUFR files via the \
6e5764e
ECMWF ecCodes library. It allows reading and writing of GRIB 1 and 2 \
6e5764e
files and BUFR 3 and 4 files.
6e5764e
6e5764e
%description %_description
6e5764e
6e5764e
%package -n python3-eccodes
6e5764e
Summary: %summary
6e5764e
6e5764e
%{?python_provide:%python_provide python3-eccodes}
6e5764e
6e5764e
%description -n python3-eccodes %_description
6e5764e
6e5764e
%prep
d6af7f3
%autosetup -n eccodes-%{version} -p1
6e5764e
6e5764e
%build
6e5764e
%py3_build
6e5764e
# buld documentation
6e5764e
%{__python3} setup.py build_sphinx
6e5764e
# remove generated sphinx files that are not part of the actual documentation
6e5764e
rm build/sphinx/html/.buildinfo
6e5764e
6e5764e
%install
6e5764e
%py3_install
6e5764e
543f320
# NOTE:
543f320
# this package includes 2 c header files named gribapi/eccodes.h and
543f320
# gribapi/grib_api.h in the python module. This is intentional.
543f320
# The cffi interface reads them during runtime and extracts some
543f320
# constants from them.
543f320
# The function grib_get_api_version is called during import of the eccodes
543f320
# module and crashes with a runtime error if the files are not there.
543f320
# Therefore this next delete has been disabled.
543f320
#rm %%{buildroot}%%{python3_sitearch}/gribapi/*.h
6e5764e
6e5764e
%check
2a40630
6e5764e
%{__python3} -m eccodes selfcheck
2a40630
2a40630
# due to a missing sample data file some tests fail, so deselect them.
2a40630
# see https://github.com/ecmwf/eccodes-python/issues/66
2a40630
2a40630
%{__python3} -m pytest -v \
2a40630
    --deselect="tests/test_highlevel.py::test_message_iter" \
2a40630
    --deselect="tests/test_highlevel.py::test_message_copy" \
2a40630
    --deselect="tests/test_highlevel.py::test_write_message" \
2a40630
    --deselect="tests/test_eccodes.py::test_count_in_file"
6e5764e
6e5764e
%files -n python3-eccodes
6e5764e
%doc README.rst
6e5764e
%doc build/sphinx/html/
6e5764e
%license LICENSE
d6af7f3
%{python3_sitearch}/eccodes-*-py*.egg-info
6e5764e
%{python3_sitearch}/eccodes
6e5764e
%{python3_sitearch}/gribapi
6e5764e
6e5764e
6e5764e
%changelog
912ba4c
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-2
912ba4c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
912ba4c
5a25bff
* Wed Dec 28 2022 Jos de Kloe <josdekloe@gmail.com> 1.5.0-1
5a25bff
- SPDX migration: change ASL 2.0 to Apache-2.0
5a25bff
2a40630
* Thu Sep 15 2022 Jos de Kloe <josdekloe@gmail.com> 1.5.0-1
2a40630
- new upstream release 1.5.0
2a40630
7c4ebd4
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.2-2
7c4ebd4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
7c4ebd4
cde92df
* Tue Jun 28 2022 Jos de Kloe <josdekloe@gmail.com> 1.4.2-1
cde92df
- new upstream release 1.4.2
cde92df
bbc9f62
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.4.1-2
bbc9f62
- Rebuilt for Python 3.11
bbc9f62
1770927
* Sat Mar 12 2022 Jos de Kloe <josdekloe@gmail.com> 1.4.1-1
1770927
- new upstream release 1.4.1
8d2d088
1db1e23
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-3
1db1e23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
1db1e23
bef7e3b
* Sun Dec 05 2021 Jos de Kloe <josdekloe@gmail.com> 1.3.3-2
bef7e3b
- remove exclude arch voor s390x; should not be needed anymore
bef7e3b
  since eccodes builds now for this arch.
bef7e3b
8f3d240
* Tue Jul 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-2
8f3d240
- Second attempt - Rebuilt for
8f3d240
  https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
8f3d240
543f320
* Sat Jul 03 2021 Jos de Kloe <josdekloe@gmail.com> 1.3.3-1
543f320
- new upstream release 1.3.3
543f320
77296d0
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.3.2-2
77296d0
- Rebuilt for Python 3.10
77296d0
c6856c7
* Sat Apr 17 2021 Jos de Kloe <josdekloe@gmail.com> 1.3.2-1
c6856c7
- new upstream release 1.3.2
c6856c7
237c476
* Fri Apr 09 2021 Jos de Kloe <josdekloe@gmail.com> 1.2.0-1
237c476
- new upstream release 1.2.0
237c476
da3d4f9
* Sat Jan 30 2021 Jos de Kloe <josdekloe@gmail.com> 1.1.0-1
da3d4f9
- new upstream release 1.1.0
da3d4f9
02b97bc
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-2
02b97bc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
02b97bc
1e6c978
* Fri Nov 13 2020 Jos de Kloe <josdekloe@gmail.com> 1.0.0-1
1e6c978
- new upstream release 1.0.0; remove no longer needed patch 3
1e6c978
d6af7f3
* Sun Oct 18 2020 Jos de Kloe <josdekloe@gmail.com> 0.9.9-1
d6af7f3
- new upstream version, and adapt to upstream project name change
d6af7f3
- add patch for sphinx configuration problem
eec6f10
- add patch to fix test run for eccodes 2.19.0
9202cb7
9202cb7
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.8-2
9202cb7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
9202cb7
8c86b03
* Sat Jul 04 2020 Jos de Kloe <josdekloe@gmail.com> 0.9.8-1
8c86b03
- new upstream version
9202cb7
543f320
* Tue May 26 2020 Miro Hron?ok <mhroncok@redhat.com> - 0.9.7-2
9202cb7
- Rebuilt for Python 3.9
9202cb7
6e5764e
* Thu Mar 19 2020 Jos de Kloe <josdekloe@gmail.com> 0.9.7-1
6e5764e
- First version for Fedora, based on a spec file contributed by
6e5764e
  Emanuele Di Giacomo and Daniele Branchini.