1
0

Accepting request 878211 from home:bnavigator:branches:devel:languages:python

- Update to version 2021.2.26
  Pass 4915 tests. Support X2 and X4 floating point predictors
  (found in DNG).
- enable additional codecs through imagecodecs_distributor_setup.py
- Add imagecodecs-pr15-test_jpegls.patch
  gh#cgohlke/imagecodecs#15
- disable builds for big-endian platforms as per upstream README

OBS-URL: https://build.opensuse.org/request/show/878211
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-imagecodecs?expand=0&rev=14
This commit is contained in:
Dirk Mueller 2021-03-11 15:26:27 +00:00 committed by Git OBS Bridge
parent 9488f3439b
commit b8f177977f
6 changed files with 110 additions and 11 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:798f478f0f6c39444961ddc7acab15c13b6bec2fb2306ba806d9dc753da7dd00
size 9416868

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b479064983ea963b520dbd63b388f69ec8ddc4b12a8c77142d868982f17f400b
size 9419303

View File

@ -0,0 +1,31 @@
From b14af25da949b88fb09339fd84ac97e67aa9109f Mon Sep 17 00:00:00 2001
From: Ben Greiner <code@bnavigator.de>
Date: Wed, 10 Mar 2021 13:22:50 +0100
Subject: [PATCH] Check if JPEGLS is present when testing that codec
---
tests/test_imagecodecs.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/test_imagecodecs.py b/tests/test_imagecodecs.py
index a057e15..c70a155 100644
--- a/tests/test_imagecodecs.py
+++ b/tests/test_imagecodecs.py
@@ -1535,7 +1535,7 @@ def test_jpeg2k_ycbc():
assert tuple(decoded[-1, -1]) == (0, 0, 0)
-@pytest.mark.skipif(not imagecodecs.JPEGXL, reason='jpegls missing')
+@pytest.mark.skipif(not imagecodecs.JPEGLS, reason='jpegls missing')
@pytest.mark.parametrize('output', ['new', 'out', 'bytearray'])
def test_jpegls_decode(output):
"""Test JPEG LS decoder with RGBA32 image."""
@@ -1889,7 +1889,7 @@ def encode(data, *args, **kwargs):
)
elif codec == 'jpegls':
- if not imagecodecs.JPEGXL:
+ if not imagecodecs.JPEGLS:
pytest.skip(f'{codec} missing')
if itype in ('view', 'graya') or deout == 'view':
pytest.xfail('jpegls does not support this case')

View File

@ -0,0 +1,35 @@
# openSUSE extension setup to build python-imagecodecs
import os
import subprocess
import sys
def customize_build(EXTENSIONS, OPTIONS):
includedir = os.getenv("INCDIR",'') + '/'
del EXTENSIONS['jpeg12'] # jpeg12 requires custom build
del EXTENSIONS['lerc'] # LERC library not available
del EXTENSIONS['lz4f'] # requires static linking
del EXTENSIONS['jpegxl'] # Brunsli library not available
EXTENSIONS['avif']['libraries'] = [
'avif',
'aom',
'dav1d',
'rav1e',
]
# no zfp on 32-bit platforms
if sys.maxsize < 2**63 - 1:
del EXTENSIONS['zfp']
openjpeg_inc = subprocess.check_output(
['pkgconf', '--variable=includedir', 'libopenjp2'],
text=True,
).strip()
EXTENSIONS['jpeg2k']['include_dirs'].append(openjpeg_inc)
EXTENSIONS['jpegxr']['include_dirs'].append(includedir + 'jxrlib')
EXTENSIONS['zopfli']['include_dirs'].append(includedir + 'zopfli')

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Wed Mar 10 10:42:55 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to version 2021.2.26
Pass 4915 tests. Support X2 and X4 floating point predictors
(found in DNG).
- enable additional codecs through imagecodecs_distributor_setup.py
- Add imagecodecs-pr15-test_jpegls.patch
gh#cgohlke/imagecodecs#15
- disable builds for big-endian platforms as per upstream README
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Feb 1 19:40:15 UTC 2021 - Ben Greiner <code@bnavigator.de> Mon Feb 1 19:40:15 UTC 2021 - Ben Greiner <code@bnavigator.de>

View File

