diff --git a/.gitignore b/.gitignore index ff432b8..6da5a21 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,2 @@ /imagecodecs-2022.9.26.tar.gz /imagecodecs-2023.1.23.tar.gz -/imagecodecs-2024.9.22.tar.gz -/imagecodecs-2024.12.30.tar.gz -/imagecodecs-2025.3.30.tar.gz -/imagecodecs-2025.8.2.tar.gz diff --git a/changelog b/changelog deleted file mode 100644 index 0883896..0000000 --- a/changelog +++ /dev/null @@ -1,50 +0,0 @@ -* Wed Aug 06 2025 Orion Poplawski - 2025.3.30-1 -- Update to 2025.3.30 - -* Wed Aug 06 2025 Orion Poplawski - 2024.12.30-1 -- Update to 2024.12.30 - -* Fri Jul 25 2025 Fedora Release Engineering - 2024.9.22-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jun 06 2025 Python Maint - 2024.9.22-2 -- Rebuilt for Python 3.14 - -* Wed Jan 22 2025 Sandro - 2024.9.22-1 -- Update to 2024.9.22 -- Add support for NumPy 2.x -- Close RHBZ#2341164 - -* Sat Jan 18 2025 Fedora Release Engineering - 2023.1.23-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Sep 10 2024 Zbigniew Jedrzejewski-Szmek - 2023.1.23-4 -- Rebuilt for blosc2-2.15.1-1 - -* Fri Jul 19 2024 Fedora Release Engineering - 2023.1.23-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jun 17 2024 Python Maint - 2023.1.23-2 -- Rebuilt for Python 3.13 - -* Sun Apr 21 2024 Orion Poplawski - 2023.1.23-1 -- Update to 2023.1.23 -- Add more test dependencies - -* Sun Apr 21 2024 Zbigniew Jędrzejewski-Szmek - 2022.9.26-6 -- Rebuilt for blosc2 2.14.4 - -* Wed Jan 31 2024 František Zatloukal - 2022.9.26-5 -- Rebuilt for libavif 1.0.3 - -* Fri Jan 26 2024 Fedora Release Engineering - 2022.9.26-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Mon Jan 22 2024 Fedora Release Engineering - 2022.9.26-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jul 21 2023 Fedora Release Engineering - 2022.9.26-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jun 02 2023 Orion Poplawski - 2022.9.26-1 -- Initial Fedora package diff --git a/imagecodecs_distributor_setup.py b/imagecodecs_distributor_setup.py index ab093ab..b711920 100644 --- a/imagecodecs_distributor_setup.py +++ b/imagecodecs_distributor_setup.py @@ -7,6 +7,7 @@ def customize_build(EXTENSIONS, OPTIONS): del EXTENSIONS['bitshuffle'] # Uses 3rdparty source del EXTENSIONS['brunsli'] # not available on Fedora del EXTENSIONS['jetraw'] # commercial + del EXTENSIONS['jpeg12'] # jpeg12 requires custom build del EXTENSIONS['jpegls'] # Fedora's charls is too old at the moment del EXTENSIONS['jpegsof3'] # Uses 3rdparty source del EXTENSIONS['jpegxl'] # requires static linking? @@ -31,15 +32,3 @@ def customize_build(EXTENSIONS, OPTIONS): if platform.machine() == 's390x': del EXTENSIONS['lzfse'] # Not supported on big-endian - # New or changed in 2024.9.22 - del EXTENSIONS['bcn'] # not available in Fedora - del EXTENSIONS['h5checksum'] # uses 3rdparty source - EXTENSIONS['jpeg8']['sources'] = [] # requires libjpeg-turbo v3 - del EXTENSIONS['jpegxs'] # not available on Fedora - del EXTENSIONS['lzo'] # Uses 3rdparty source - del EXTENSIONS['pcodec'] # Uses 3rdparty source - del EXTENSIONS['quantize'] # Uses 3rdparty source - del EXTENSIONS['rcomp'] # Uses 3rdparty source - del EXTENSIONS['sperr'] # Uses 3rdparty source - del EXTENSIONS['sz3'] # Uses 3rdparty source - del EXTENSIONS['ultrahdr'] # Uses 3rdparty source diff --git a/python-imagecodecs-noexcept.patch b/python-imagecodecs-noexcept.patch new file mode 100644 index 0000000..c61fbfe --- /dev/null +++ b/python-imagecodecs-noexcept.patch @@ -0,0 +1,248 @@ +diff -up imagecodecs-2023.1.23/imagecodecs/_cms.pyx.noexcept imagecodecs-2023.1.23/imagecodecs/_cms.pyx +--- imagecodecs-2023.1.23/imagecodecs/_cms.pyx.noexcept 2022-12-29 13:17:33.000000000 -0700 ++++ imagecodecs-2023.1.23/imagecodecs/_cms.pyx 2024-02-04 14:46:24.874770321 -0700 +@@ -956,5 +956,5 @@ cdef void _cms_log_error_handler( + cmsContext ContextID, + cmsUInt32Number ErrorCode, + const char *Text +-) with gil: +- _log_warning('CMS error: %s', Text.decode().strip()) +\ No newline at end of file ++) noexcept with gil: ++ _log_warning('CMS error: %s', Text.decode().strip()) +diff -up imagecodecs-2023.1.23/imagecodecs/_gif.pyx.noexcept imagecodecs-2023.1.23/imagecodecs/_gif.pyx +--- imagecodecs-2023.1.23/imagecodecs/_gif.pyx.noexcept 2022-12-29 13:17:33.000000000 -0700 ++++ imagecodecs-2023.1.23/imagecodecs/_gif.pyx 2024-02-04 15:39:31.174619739 -0700 +@@ -514,7 +514,7 @@ cdef int gif_output_func( + GifFileType* gif, + const GifByteType* src, + int size +-) nogil: ++) noexcept nogil: + """GIF write callback function.""" + cdef: + memgif_t* memgif = gif.UserData +diff -up imagecodecs-2023.1.23/imagecodecs/_gif.pyx.noexcept imagecodecs-2023.1.23/imagecodecs/_gif.pyx +--- imagecodecs-2023.1.23/imagecodecs/_gif.pyx.noexcept 2024-02-04 15:40:40.707246956 -0700 ++++ imagecodecs-2023.1.23/imagecodecs/_gif.pyx 2024-02-04 15:46:25.793373376 -0700 +@@ -489,7 +489,7 @@ cdef int gif_input_func( + GifFileType* gif, + GifByteType* dst, + int size +-) nogil: ++) noexcept nogil: + """GIF read callback function.""" + cdef: + memgif_t* memgif = gif.UserData +diff -up imagecodecs-2023.1.23/imagecodecs/_heif.pyx.noexcept imagecodecs-2023.1.23/imagecodecs/_heif.pyx +--- imagecodecs-2023.1.23/imagecodecs/_heif.pyx.noexcept 2023-01-08 01:14:08.000000000 -0700 ++++ imagecodecs-2023.1.23/imagecodecs/_heif.pyx 2024-02-04 15:49:04.754813538 -0700 +@@ -769,7 +769,7 @@ cdef heif_error heif_write_callback( + const void* data, + size_t size, + void* userdata +-) nogil: ++) noexcept nogil: + """heif_writer callback function.""" + cdef: + output_t* output = userdata +diff -up imagecodecs-2023.1.23/imagecodecs/_jpeg8.pyx.noexcept imagecodecs-2023.1.23/imagecodecs/_jpeg8.pyx +--- imagecodecs-2023.1.23/imagecodecs/_jpeg8.pyx.noexcept 2022-12-29 13:17:33.000000000 -0700 ++++ imagecodecs-2023.1.23/imagecodecs/_jpeg8.pyx 2024-02-04 15:51:39.046211391 -0700 +@@ -393,14 +393,14 @@ ctypedef struct my_error_mgr: + jmp_buf setjmp_buffer + + +-cdef void my_error_exit(jpeg_common_struct* cinfo) nogil: ++cdef void my_error_exit(jpeg_common_struct* cinfo) noexcept nogil: + cdef: + my_error_mgr* error = deref(cinfo).err + + longjmp(deref(error).setjmp_buffer, 1) + + +-cdef void my_output_message(jpeg_common_struct* cinfo) nogil: ++cdef void my_output_message(jpeg_common_struct* cinfo) noexcept nogil: + pass + + +diff -up imagecodecs-2023.1.23/imagecodecs/_jpegxr.pyx.noexcept imagecodecs-2023.1.23/imagecodecs/_jpegxr.pyx +--- imagecodecs-2023.1.23/imagecodecs/_jpegxr.pyx.noexcept 2023-01-08 01:16:31.000000000 -0700 ++++ imagecodecs-2023.1.23/imagecodecs/_jpegxr.pyx 2024-02-04 15:58:24.138871893 -0700 +@@ -378,7 +378,7 @@ def jpegxr_decode(data, index=None, fp2i + return out + + +-cdef ERR WriteWS_Memory(WMPStream* pWS, const void* pv, size_t cb) nogil: ++cdef ERR WriteWS_Memory(WMPStream* pWS, const void* pv, size_t cb) noexcept nogil: + """Replacement for WriteWS_Memory to keep track of bytes written.""" + if pWS.state.buf.cbCur + cb < pWS.state.buf.cbCur: + return WMP_errBufferOverflow +@@ -395,7 +395,7 @@ cdef ERR WriteWS_Memory(WMPStream* pWS, + return WMP_errSuccess + + +-cdef ERR WriteWS_Realloc(WMPStream* pWS, const void* pv, size_t cb) nogil: ++cdef ERR WriteWS_Realloc(WMPStream* pWS, const void* pv, size_t cb) noexcept nogil: + """Replacement for WriteWS_Memory to realloc buffers on overflow. + + Only use with buffers allocated by malloc. +@@ -431,7 +431,7 @@ cdef ERR WriteWS_Realloc(WMPStream* pWS, + return WMP_errSuccess + + +-cdef Bool EOSWS_Realloc(WMPStream* pWS) nogil: ++cdef Bool EOSWS_Realloc(WMPStream* pWS) noexcept nogil: + """Replacement for EOSWS_Memory.""" + # return pWS.state.buf.cbBuf <= pWS.state.buf.cbCur + return 1 +diff -up imagecodecs-2023.1.23/imagecodecs/_png.pyx.noexcept imagecodecs-2023.1.23/imagecodecs/_png.pyx +--- imagecodecs-2023.1.23/imagecodecs/_png.pyx.noexcept 2022-12-29 13:17:33.000000000 -0700 ++++ imagecodecs-2023.1.23/imagecodecs/_png.pyx 2024-02-04 16:09:47.113978112 -0700 +@@ -382,7 +382,7 @@ def png_decode(data, index=None, numthre + cdef void png_error_callback( + png_structp png_ptr, + png_const_charp msg +-) nogil: ++) noexcept nogil: + cdef: + mempng_t* mempng = png_get_io_ptr(png_ptr) + +@@ -395,7 +395,7 @@ cdef void png_error_callback( + cdef void png_warn_callback( + png_structp png_ptr, + png_const_charp msg +-) with gil: ++) noexcept with gil: + _log_warning('PNG warning: %s', msg.decode().strip()) + + +@@ -411,7 +411,7 @@ cdef void png_read_data_fn( + png_structp png_ptr, + png_bytep dst, + png_size_t size +-) nogil: ++) noexcept nogil: + """PNG read callback function.""" + cdef: + mempng_t* mempng = png_get_io_ptr(png_ptr) +@@ -436,7 +436,7 @@ cdef void png_write_data_fn( + png_structp png_ptr, + png_bytep src, + png_size_t size +-) nogil: ++) noexcept nogil: + """PNG write callback function.""" + cdef: + mempng_t* mempng = png_get_io_ptr(png_ptr) +@@ -470,7 +470,7 @@ cdef void png_write_data_fn( + mempng.offset += size + + +-cdef void png_output_flush_fn(png_structp png_ptr) nogil: ++cdef void png_output_flush_fn(png_structp png_ptr) noexcept nogil: + """PNG flush callback function.""" + pass + +diff -up imagecodecs-2023.1.23/imagecodecs/_tiff.pyx.noexcept imagecodecs-2023.1.23/imagecodecs/_tiff.pyx +--- imagecodecs-2023.1.23/imagecodecs/_tiff.pyx.noexcept 2022-12-29 13:17:33.000000000 -0700 ++++ imagecodecs-2023.1.23/imagecodecs/_tiff.pyx 2024-02-04 16:19:07.467291854 -0700 +@@ -842,7 +842,7 @@ cdef memtif_t* memtif_open( + return memtif + + +-cdef memtif_t* memtif_new(toff_t size, toff_t inc) nogil: ++cdef memtif_t* memtif_new(toff_t size, toff_t inc) noexcept nogil: + """Return new memtif with new buffer for writing.""" + cdef: + memtif_t* memtif = malloc(sizeof(memtif_t)) +@@ -864,7 +864,7 @@ cdef memtif_t* memtif_new(toff_t size, t + return memtif + + +-cdef void memtif_del(memtif_t* memtif) nogil: ++cdef void memtif_del(memtif_t* memtif) noexcept nogil: + """Delete memtif.""" + if memtif != NULL: + if memtif.owner: +@@ -876,7 +876,7 @@ cdef tsize_t memtif_TIFFReadProc( + thandle_t handle, + void* buf, + tmsize_t size +-) nogil: ++) noexcept nogil: + """Callback function to read from memtif.""" + cdef: + memtif_t* memtif = handle +@@ -892,7 +892,7 @@ cdef tmsize_t memtif_TIFFWriteProc( + thandle_t handle, + void* buf, + tmsize_t size +-) nogil: ++) noexcept nogil: + """Callback function to write to memtif.""" + cdef: + memtif_t* memtif = handle +@@ -919,7 +919,7 @@ cdef toff_t memtif_TIFFSeekProc( + thandle_t handle, + toff_t off, + int whence +-) nogil: ++) noexcept nogil: + """Callback function to seek to memtif.""" + cdef: + memtif_t* memtif = handle +@@ -968,7 +968,7 @@ cdef toff_t memtif_TIFFSeekProc( + return memtif.fpos + + +-cdef int memtif_TIFFCloseProc(thandle_t handle) nogil: ++cdef int memtif_TIFFCloseProc(thandle_t handle) noexcept nogil: + """Callback function to close memtif.""" + cdef: + memtif_t* memtif = handle +@@ -977,7 +977,7 @@ cdef int memtif_TIFFCloseProc(thandle_t + return 0 + + +-cdef toff_t memtif_TIFFSizeProc(thandle_t handle) nogil: ++cdef toff_t memtif_TIFFSizeProc(thandle_t handle) noexcept nogil: + """Callback function to return size of memtif.""" + cdef: + memtif_t* memtif = handle +@@ -989,7 +989,7 @@ cdef int memtif_TIFFMapFileProc( + thandle_t handle, + void** base, + toff_t* size +-) nogil: ++) noexcept nogil: + """Callback function to map memtif.""" + cdef: + memtif_t* memtif = handle +@@ -1003,7 +1003,7 @@ cdef void memtif_TIFFUnmapFileProc( + thandle_t handle, + void* base, + toff_t size +-) nogil: ++) noexcept nogil: + """Callback function to unmap memtif.""" + return + +@@ -1014,7 +1014,7 @@ cdef int tif_error_handler( + const char* module, + const char* fmt, + va_list args +-) nogil: ++) noexcept nogil: + """Callback function to write libtiff error message to memtif.""" + cdef: + memtif_t* memtif +@@ -1036,7 +1036,7 @@ cdef int tif_warning_handler( + const char* module, + const char* fmt, + va_list args +-) with gil: ++) noexcept with gil: + """Callback function to output libtiff warning message to logging.""" + cdef: + char msg[80] diff --git a/python-imagecodecs.spec b/python-imagecodecs.spec index 3392511..7c03543 100644 --- a/python-imagecodecs.spec +++ b/python-imagecodecs.spec @@ -1,8 +1,8 @@ %global srcname imagecodecs Name: python-imagecodecs -Version: 2025.8.2 -Release: %autorelease +Version: 2023.1.23 +Release: 4%{?dist} Summary: Image transformation, compression, and decompression codecs License: BSD-3-Clause @@ -10,6 +10,7 @@ URL: https://pypi.org/project/imagecodecs/ Source: %{pypi_source} # Build configuration Source1: imagecodecs_distributor_setup.py +Patch0: python-imagecodecs-noexcept.patch ExcludeArch: %{ix86} @@ -26,7 +27,7 @@ BuildRequires: giflib-devel BuildRequires: jxrlib-devel BuildRequires: lcms2-devel BuildRequires: libaec-devel -BuildRequires: libavif-devel >= 1.3.0 +BuildRequires: libavif-devel BuildRequires: libdeflate-devel BuildRequires: libheif-devel BuildRequires: libjpeg-turbo-devel >= 3 @@ -115,8 +116,6 @@ export PYTHONPATH=. TEST_OPTS=( # TODO - tests/test_imagecodecs.py::test_cms_identity_transforms segfaults (various cases) --deselect "tests/test_imagecodecs.py::test_cms_identity_transforms" - # TODO AssertionError - --deselect "tests/test_imagecodecs.py::test_cms" # TODO - investigate blosc2 test failues - value differences --deselect "tests/test_imagecodecs.py::test_compressors[blosc2-encode-0-new]" --deselect "tests/test_imagecodecs.py::test_compressors[blosc2-encode-0-bytearray]" @@ -133,114 +132,6 @@ TEST_OPTS=( # spng_encode appears to not be available with openjpeg2 disabled, but the test still tries to run --deselect tests/test_imagecodecs.py::test_spng_encode # Other deselected tests seem to be related to unsupported compression types - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-new-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-out-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-gray-bytearray-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-new-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-out-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint8-graya-bytearray-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-new-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-out-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-gray-bytearray-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-new-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-out-bytearray--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-new-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-new-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-new--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-out-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-out-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-out--1]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-bytearray-None]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-bytearray-5]" - --deselect "tests/test_imagecodecs.py::test_image_roundtrips[avif-uint16-graya-bytearray-bytearray--1]" --deselect "tests/test_imagecodecs.py::test_image_roundtrips[heif-uint8-rgb-new-new-None]" --deselect "tests/test_imagecodecs.py::test_image_roundtrips[heif-uint8-rgb-new-new-5]" --deselect "tests/test_imagecodecs.py::test_image_roundtrips[heif-uint8-rgb-new-new--1]" @@ -301,7 +192,6 @@ TEST_OPTS=( --deselect "tests/test_imagecodecs.py::test_tiff_files[rgb.tiled.lerc.u1-True]" --deselect "tests/test_imagecodecs.py::test_numcodecs[heif-gray]" --deselect "tests/test_imagecodecs.py::test_numcodecs[heif-rgb]" - --deselect "tests/test_imagecodecs.py::test_numcodecs[heif-stack]" --deselect "tests/test_imagecodecs.py::test_tiff_files[rgb.u1-False]" --deselect "tests/test_imagecodecs.py::test_tiff_files[gray.i2-False]" --deselect "tests/test_imagecodecs.py::test_tiff_files[gray.one.f8-False]" @@ -389,4 +279,33 @@ TEST_OPTS=( %changelog -%autochangelog +* Tue Sep 10 2024 Zbigniew Jedrzejewski-Szmek - 2023.1.23-4 +- Rebuilt for blosc2-2.15.1-1 + +* Fri Jul 19 2024 Fedora Release Engineering - 2023.1.23-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jun 17 2024 Python Maint - 2023.1.23-2 +- Rebuilt for Python 3.13 + +* Sun Apr 21 2024 Orion Poplawski - 2023.1.23-1 +- Update to 2023.1.23 +- Add more test dependencies + +* Sun Apr 21 2024 Zbigniew Jędrzejewski-Szmek - 2022.9.26-6 +- Rebuilt for blosc2 2.14.4 + +* Wed Jan 31 2024 František Zatloukal - 2022.9.26-5 +- Rebuilt for libavif 1.0.3 + +* Fri Jan 26 2024 Fedora Release Engineering - 2022.9.26-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 2022.9.26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jul 21 2023 Fedora Release Engineering - 2022.9.26-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Jun 02 2023 Orion Poplawski - 2022.9.26-1 +- Initial Fedora package diff --git a/sources b/sources index 7a65506..6bff86b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (imagecodecs-2025.8.2.tar.gz) = d3daee7ca1d1954541195a5fd4475d1b37ab747ed1b86131ec94013623179182aff09a09a05c6c5989f3e07e089d6e14c9e9084750a21aed4f163441a42b37b4 +SHA512 (imagecodecs-2023.1.23.tar.gz) = 424a09bd86cf376efdd8f1e15175c7ff403860b7ff7289f9685fc949d2e37f59e8fba3793938dffca2dd3eb476f42bcd7e1fcc87f91be17eef37b3c2c1072993