- switch to modern python for sle15

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-imagecodecs?expand=0&rev=38
This commit is contained in:
Dirk Mueller 2024-08-14 14:51:32 +00:00 committed by Git OBS Bridge
commit 05f6d15503
9 changed files with 638 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>test</package>
</multibuild>

View File

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

View File

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

View File

@ -0,0 +1,40 @@
# openSUSE extension setup to build python-imagecodecs
import os
import subprocess
import sys
def customize_build(EXTENSIONS, OPTIONS):
print(f"Building with custom OpenSUSE config ({__file__})")
includedir = os.getenv("INCDIR",'') + '/'
del EXTENSIONS['apng'] # png-apng library not available
del EXTENSIONS['brunsli'] # graphics/brunsli not in Factory
del EXTENSIONS['jetraw'] # jetraw library not available
del EXTENSIONS['lerc'] # LERC library not available
del EXTENSIONS['lz4f'] # requires static linking
del EXTENSIONS['lzo'] # lzokay not available
del EXTENSIONS['mozjpeg'] # Win32 only
del EXTENSIONS['pcodec'] # not available in Factory
del EXTENSIONS['sperr'] # not available in Factory
EXTENSIONS['avif']['libraries'] = [
'avif',
'aom',
'dav1d',
'rav1e',
'sharpyuv',
'SvtAv1Enc',
]
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['jpegxl']['libraries'] = ['jxl', 'jxl_threads']
EXTENSIONS['rcomp']['include_dirs'].append(includedir + 'cfitsio')
EXTENSIONS['zopfli']['include_dirs'].append(includedir + 'zopfli')
EXTENSIONS['lzham']['libraries'] = ['lzhamdll']

361
python-imagecodecs.changes Normal file
View File