@ -28,13 +28,16 @@
%define skip_python2 1 %define skip_python2 1
%define skip_python36 1 %define skip_python36 1
Name: python-imagecodecs%{psuffix} Name: python-imagecodecs%{psuffix}
Version: 2021.1.28 Version: 2021.2.26
Release: 0 Release: 0
Summary: Image transformation, compression, and decompression codecs Summary: Image transformation, compression, and decompression codecs
License: BSD-3-Clause License: BSD-3-Clause
URL: https://www.lfd.uci.edu/~gohlke/ URL: https://github.com/cgohlke/imagecodecs/
Source: https://files.pythonhosted.org/packages/source/i/imagecodecs/imagecodecs-%{version}.tar.gz Source: https://files.pythonhosted.org/packages/source/i/imagecodecs/imagecodecs-%{version}.tar.gz
Source1: imagecodecs_distributor_setup.py
Patch0: always-cythonize.patch Patch0: always-cythonize.patch
# PATCH-FIX-UPSTREAM imagecodecs-pr15-test_jpegls.patch -- gh#cgohlke/imagecodecs#15
Patch1: https://github.com/cgohlke/imagecodecs/pull/15.patch#/imagecodecs-pr15-test_jpegls.patch
BuildRequires: %{python_module Cython >= 0.29.19} BuildRequires: %{python_module Cython >= 0.29.19}
BuildRequires: %{python_module numpy-devel >= 1.15.1} BuildRequires: %{python_module numpy-devel >= 1.15.1}
BuildRequires: %{python_module setuptools >= 18.0} BuildRequires: %{python_module setuptools >= 18.0}
@ -63,22 +66,28 @@ BuildRequires: %{python_module python-snappy}
BuildRequires: %{python_module scikit-image} BuildRequires: %{python_module scikit-image}
BuildRequires: %{python_module tifffile >= 2020.5.25} BuildRequires: %{python_module tifffile >= 2020.5.25}
BuildRequires: %{python_module zstd} BuildRequires: %{python_module zstd}
# not (yet) available: # libraries and python modules not (yet) available:
#BuildRequires: %%{python_module bitshuffle} #BuildRequires: %%{python_module bitshuffle}
#BuildRequires: %%{python_module lzf} #BuildRequires: %%{python_module lzf}
# The zopfli library is linked. User can pip install zopflipy, if needed.
#BuildRequires: %%{python_module zopflipy} #BuildRequires: %%{python_module zopflipy}
%else %else
BuildRequires: CharLS-devel
BuildRequires: dav1d-devel
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: giflib-devel BuildRequires: giflib-devel
BuildRequires: jxrlib-devel BuildRequires: jxrlib-devel
BuildRequires: libaec-devel BuildRequires: libaec-devel
BuildRequires: libaom-devel
BuildRequires: libdeflate-devel BuildRequires: libdeflate-devel
BuildRequires: libzopfli-devel BuildRequires: libzopfli-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: rav1e-devel
BuildRequires: snappy-devel BuildRequires: snappy-devel
BuildRequires: pkgconfig(blosc) BuildRequires: pkgconfig(blosc)
BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libavif)
BuildRequires: pkgconfig(libbrotlicommon) BuildRequires: pkgconfig(libbrotlicommon)
BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(liblz4)
@ -89,7 +98,13 @@ BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libwebp) BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(zlib)
%ifnarch %ix86 %arm
# zfp is 64 bit only. Note that upstream deprecated 32-bit as a whole
BuildRequires: zfp-devel
%endif %endif
%endif
# Upstream: big endian is not supported
ExcludeArch: s390x ppc64
%python_subpackages %python_subpackages
%description %description
@ -97,20 +112,27 @@ Imagecodecs is a Python library that provides block-oriented, in-memory buffer
transformation, compression, and decompression functions for use in the transformation, compression, and decompression functions for use in the
tifffile, czifile, and other scientific imaging modules. tifffile, czifile, and other scientific imaging modules.
Decode and/or encode functions are currently implemented for Zlib DEFLATE, Decode and/or encode functions are implemented for Zlib (DEFLATE), GZIP,
ZStandard, Blosc, LZMA, BZ2, LZ4, LZW, LZF, ZFP, NPY, PNG, WebP, JPEG 8-bit, ZStandard (ZSTD), Blosc, Brotli, Snappy, LZMA, BZ2, LZ4, LZ4F, LZ4HC, LZW, LZF,
JPEG 12-bit, JPEG SOF3, JPEG LS, JPEG 2000, JPEG XR, PackBits, Packed Integers, ZFP, AEC, LERC, NPY, PNG, GIF, TIFF, WebP, JPEG 8-bit, JPEG 12-bit, Lossless
Delta, XOR Delta, Floating Point Predictor, and Bitorder reversal. JPEG (LJPEG, SOF3), JPEG 2000, JPEG LS, JPEG XR, JPEG XL, AVIF, PackBits, Packed
Integers, Delta, XOR Delta, Floating Point Predictor, Bitorder reversal,
Bitshuffle, and Float24 (24-bit floating point).
%prep %prep
%setup -q -n imagecodecs-%{version} %setup -q -n imagecodecs-%{version}
# the patch from github requires unix line endings to apply
dos2unix tests/test_imagecodecs.py
%autopatch -p1 %autopatch -p1
cp %SOURCE1 ./
dos2unix README.rst dos2unix README.rst
# https://github.com/cgohlke/imagecodecs/pull/15#issuecomment-795744838
ldd %{_libdir}/libblosc.so.1 | grep -q libsnappy && sed -i "s/if not IS_CG and compressor == 'snappy'/if False/" tests/test_imagecodecs.py
%build %build
%if !%{with test} %if !%{with test}
export CFLAGS="%{optflags}" export CFLAGS="%{optflags}"
export INCDIR="%{_includedir}"
%python_build %python_build
%endif %endif