1
0

Accepting request 878358 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/878358
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-imagecodecs?expand=0&rev=6
This commit is contained in:
Richard Brown 2021-03-30 19:02:40 +00:00 committed by Git OBS Bridge
commit 0ed7c839f5
8 changed files with 165 additions and 35 deletions

View File

@ -1,12 +1,12 @@
Index: imagecodecs-2020.5.30/setup.py Index: imagecodecs-2021.1.28/setup.py
=================================================================== ===================================================================
--- imagecodecs-2020.5.30.orig/setup.py --- imagecodecs-2021.1.28.orig/setup.py
+++ imagecodecs-2020.5.30/setup.py +++ imagecodecs-2021.1.28/setup.py
@@ -71,7 +71,7 @@ if 'sdist' in sys.argv: @@ -105,7 +105,7 @@ def ext(**kwargs):
OPTIONS = { OPTIONS = {
- 'cythonize': sys.version_info >= (3, 10), - 'cythonize': sys.version_info >= (3, 10) or 'PyPy' in sys.version,
+ 'cythonize': True, + 'cythonize': True,
'include_dirs': ['imagecodecs'], 'include_dirs': ['imagecodecs'],
'library_dirs': [], 'library_dirs': [],

View File

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

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,51 @@
-------------------------------------------------------------------
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>
- Update to version 2021.1.28
* Add option to return JPEG XR fixed point pixel types as
integers
* Add LJPEG codec via liblj92 (alternative to JPEGSOF3 codec)
* Change zopfli header location.
- refresh always-cythonize.patch
- drop zopfli-headers.patch fixed upstream
- Add more testing requirements to test backends
- Add skip reporting to pytest to see what is still missing
-------------------------------------------------------------------
Tue Jan 12 21:54:10 UTC 2021 - andy great <andythe_great@pm.me>
- Update to version 2021.1.11.
* Fix build issues (#7, #8).
* Return bytearray instead of bytes on PyPy.
* Raise TypeError if output provided is bytes (breaking).
- Updates for version 2021.1.8
* Add float24 codec.
* Update copyrights.
- Updates for version 2020.12.24
* Update dependencies and build scripts.
- Updates for version 2020.12.22
* Add AVIF codec via libavif (WIP).
* Add DEFLATE/Zlib and GZIP codecs via libdeflate.
* Add LZ4F codec.
* Add high compression mode option to lz4_encode.
* Convert JPEG XR 16 and 32-bit fixed point pixel types to float32.
* Fix JPEG 2000 lossy encoding.
* Fix GIF disposal handling.
* Remove support for Python 3.6 (NEP 29).
- Rebase always-cythonize.patch
- Rebase zopfli-headers.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Aug 28 09:20:47 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com> Fri Aug 28 09:20:47 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>

View File

@ -1,7 +1,7 @@
# #
# spec file for package python-imagecodecs # spec file for package python-imagecodecs
# #
# Copyright (c) 2020 SUSE LLC # Copyright (c) 2021 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -26,20 +26,24 @@
%bcond_with test %bcond_with test
%endif %endif
%define skip_python2 1 %define skip_python2 1
%define skip_python36 1
Name: python-imagecodecs%{psuffix} Name: python-imagecodecs%{psuffix}
Version: 2020.5.30 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
Patch1: zopfli-headers.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}
BuildRequires: dos2unix BuildRequires: dos2unix
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-numpy >= 1.15.1 Requires: python-numpy >= 1.15.1
Requires(post): update-alternatives Requires(post): update-alternatives
Requires(postun): update-alternatives Requires(postun): update-alternatives
@ -50,27 +54,40 @@ Recommends: python-matplotlib >= 3.1
Recommends: python-tifffile >= 2020.5.25 Recommends: python-tifffile >= 2020.5.25
Recommends: python-zstd Recommends: python-zstd
%if %{with test} %if %{with test}
BuildRequires: %{python_module Brotli}
BuildRequires: %{python_module Pillow} BuildRequires: %{python_module Pillow}
BuildRequires: %{python_module blosc} BuildRequires: %{python_module blosc}
BuildRequires: %{python_module czifile}
BuildRequires: %{python_module imagecodecs >= %{version}} BuildRequires: %{python_module imagecodecs >= %{version}}
BuildRequires: %{python_module lz4} BuildRequires: %{python_module lz4}
BuildRequires: %{python_module matplotlib >= 3.1} BuildRequires: %{python_module matplotlib >= 3.1}
BuildRequires: %{python_module pytest} BuildRequires: %{python_module pytest}
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}
# libraries and python modules not (yet) available:
#BuildRequires: %%{python_module bitshuffle}
#BuildRequires: %%{python_module lzf}
# The zopfli library is linked. User can pip install zopflipy, if needed.
#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: libzopfli-devel BuildRequires: libzopfli-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: python-rpm-macros 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)
@ -81,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
@ -89,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
@ -117,11 +147,9 @@ export CFLAGS="%{optflags}"
%check %check
%if %{with test} %if %{with test}
mv imagecodecs __imagecodecs
# Should add --doctest-modules %%{buildroot}%%{$python_sitearch}/imagecodecs/imagecodecs.py # Should add --doctest-modules %%{buildroot}%%{$python_sitearch}/imagecodecs/imagecodecs.py
# however doctests are currently broken # however doctests are currently broken
%pytest_arch tests %pytest_arch tests -rs --import-mode append
mv __imagecodecs imagecodecs
%endif %endif
%if !%{with test} %if !%{with test}
@ -135,7 +163,8 @@ mv __imagecodecs imagecodecs
%license LICENSE imagecodecs/licenses/* %license LICENSE imagecodecs/licenses/*
%doc README.rst %doc README.rst
%python_alternative %{_bindir}/imagecodecs %python_alternative %{_bindir}/imagecodecs
%{python_sitearch}/* %{python_sitearch}/imagecodecs-%{version}*-info
%{python_sitearch}/imagecodecs
%endif %endif
%changelog %changelog

View File

@ -1,13 +0,0 @@
Index: imagecodecs-2020.5.30/imagecodecs/zopfli.pxd
===================================================================
--- imagecodecs-2020.5.30.orig/imagecodecs/zopfli.pxd
+++ imagecodecs-2020.5.30/imagecodecs/zopfli.pxd
@@ -4,7 +4,7 @@
# Cython declarations for the `Zopfli 1.0.3` library.
# https://github.com/google/zopfli
-cdef extern from 'zopfli/zopfli.h':
+cdef extern from 'zopfli.h':
ctypedef struct ZopfliOptions:
int verbose