@ -0,0 +1,361 @@
-------------------------------------------------------------------
Wed Aug 14 14:51:22 UTC 2024 - Dirk Müller <dmueller@suse.com>
- switch to modern python for sle15
-------------------------------------------------------------------
Wed Jul 17 08:39:26 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 2024.6.1
* Pass 7486 tests.
* Fix segfault in sperr_decode.
* Fix segfault when strided-decoding into buffers with unexpected
shapes (#98).
* Fix jpeg2k_encoder output buffer too small (#101).
* Add PCODEC codec based on pcodec library.
* Support NumPy 2.
- Drop skip-rare-codecs.patch, restore and update
imagecodecs_distributor_setup.py
-------------------------------------------------------------------
Mon Mar 18 19:45:10 UTC 2024 - Dirk Müller <dmueller@suse.com>
- replace imagecodecs_distributor_setup.py with
skip-rare-codecs.patch: this setuptools hook does not get
called anymore with PEP517 builds
-------------------------------------------------------------------
Mon Mar 18 12:27:11 UTC 2024 - Dirk Müller <dmueller@suse.com>
- drop brunsli-devel as dependency until it actually ends up
in factory
-------------------------------------------------------------------
Thu Jan 25 12:33:46 UTC 2024 - Dirk Müller <dmueller@suse.com>
- remove 32bit builds
-------------------------------------------------------------------
Mon Jan 22 10:05:23 UTC 2024 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Add brunsli-devel as new dependency (fixes aarch64 build)
-------------------------------------------------------------------
Wed Jan 3 18:33:00 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 2024.1.1:
* Add 8/24-bit BMP codec.
* Add SPERR codec based on SPERR library.
* Add LZO decoder based on lzokay library.
* Add DICOMRLE decoder.
* Enable float16 in CMS codec.
* Enable MCT for lossless JPEG2K encoder (#88).
* Ignore pad-byte in PackBits decoder (#86).
* Fix heif_write_callback error message not set.
* Require lcms2 2.16 with issue-420 fixes.
* Require libjxl 0.9, libaec 1.1, Cython 3.
-------------------------------------------------------------------
Tue Jan 2 21:01:58 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 2023.9.18:
* Rebuild with updated dependencies fixes CVE-2023-4863.
* Map avif_encode level parameter to quality (breaking).
* Support monochrome images in avif_encode.
* Add numthreads parameter to avif_decode (fix imread of AVIF).
* Add experimental quantize filter (BitGroom, BitRound, GBR)
via nc4var.c.
* Add LZ4H5 codec.
* Support more BCn compressed DDS fourcc types.
* Require libavif 1.0
* Add EER (Electron Event Representation) decoder.
* Add option to pass initial value to crc32 and adler32 checksum
functions.
* Add fletcher32 and lookup3 checksum functions
via HDF5's h5checksum.c.
* Add Checksum codec for numcodecs.
* Rebuild with optimized compile flags.
* Add BCn and DDS decoder via bcdec library.
* Add functions to transcode JPEG XL to/from JPEG (#78).
* Add option to decode select frames from animated WebP.
* Use legacy JPEG8 codec when building without libjpeg-turbo 3
* Change blosc2_encode defaults to match blosc2-python (breaking).
* Fix segfault writing JPEG2K with more than 4 samples.
* Fix some codecs returning bytearray by default.
* Fully vendor cfitsio's ricecomp.c.
* Drop support for Python 3.8 and numpy < 1.21 (NEP29).
- drop always-cythonize.patch, avif.patch, quantize.patch,
cython3.patch, libavif.patch, integrate.patch,
tests.patch: upstream
-------------------------------------------------------------------
Wed Sep 13 11:57:38 UTC 2023 - Markéta Machová <mmachova@suse.com>
- Add patches for the compatibility with libavif 1.0.0:
* libavif.patch
* quantize.patch
* avif.patch
* tests.patch
* integrate.patch
-------------------------------------------------------------------
Tue Sep 12 14:21:29 UTC 2023 - Markéta Machová <mmachova@suse.com>
- Add patch cython3.patch to fix build
-------------------------------------------------------------------
Fri Mar 24 14:31:16 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 2023.3.16
* Pass 6884 tests.
* Require libjpeg-turbo 2.1.91 (3.0 beta) and c-blosc2 2.7.1.
* Add experimental type hints.
* Add SZIP codec via libaec library.
* Use Zstd streaming API to decode blocks with unknown
decompressed size.
* Remove unused level, index, and numthreads parameters
(breaking).
* Make AEC and BLOSC constants enums (breaking).
* Capitalize numcodecs class names (breaking).
* Remove JPEG12 codec (breaking; use JPEG8 instead).
* Encode and decode lossless and 12-bit JPEG with JPEG8 codec by
default.
* Remove JPEGSOF3 fallback in JPEG codec.
* Fix slow IFD seeking with libtiff 4.5.
* Fixes for Cython 3.0.
- Release 2023.1.23
* Require libjxl 0.8.
* Change mapping of level to distance parameter in jpegxl_encode.
* Add option to specify bitspersample in jpegxl_encode.
* Add option to pass de/linearize tables to LJPEG codec.
* Fix lj92 decoder for SSSS=16 (#59).
* Prefer ljpeg over jpegsof3 codec.
* Add option to specify AVIF encoder codec.
* Support LERC with Zstd or Deflate compression.
* Squeeze chunk arrays by default in numcodecs image compression
codecs.
- Skip testing with dask on python 3.11: no numba yet
- Add blosc2, SVT-AV1, jpegxl (libjxl)), SZIP (libsz2)
- Disable jpeg8/libjpeg-turbo: required beta version not available
-------------------------------------------------------------------
Sat Jan 21 11:40:41 UTC 2023 - Ben Greiner <code@bnavigator.de>
- Update to 2022.12.24
* Pass 6512 tests.
* Fix PNG codec error handling.
* Fix truncated transferfunctions in cms_profile (#57).
* Fix exceptions not raised in cdef functions not returning
Python object.
- Release 2022.12.22
* Require libtiff 4.5 (breaking).
* Require libavif 0.11 (breaking).
* Change jpegxl_encode level parameter to resemble libjpeg
quality (breaking).
* Add LZFSE codec via lzfse library.
* Add LZHAM codec via lzham library.
* Fix AttributeError in cms_profile (#52).
* Support gamma argument in cms_profile (#53).
* Raise limit of TIFF pages to 1048576.
* Use libtiff thread-safe error/warning handlers.
* Add option to specify filters and strategy in png_encode.
* Add option to specify integrity check type in lzma_encode.
* Fix DeprecationWarning with NumPy 1.24.
-------------------------------------------------------------------
Sun Oct 9 08:05:22 UTC 2022 - John Vandenberg <jayvdb@gmail.com>
- Update imagecodecs_distributor_setup.py to skip unbuildable exts
- Refresh always-cythonize.patch
- Enable s390x & ppc64 builds
- Update to v2022.9.26
* Pass 6357 tests.
* Support JPEG XL multi-channel (planar grayscale only) and multi-frame.
* Require libjxl 0.7 (breaking).
* Switch to Blosc2 API and require c-blosc 2.4 (breaking).
* Return LogLuv encoded TIFF as float32.
* Add RGBE codec via rgbe.c.
- from v2022.8.8
* Drop support for libjpeg.
* Fix encoding JPEG in RGB color space.
* Require ZFP 1.0.
- from v2022.7.31
* Add option to decode WebP as RGBA.
* Add option to specify WebP compression method.
* Use exact lossless WebP encoding.
- from v2022.7.27
* Add LZW encoder.
* Add QOI codec via qoi.h
* Add HEIF codec via libheif
* Add JETRAW codec via Jetraw demo (source only).
* Add ByteShuffle codec, a generic version of FloatPred.
* Replace imcd_floatpred by imcd_byteshuffle (breaking).
* Use bool type in imcd (breaking).
- from v2022.2.22
* Fix jpeg numcodecs with tables
* Add APNG codec via libpng-apng patch.
* Add lossless and decodingspeed parameters to jpegxl_encode
* Add option to read JPEG XL animations.
* Add dummy numthreads parameter to codec functions.
* Set default numthreads to 1 (disable multi-threading).
* Drop support for Python 3.7 and numpy < 1.19 (NEP29).
- from v2021.11.20
* Fix testing on pypy and Python 3.10.
- from v2021.11.11
* Require libjxl 0.6.x.
* Add CMS codec via Little CMS library for color space transformations (WIP).
* Add MOZJPEG codec via mozjpeg library (Windows only).
* Add SPNG codec via libspng library.
* Rename avif_encode maxthreads parameter to numthreads (breaking).
* Accept n-dimensional output in non-image numcodecs decoders.
* Support masks in LERC codec.
* Support multi-threading and planar format in JPEG2K codec.
* Support multi-resolution, MCT, bitspersample, and 32-bit in jpeg2k encoder.
* Change jpeg2k_encode level parameter to fixed quality psnr (breaking).
* Change jpegxl_encode effort parameter default to minimum 3.
* Change JPEG encoders to use YCbCr for RGB images by default.
* Replace lerc_encode planarconfig with planar parameter (breaking).
* Add option to specify omp numthreads and chunksize in ZFP codec.
* Set default numthreads to 0.
* Fix Blosc default typesize.
* Fix segfault in jpegxl_encode.
* Replace many constants with enums (breaking).
- from v2021.8.26
* Add BLOSC2 codec via c-blosc2 library.
* Require LERC 3 and libjxl 0.5.
* Do not exceed literal-only size in PackBits encoder.
* Raise ImcdError if output is insufficient in PackBits codecs (breaking).
* Raise ImcdError if input is corrupt in PackBits decoder (breaking).
* Fix delta codec for non-native byteorder.
- from v2021.7.30
* Support more dtypes and axes argument in PackBits encoder.
* Fix worst case output size in PackBits encoder.
* Fix decoding AVIF created with older libavif.
* Fix decoding GIF with disposal to previous for first frame.
* Add lossless option in jpeg_encode.
-------------------------------------------------------------------
Wed Jun 30 07:28:42 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to 2021.6.8
* Pass 5185 tests.
* Fix building with Cython 0.3a7.
* Decode TIFF with JPEG compression, YCBCR or CMYK colorspace as RGB24.
* Vendor cfitsio/ricecomp.c for shared library builds on Windows (#18).
- Release 2021.5.20
* Add ZLIBNG codec via zlib-ng library.
* Add RCOMP (Rice) codec via cfitsio library.
* Fix decoding of 16-bit JPEG with jpeg_decode.
* Relax user provided output array shape requirement.
- Release 2021.4.28
* Change WebP default compression level to lossless.
* Rename jpegxl codec to brunsli (breaking).
* Add new JPEG XL codec via jpeg-xl library.
* Add PGLZ codec via PostgreSQL's pg_lzcompress.c.
* Update to libtiff 4.3 and libjpeg-turbo 2.1.
* Enable JPEG 12-bit codec in manylinux wheels.
* Drop manylinux2010 wheels.
- Release 2021.3.31
* Add numcodecs compatible codecs for use by Zarr (experimental).
* Support separate JPEG header in jpeg_decode.
* Do not decode JPEG LS and XL in jpeg_decode (breaking).
* Fix ZFP with partial header.
* Fix JPEG LS tests (#15).
* Fix LZ4F contentchecksum.
* Remove blosc Snappy tests.
* Fix docstrings.
- drop imagecodecs-pr15-test_jpegls.patch fixed upstream-
- refresh always-cythonize.patch
-------------------------------------------------------------------
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>
- Switch to multibuild to not cycle
-------------------------------------------------------------------
Fri Aug 28 08:37:24 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Add patch to enforce cythonization:
* always-cythonize.patch
- Add patch to locate zopfli headers properly:
* zopfli-headers.patch
-------------------------------------------------------------------
Fri Aug 28 08:20:58 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 2020.5.30:
* pythhon3 only
* add support for more codecs
-------------------------------------------------------------------
Mon May 25 10:59:24 UTC 2020 - Petr Gajdos <pgajdos@suse.com>
- %python3_only -> %python_alternative
-------------------------------------------------------------------
Thu Apr 23 10:58:48 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- As the package is marked as py3 only drop the python2 deps
-------------------------------------------------------------------
Fri Dec 6 18:44:56 UTC 2019 - Todd R <toddrme2178@gmail.com>
- Disable python2 support since dependencies dropped python2
-------------------------------------------------------------------
Tue Jul 30 11:36:02 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Update to v2019.5.22
-------------------------------------------------------------------
Mon Mar 4 10:03:51 AM UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Initial spec for v2019.2.22

193
python-imagecodecs.spec Normal file
View File

@ -0,0 +1,193 @@
#
# spec file for package python-imagecodecs
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
%else
%define psuffix %{nil}
%bcond_with test
%endif
%{?sle15_python_module_pythons}
Name: python-imagecodecs%{psuffix}
Version: 2024.6.1
Release: 0
Summary: Image transformation, compression, and decompression codecs
License: BSD-3-Clause
URL: https://github.com/cgohlke/imagecodecs/
Source0: https://files.pythonhosted.org/packages/source/i/imagecodecs/imagecodecs-%{version}.tar.gz
Source1: imagecodecs_distributor_setup.py
ExcludeArch: %ix86 %arm32 ppc s390
BuildRequires: %{python_module Cython >= 3}
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module numpy-devel}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-numpy
Requires(post): update-alternatives
Requires(postun): update-alternatives
Recommends: python-Pillow
Recommends: python-blosc
Recommends: python-lz4
Recommends: python-matplotlib >= 3.3
Recommends: python-numcodecs
Recommends: python-tifffile
Recommends: python-zstd
%if %{with test}
BuildRequires: %{python_module Brotli}
BuildRequires: %{python_module Pillow}
BuildRequires: %{python_module blosc}
BuildRequires: %{python_module czifile}
BuildRequires: %{python_module dask-array}
BuildRequires: %{python_module dask-delayed}
BuildRequires: %{python_module dask}
BuildRequires: %{python_module imagecodecs = %{version}}
BuildRequires: %{python_module lz4}
BuildRequires: %{python_module matplotlib >= 3.3}
BuildRequires: %{python_module numcodecs}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module python-snappy}
BuildRequires: %{python_module scikit-image}
BuildRequires: %{python_module tifffile}
BuildRequires: %{python_module zarr}
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}
# The lzfse library is linked. User can pip install pyliblzfse, if needed.
#BuildRequires: %%{python_module pyliblzfse}
%else
BuildRequires: CharLS-devel
BuildRequires: dav1d-devel
BuildRequires: gcc-c++
BuildRequires: giflib-devel
BuildRequires: jxrlib-devel
BuildRequires: libaec-devel >= 1.1
BuildRequires: libaom-devel
BuildRequires: libdeflate-devel
BuildRequires: libzopfli-devel
BuildRequires: lzfse-devel
BuildRequires: lzham_codec-devel
BuildRequires: pkgconfig
BuildRequires: rav1e-devel
BuildRequires: snappy-devel
BuildRequires: sz2-devel
BuildRequires: xz-devel
BuildRequires: zfp-devel
BuildRequires: pkgconfig(blosc)
BuildRequires: pkgconfig(blosc2) >= 2.7.1
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(cfitsio)
BuildRequires: pkgconfig(lcms2) >= 2.16
BuildRequires: pkgconfig(libavif) >= 1.0.0
BuildRequires: pkgconfig(libbrotlicommon)
BuildRequires: pkgconfig(libheif)
# Tests fail if enabled
# BuildRequires: pkgconfig(libturbojpeg)
BuildRequires: pkgconfig(libjxl) >= 0.9
BuildRequires: pkgconfig(SvtAv1Enc)
BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(liblzma)
BuildRequires: pkgconfig(libopenjp2)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libsharpyuv)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libzstd)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(zlib-ng)
%endif
%python_subpackages
%description
Imagecodecs is a Python library that provides block-oriented, in-memory buffer
transformation, compression, and decompression functions for use in the
tifffile, czifile, and other scientific imaging modules.
Decode and/or encode functions are implemented for Zlib (DEFLATE), GZIP,
ZStandard (ZSTD), Blosc, Brotli, Snappy, LZMA, BZ2, LZ4, LZ4F, LZ4HC, LZW, LZF,
ZFP, AEC, LERC, NPY, PNG, GIF, TIFF, WebP, JPEG 8-bit, JPEG 12-bit, Lossless
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
%autosetup -p1 -n imagecodecs-%{version}
cp %{SOURCE1} ./
dos2unix README.rst
# These libraries are not linked to, (check SOURCE1)
rm imagecodecs/licenses/LICENSE-brunsli
rm imagecodecs/licenses/LICENSE-jetraw
rm imagecodecs/licenses/LICENSE-lerc
rm imagecodecs/licenses/LICENSE-lzokay
rm imagecodecs/licenses/LICENSE-mozjpeg
rm imagecodecs/licenses/LICENSE-pcodec
rm imagecodecs/licenses/LICENSE-sperr
%build
%if !%{with test}
export CFLAGS="%{optflags}"
export INCDIR="%{_includedir}"
# make sure we can import Source1
export PYTHONPATH=$PWD:$PYTHONPATH
%pyproject_wheel
%endif
%install
%if !%{with test}
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/imagecodecs
%{python_expand rm -rf %{buildroot}%{$python_sitearch}/imagecodecs/licenses/
%fdupes %{buildroot}%{$python_sitearch}
}
%endif
%check
%if %{with test}
# All heif tests fail because of unsupported filetypes (openSUSE does not ship patentend codec support with libheif)
donttest="heif"
# no webp and lerc support in libtiff
donttest="$donttest or (test_tiff and (webp or lerc))"
donttest+=" or test_cms"
%pytest_arch -n auto tests -rsXfE -k "not ($donttest ${$python_donttest})"
%endif
%if !%{with test}
%post
%python_install_alternative imagecodecs
%postun
%python_uninstall_alternative imagecodecs
%files %{python_files}
%license LICENSE imagecodecs/licenses/*
%doc README.rst
%python_alternative %{_bindir}/imagecodecs
%{python_sitearch}/imagecodecs-%{version}.dist-info/
%{python_sitearch}/imagecodecs/
%endif
%changelog

11
skip-rare-codecs.patch Normal file
View File

@ -0,0 +1,11 @@
--- imagecodecs-2024.1.1.orig/setup.py
+++ imagecodecs-2024.1.1/setup.py
@@ -246,7 +246,7 @@ def customize_build_default(EXTENSIONS,
del EXTENSIONS['sperr'] # sperr not commonly available
del EXTENSIONS['zlibng'] # zlib-ng library not commonly available
- if 'arch' not in platform.platform():
+ if True:
del EXTENSIONS['jpegls'] # CharLS 2.1 library not commonly available
del EXTENSIONS['jpegxl'] # jpeg-xl library not commonly available
del EXTENSIONS['brunsli'] # Brunsli library not commonly available