Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-blosc2 for openSUSE:Factory 
checked in at 2023-09-25 20:04:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-blosc2 (Old)
 and      /work/SRC/openSUSE:Factory/.python-blosc2.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-blosc2"

Mon Sep 25 20:04:09 2023 rev:6 rq:1113433 version:2.2.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-blosc2/python-blosc2.changes      
2023-08-23 14:59:33.470198629 +0200
+++ /work/SRC/openSUSE:Factory/.python-blosc2.new.1770/python-blosc2.changes    
2023-09-25 20:57:14.643287923 +0200
@@ -1,0 +2,7 @@
+Mon Sep 18 09:17:34 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 2.2.7:
+  * Updated to latest C-Blosc2 2.10.3.
+  * Added openhtj2k codec plugin.
+
+-------------------------------------------------------------------

Old:
----
  blosc2-2.2.6.tar.gz

New:
----
  blosc2-2.2.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-blosc2.spec ++++++
--- /var/tmp/diff_new_pack.Z2bnVR/_old  2023-09-25 20:57:15.795329541 +0200
+++ /var/tmp/diff_new_pack.Z2bnVR/_new  2023-09-25 20:57:15.795329541 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python-blosc2
-Version:        2.2.6
+Version:        2.2.7
 Release:        0
 Summary:        Python wrapper for the C-Blosc2 library
 License:        BSD-3-Clause

++++++ blosc2-2.2.6.tar.gz -> blosc2-2.2.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/ANNOUNCE.rst 
new/blosc2-2.2.7/ANNOUNCE.rst
--- old/blosc2-2.2.6/ANNOUNCE.rst       2023-08-01 14:34:49.000000000 +0200
+++ new/blosc2-2.2.7/ANNOUNCE.rst       2023-09-13 10:42:50.000000000 +0200
@@ -1,9 +1,9 @@
 Announcing Python-Blosc2 2.2.6
 ==============================
 
-This is a maintenance release, where we have upgraded to latest C-Blosc2 
2.10.1.
-This provides fixes for dynamic plugins and the possibility to run them
-in multithreading mode (see PR #127).
+This is a maintenance release, where we have upgraded to latest C-Blosc2 
2.10.3.
+This provides the ability to use the blosc2_openhtj2k dynamic plugin
+(see https://github.com/Blosc/blosc2_openhtj2k for more info on this).
 
 For more info, you can have a look at the release notes in:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/PKG-INFO new/blosc2-2.2.7/PKG-INFO
--- old/blosc2-2.2.6/PKG-INFO   2023-08-01 14:36:59.405662500 +0200
+++ new/blosc2-2.2.7/PKG-INFO   2023-09-13 10:45:14.360038000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: blosc2
-Version: 2.2.6
+Version: 2.2.7
 Summary: Python wrapper for the C-Blosc2 library
 Author-email: Blosc Development Team <bl...@blosc.org>
 Maintainer-email: Blosc Development Team <bl...@blosc.org>
@@ -24,6 +24,10 @@
 Requires-Python: <4,>=3.8
 Description-Content-Type: text/x-rst
 License-File: LICENSE.txt
+Requires-Dist: msgpack
+Requires-Dist: ndindex>=1.4
+Requires-Dist: numpy>=1.20.3
+Requires-Dist: py-cpuinfo
 
 =============
 Python-Blosc2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/RELEASE_NOTES.md 
new/blosc2-2.2.7/RELEASE_NOTES.md
--- old/blosc2-2.2.6/RELEASE_NOTES.md   2023-08-01 14:34:49.000000000 +0200
+++ new/blosc2-2.2.7/RELEASE_NOTES.md   2023-09-13 10:42:50.000000000 +0200
@@ -1,5 +1,14 @@
 # Release notes
 
+## Changes from 2.2.6 to 2.2.7
+
+* Updated to latest C-Blosc2 2.10.3.
+
+* Added openhtj2k codec plugin.
+
+* Some small fixes regarding typos.
+
+
 ## Changes from 2.2.5 to 2.2.6
 
 * Multithreading checks only apply to Python defined codecs and filters.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/RELEASING.rst 
new/blosc2-2.2.7/RELEASING.rst
--- old/blosc2-2.2.6/RELEASING.rst      2023-08-01 14:34:49.000000000 +0200
+++ new/blosc2-2.2.7/RELEASING.rst      2023-09-13 10:42:50.000000000 +0200
@@ -10,8 +10,8 @@
   version that will be documented in the `RELEASE_NOTES.md`)::
 
     cd blosc2/c-blosc2
-    git checkout <desired tag>
     git pull
+    git checkout <desired tag>
     cd ../..
     git commit -m "Update c-blosc2 sources" blosc2/c-blosc2
     git push
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/VERSION new/blosc2-2.2.7/VERSION
--- old/blosc2-2.2.6/VERSION    2023-08-01 14:34:49.000000000 +0200
+++ new/blosc2-2.2.7/VERSION    2023-09-13 10:42:50.000000000 +0200
@@ -1 +1 @@
-2.2.6
+2.2.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/__init__.py 
new/blosc2-2.2.7/blosc2/__init__.py
--- old/blosc2-2.2.6/blosc2/__init__.py 2023-08-01 14:34:49.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/__init__.py 2023-09-13 10:42:50.000000000 +0200
@@ -29,6 +29,7 @@
     ZFP_ACC = 33
     ZFP_PREC = 34
     ZFP_RATE = 35
+    OPENHTJ2K = 36
 
 
 class Filter(Enum):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/blosc2_ext.pyx 
new/blosc2-2.2.7/blosc2/blosc2_ext.pyx
--- old/blosc2-2.2.6/blosc2/blosc2_ext.pyx      2023-08-01 14:34:49.000000000 
+0200
+++ new/blosc2-2.2.7/blosc2/blosc2_ext.pyx      2023-09-13 10:42:50.000000000 
+0200
@@ -1477,8 +1477,8 @@
     cdef user_filters_udata *udata = <user_filters_udata *> params.user_data
     cdef int nd = 1
     cdef np.npy_intp dims = params.size // params.typesize
-    input = np.PyArray_SimpleNewFromData(nd, &dims, udata.input_cdtype, 
params.input)
-    output = np.PyArray_SimpleNewFromData(nd, &dims, udata.output_cdtype, 
params.output)
+    input = np.PyArray_SimpleNewFromData(nd, &dims, udata.input_cdtype, 
<void*>params.input)
+    output = np.PyArray_SimpleNewFromData(nd, &dims, udata.output_cdtype, 
<void*>params.output)
     offset = params.nchunk * udata.chunkshape + params.offset // 
params.typesize
     func_id = udata.py_func.decode("utf-8")
     blosc2.postfilter_funcs[func_id](input, output, offset)
@@ -1493,7 +1493,7 @@
 
     inputs_tuple = _ctypes.PyObj_FromPtr(udata.inputs_id)
 
-    output = np.PyArray_SimpleNewFromData(nd, &dims, udata.output_cdtype, 
params.output)
+    output = np.PyArray_SimpleNewFromData(nd, &dims, udata.output_cdtype, 
<void*>params.output)
     offset = params.nchunk * udata.chunkshape + params.output_offset // 
params.output_typesize
 
     inputs = []
@@ -1535,8 +1535,8 @@
     cdef np.npy_intp dims = params.output_size // params.output_typesize
 
 
-    input = np.PyArray_SimpleNewFromData(nd, &dims, udata.input_cdtype, 
params.input)
-    output = np.PyArray_SimpleNewFromData(nd, &dims, udata.output_cdtype, 
params.output)
+    input = np.PyArray_SimpleNewFromData(nd, &dims, udata.input_cdtype, 
<void*>params.input)
+    output = np.PyArray_SimpleNewFromData(nd, &dims, udata.output_cdtype, 
<void*>params.output)
     offset = params.nchunk * udata.chunkshape + params.output_offset // 
params.output_typesize
 
     func_id = udata.py_func.decode("utf-8")
@@ -1741,8 +1741,8 @@
     cdef int nd = 1
     cdef np.npy_intp input_dims = input_len
     cdef np.npy_intp output_dims = output_len
-    input = np.PyArray_SimpleNewFromData(nd, &input_dims, np.NPY_UINT8, 
input_buffer)
-    output = np.PyArray_SimpleNewFromData(nd, &output_dims, np.NPY_UINT8, 
output_buffer)
+    input = np.PyArray_SimpleNewFromData(nd, &input_dims, np.NPY_UINT8, 
<void*>input_buffer)
+    output = np.PyArray_SimpleNewFromData(nd, &output_dims, np.NPY_UINT8, 
<void*>output_buffer)
 
     cdef blosc2_schunk *sc = <blosc2_schunk *> cparams.schunk
     if sc != NULL:
@@ -1763,8 +1763,8 @@
     cdef int nd = 1
     cdef np.npy_intp input_dims = input_len
     cdef np.npy_intp output_dims = output_len
-    input = np.PyArray_SimpleNewFromData(nd, &input_dims, np.NPY_UINT8, 
input_buffer)
-    output = np.PyArray_SimpleNewFromData(nd, &output_dims, np.NPY_UINT8, 
output_buffer)
+    input = np.PyArray_SimpleNewFromData(nd, &input_dims, np.NPY_UINT8, 
<void*>input_buffer)
+    output = np.PyArray_SimpleNewFromData(nd, &output_dims, np.NPY_UINT8, 
<void*>output_buffer)
 
     cdef blosc2_schunk *sc = <blosc2_schunk *> dparams.schunk
     if sc != NULL:
@@ -1815,8 +1815,8 @@
                         uint8_t meta, blosc2_cparams* cparams, uint8_t id):
     cdef int nd = 1
     cdef np.npy_intp dims = size
-    input = np.PyArray_SimpleNewFromData(nd, &dims, np.NPY_UINT8, input_buffer)
-    output = np.PyArray_SimpleNewFromData(nd, &dims, np.NPY_UINT8, 
output_buffer)
+    input = np.PyArray_SimpleNewFromData(nd, &dims, np.NPY_UINT8, 
<void*>input_buffer)
+    output = np.PyArray_SimpleNewFromData(nd, &dims, np.NPY_UINT8, 
<void*>output_buffer)
 
     cdef blosc2_schunk *sc = <blosc2_schunk *> cparams.schunk
     if sc != NULL:
@@ -1832,8 +1832,8 @@
                             uint8_t meta, blosc2_dparams* dparams, uint8_t id):
     cdef int nd = 1
     cdef np.npy_intp dims = size
-    input = np.PyArray_SimpleNewFromData(nd, &dims, np.NPY_UINT8, input_buffer)
-    output = np.PyArray_SimpleNewFromData(nd, &dims, np.NPY_UINT8, 
output_buffer)
+    input = np.PyArray_SimpleNewFromData(nd, &dims, np.NPY_UINT8, 
<void*>input_buffer)
+    output = np.PyArray_SimpleNewFromData(nd, &dims, np.NPY_UINT8, 
<void*>output_buffer)
 
     cdef blosc2_schunk *sc = <blosc2_schunk *> dparams.schunk
     if sc != NULL:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/blosc2-2.2.6/blosc2/c-blosc2/.github/workflows/cmake.yml 
new/blosc2-2.2.7/blosc2/c-blosc2/.github/workflows/cmake.yml
--- old/blosc2-2.2.6/blosc2/c-blosc2/.github/workflows/cmake.yml        
2023-08-01 14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/.github/workflows/cmake.yml        
2023-09-13 10:42:51.000000000 +0200
@@ -105,7 +105,7 @@
             compiler: gcc
 
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
 
     - name: Install packages (Ubuntu)
       if: runner.os == 'Linux' && matrix.packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/ANNOUNCE.md 
new/blosc2-2.2.7/blosc2/c-blosc2/ANNOUNCE.md
--- old/blosc2-2.2.6/blosc2/c-blosc2/ANNOUNCE.md        2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/ANNOUNCE.md        2023-09-13 
10:42:51.000000000 +0200
@@ -1,12 +1,12 @@
-# Announcing C-Blosc2 2.10.1
+# Announcing C-Blosc2 2.10.2
 A fast, compressed and persistent binary data store library for C.
 
 ## What is new?
 
-This is a maintenance release with also several improvements for helping
-integration of C-Blosc2 in other projects (thanks to Alex Huebel).  Also,
-`blosc2_remove_urlpath(const char *urlpath)` does not return an error
-when path does not exist.
+This is a maintenance release with also several improvements like the 
registration of
+the dynamically loaded codec blosc2_openhtj2k. See 
https://github.com/Blosc/blosc2_openhtj2k 
+for more info on how to use it. Also,
+the `BLOSC_INFO` macro has been added for details on compression params.
 
 For more info, please see the release notes in:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/Blosc2Config.cmake.in 
new/blosc2-2.2.7/blosc2/c-blosc2/Blosc2Config.cmake.in
--- old/blosc2-2.2.6/blosc2/c-blosc2/Blosc2Config.cmake.in      2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/Blosc2Config.cmake.in      2023-09-13 
10:42:51.000000000 +0200
@@ -9,10 +9,10 @@
 endif()
 
 # locate the installed FindABC.cmake modules
-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/Modules")
 
 # this section stores which configuration options were set
-set(HAVE_THREADS @Threads_FOUND@)
+set(HAVE_THREADS @HAVE_THREADS@)
 set(HAVE_IPP @HAVE_IPP@)
 set(HAVE_ZLIB_NG @HAVE_ZLIB_NG@)
 set(DEACTIVATE_IPP @DEACTIVATE_IPP@)
@@ -26,16 +26,13 @@
 #   additionally, the Blosc2_..._FOUND variables are used to support
 #   find_package(Blosc2 ... COMPONENTS ... ...)
 #   this enables downstream projects to express the need for specific features.
-if(WIN32)
-    if(HAVE_THREADS)
-        find_dependency(Threads)
-        set(Blosc2_THREADS_FOUND TRUE)
-    else()
-        set(Blosc2_THREADS_FOUND FALSE)
-    endif()
-else()
+set(CMAKE_THREAD_PREFER_PTHREAD TRUE) # pre 3.1
+set(THREADS_PREFER_PTHREAD_FLAG TRUE) # CMake 3.1+
+if(HAVE_THREADS)
     find_dependency(Threads)
     set(Blosc2_THREADS_FOUND TRUE)
+else()
+    set(Blosc2_THREADS_FOUND FALSE)
 endif()
 
 if(NOT DEACTIVATE_IPP AND HAVE_IPP)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/CMakeLists.txt 
new/blosc2-2.2.7/blosc2/c-blosc2/CMakeLists.txt
--- old/blosc2-2.2.6/blosc2/c-blosc2/CMakeLists.txt     2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/CMakeLists.txt     2023-09-13 
10:42:51.000000000 +0200
@@ -151,6 +151,21 @@
     set(DEACTIVATE_ZSTD ON)
 endif()
 
+# Threads
+set(CMAKE_THREAD_PREFER_PTHREAD TRUE) # pre 3.1
+set(THREADS_PREFER_PTHREAD_FLAG TRUE) # CMake 3.1+
+if(WIN32)
+    # try to use the system library
+    find_package(Threads)
+else()
+    find_package(Threads REQUIRED)
+endif()
+if(Threads_FOUND)
+    set(HAVE_THREADS ON)
+else()
+    set(HAVE_THREADS OFF)
+endif()
+
 if(PREFER_EXTERNAL_LZ4)
     find_package(LZ4)
 else()
@@ -474,7 +489,7 @@
         if(CMAKE_INSTALL_CMAKEDIR)
             set(Blosc2_INSTALL_CMAKEDIR "${CMAKE_INSTALL_CMAKEDIR}/Blosc2")
         else()
-            if(WIN32)
+            if(WIN32 AND NOT MINGW)
                 set(Blosc2_INSTALL_CMAKEDIR "cmake")
             else()
                 set(Blosc2_INSTALL_CMAKEDIR 
"${CMAKE_INSTALL_LIBDIR}/cmake/Blosc2")
@@ -520,6 +535,12 @@
         DESTINATION ${Blosc2_INSTALL_CMAKEDIR}
     )
 
+    # CMake Find*.cmake files used in Blosc2Config.cmake
+    install(
+        DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/cmake/
+        DESTINATION ${Blosc2_INSTALL_CMAKEDIR}/Modules
+    )
+
     # pkg-config .pc file
     configure_file(
          "${CMAKE_CURRENT_SOURCE_DIR}/blosc2.pc.in"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/RELEASE_NOTES.md 
new/blosc2-2.2.7/blosc2/c-blosc2/RELEASE_NOTES.md
--- old/blosc2-2.2.6/blosc2/c-blosc2/RELEASE_NOTES.md   2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/RELEASE_NOTES.md   2023-09-13 
10:42:51.000000000 +0200
@@ -1,6 +1,28 @@
 Release notes for C-Blosc2
 ==========================
 
+Changes from 2.10.2 to 2.10.3
+=============================
+
+* Globally registered new codec `openhtj2k`. This will be loaded dynamically. 
See PR #557.
+
+* Added a `BLOSC_INFO` macro for details on compression params.
+
+* Added `get_blocksize.c` example on automatic blocksizes.
+
+* Warning fixes.
+
+* Fixes for mingw.
+
+
+Changes from 2.10.1 to 2.10.2
+=============================
+
+* Several fixes for the CMake system.  Thanks to Axel Huebl. See PR #541 and 
#542.
+
+* Several fixes for mingw platform.  Thanks to Biswapriyo Nath.  See PR #540 
and #543.
+
+
 Changes from 2.10.0 to 2.10.1
 =============================
 
@@ -11,7 +33,7 @@
   on install, so CMake users do not need to write `FindBlosc2.cmake`
   files anymore.  This also helps to preserve transitive dependencies on
   CMake targets, especially useful for fully static builds, e.g., for
-  Python wheels.  Thanks to @ax3l (Axel Huebel). See PR #537.
+  Python wheels.  Thanks to @ax3l (Axel Huebl). See PR #537.
 
 * Fix new typos.  Thanks to @DimitriPapadopoulos. See PR #538.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/blosc/CMakeLists.txt 
new/blosc2-2.2.7/blosc2/c-blosc2/blosc/CMakeLists.txt
--- old/blosc2-2.2.6/blosc2/c-blosc2/blosc/CMakeLists.txt       2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/blosc/CMakeLists.txt       2023-09-13 
10:42:51.000000000 +0200
@@ -165,28 +165,22 @@
     endif()
 endif()
 
-set(CMAKE_THREAD_PREFER_PTHREAD TRUE) # pre 3.1
-set(THREADS_PREFER_PTHREAD_FLAG TRUE) # CMake 3.1+
-if(WIN32)
-    # try to use the system library
-    find_package(Threads)
-    if(NOT Threads_FOUND)
-        message(STATUS "using the internal pthread library for win32 systems.")
-        list(APPEND SOURCES blosc/win32/pthread.c)
-    else()
-        if(CMAKE_VERSION VERSION_LESS 3.1)
-            set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT})
-        else()
-            set(LIBS ${LIBS} Threads::Threads)
-        endif()
-    endif()
-else()
-    find_package(Threads REQUIRED)
+# Threads
+if(HAVE_THREADS)
     if(CMAKE_VERSION VERSION_LESS 3.1)
         set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT})
     else()
         set(LIBS ${LIBS} Threads::Threads)
     endif()
+elseif(WIN32)
+    message(STATUS "using the internal pthread library for win32 systems.")
+    list(APPEND SOURCES blosc/win32/pthread.c)
+else()
+    message(FATAL_ERROR "Threads required but not found.")
+endif()
+
+# dlopen/dlclose
+if(NOT WIN32)
     set(LIBS ${LIBS} ${CMAKE_DL_LIBS})
 endif()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/blosc/blosc-private.h 
new/blosc2-2.2.7/blosc2/c-blosc2/blosc/blosc-private.h
--- old/blosc2-2.2.6/blosc2/c-blosc2/blosc/blosc-private.h      2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/blosc/blosc-private.h      2023-09-13 
10:42:51.000000000 +0200
@@ -184,7 +184,9 @@
 
 #if defined(_WIN32)
 #include <windows.h>
+#ifndef PATH_MAX
 #define PATH_MAX MAX_PATH
+#endif
 #define RTLD_LAZY   0x000
 #define popen _popen
 #define pclose _pclose
@@ -199,6 +201,7 @@
 };
 
 static inline void *dlopen (const char *filename, int flags) {
+  BLOSC_UNUSED_PARAM(flags);
   HINSTANCE hInst;
   hInst = LoadLibrary(filename);
   if (hInst==NULL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/blosc/blosc2.c 
new/blosc2-2.2.7/blosc2/c-blosc2/blosc/blosc2.c
--- old/blosc2-2.2.6/blosc2/c-blosc2/blosc/blosc2.c     2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/blosc/blosc2.c     2023-09-13 
10:42:51.000000000 +0200
@@ -823,16 +823,21 @@
   char libpath[PATH_MAX];
   void *lib = load_lib(codec->compname, libpath);
   if(lib == NULL) {
-    BLOSC_TRACE_ERROR("Error while loading the library");
+    BLOSC_TRACE_ERROR("Error while loading the library for codec `%s`", 
codec->compname);
     return BLOSC2_ERROR_FAILURE;
   }
 
   codec_info *info = dlsym(lib, "info");
+  if (info == NULL) {
+    BLOSC_TRACE_ERROR("`info` symbol cannot be loaded from plugin `%s`", 
codec->compname);
+    dlclose(lib);
+    return BLOSC2_ERROR_FAILURE;
+  }
+
   codec->encoder = dlsym(lib, info->encoder);
   codec->decoder = dlsym(lib, info->decoder);
-
-  if (codec->encoder == NULL || codec->decoder == NULL){
-    BLOSC_TRACE_ERROR("Wrong library loaded");
+  if (codec->encoder == NULL || codec->decoder == NULL) {
+    BLOSC_TRACE_ERROR("encoder or decoder cannot be loaded from plugin `%s`", 
codec->compname);
     dlclose(lib);
     return BLOSC2_ERROR_FAILURE;
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/blosc/frame.c 
new/blosc2-2.2.7/blosc2/c-blosc2/blosc/frame.c
--- old/blosc2-2.2.6/blosc2/c-blosc2/blosc/frame.c      2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/blosc/frame.c      2023-09-13 
10:42:51.000000000 +0200
@@ -1635,11 +1635,12 @@
       char* eframe_name = malloc(strlen(frame->urlpath) + 
strlen("/chunks.b2frame") + 1);
       sprintf(eframe_name, "%s/chunks.b2frame", frame->urlpath);
       fp = io_cb->open(eframe_name, "rb", frame->schunk->storage->io->params);
-      free(eframe_name);
       if (fp == NULL) {
         BLOSC_TRACE_ERROR("Error opening file in: %s", eframe_name);
+        free(eframe_name);
         return BLOSC2_ERROR_FILE_OPEN;
       }
+      free(eframe_name);
       io_cb->seek(fp, trailer_offset, SEEK_SET);
     }
     else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/blosc/stune.c 
new/blosc2-2.2.7/blosc2/c-blosc2/blosc/stune.c
--- old/blosc2-2.2.6/blosc2/c-blosc2/blosc/stune.c      2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/blosc/stune.c      2023-09-13 
10:42:51.000000000 +0200
@@ -106,7 +106,8 @@
   }
 
   /* Now the blocksize for splittable codecs */
-  if (clevel > 0 && split_block(context, typesize, blocksize)) {
+  int splitmode = split_block(context, typesize, blocksize);
+  if (clevel > 0 && splitmode) {
     // For performance reasons, do not exceed 256 KB (it must fit in L2 cache)
     switch (clevel) {
       case 1:
@@ -120,6 +121,8 @@
         blocksize = 64 * 1024;
         break;
       case 7:
+        blocksize = 128 * 1024;
+        break;
       case 8:
         blocksize = 256 * 1024;
         break;
@@ -152,6 +155,8 @@
   }
 
   context->blocksize = blocksize;
+  BLOSC_INFO("compcode: %d, clevel: %d, blocksize: %d, splitmode: %d, 
typesize: %d",
+             context->compcode, context->clevel, blocksize, splitmode, 
typesize);
 }
 
 void blosc_stune_next_cparams(blosc2_context * context) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/cmake/FindZLIB_NG.cmake 
new/blosc2-2.2.7/blosc2/c-blosc2/cmake/FindZLIB_NG.cmake
--- old/blosc2-2.2.6/blosc2/c-blosc2/cmake/FindZLIB_NG.cmake    2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/cmake/FindZLIB_NG.cmake    2023-09-13 
10:42:51.000000000 +0200
@@ -27,9 +27,21 @@
   set(ZLIB_NG_FOUND FALSE)
 endif(ZLIB_NG_INCLUDE_DIR AND ZLIB_NG_LIBRARIES)
 
+# generate CMake target
 if(ZLIB_NG_FOUND)
   message(STATUS "Found zlib-ng: ${ZLIB_NG_LIBRARIES}, ${ZLIB_NG_INCLUDE_DIR}")
-endif(ZLIB_NG_FOUND)
+
+  set(ZLIB_NG_INCLUDE_DIRS ${ZLIB_NG_INCLUDE_DIR})
+
+  if(NOT TARGET ZLIB_NG::ZLIB_NG)
+    add_library(ZLIB_NG::ZLIB_NG UNKNOWN IMPORTED)
+    set_target_properties(ZLIB_NG::ZLIB_NG PROPERTIES
+      INTERFACE_INCLUDE_DIRECTORIES "${ZLIB_NG_INCLUDE_DIRS}")
+
+    set_property(TARGET ZLIB_NG::ZLIB_NG APPEND PROPERTY
+      IMPORTED_LOCATION "${ZLIB_NG_LIBRARIES}")
+  endif()
+endif()
 
 #[[
 Copyright https://github.com/zlib-ng/minizip-ng, 2021
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/examples/CMakeLists.txt 
new/blosc2-2.2.7/blosc2/c-blosc2/examples/CMakeLists.txt
--- old/blosc2-2.2.6/blosc2/c-blosc2/examples/CMakeLists.txt    2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/examples/CMakeLists.txt    2023-09-13 
10:42:51.000000000 +0200
@@ -1,7 +1,7 @@
 # Examples with correspondingly named source files
 set(EXAMPLES contexts instrument_codec delta_schunk_ex multithread simple 
frame_metalayers
     noinit find_roots schunk_simple frame_simple schunk_postfilter urcodecs 
urfilters frame_vlmetalayers
-    sframe_simple frame_backed_schunk compress_file frame_offset 
frame_roundtrip get_set_slice)
+    sframe_simple frame_backed_schunk compress_file frame_offset 
frame_roundtrip get_set_slice get_blocksize)
 
 add_subdirectory(b2nd)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/blosc2-2.2.6/blosc2/c-blosc2/examples/get_blocksize.c 
new/blosc2-2.2.7/blosc2/c-blosc2/examples/get_blocksize.c
--- old/blosc2-2.2.6/blosc2/c-blosc2/examples/get_blocksize.c   1970-01-01 
01:00:00.000000000 +0100
+++ new/blosc2-2.2.7/blosc2/c-blosc2/examples/get_blocksize.c   2023-09-13 
10:42:51.000000000 +0200
@@ -0,0 +1,72 @@
+/*
+  Copyright (c) 2021  The Blosc Development Team <bl...@blosc.org>
+  https://blosc.org
+  License: BSD 3-Clause (see LICENSE.txt)
+
+  Example program demonstrating the use of a Blosc from C code.
+
+  To compile this program:
+
+  $ gcc -O get_blocksize.c -o get_blocksize -lblosc2
+
+  To run:
+
+  $ ./get_blocksize
+  Blosc version info: 2.10.3.dev ($Date:: 2023-08-19 #$)
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 16384
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 131072
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 65536
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 131072
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 262144
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 262144
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 524288
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 1048576
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 524288
+  Compression: 10000000 -> 32 (312500.0x)
+  osize, csize, blocksize: 10000000, 32, 2097152
+
+  Process finished with exit code 0
+
+*/
+
+#include <stdio.h>
+#include "blosc2.h"
+
+
+int main(void) {
+  blosc2_init();
+
+  static uint8_t data_dest[BLOSC2_MAX_OVERHEAD];
+  blosc2_cparams cparams = BLOSC2_CPARAMS_DEFAULTS;
+  cparams.typesize = sizeof(float);
+  cparams.compcode = BLOSC_ZSTD;
+
+  printf("Blosc version info: %s (%s)\n",
+         BLOSC2_VERSION_STRING, BLOSC2_VERSION_DATE);
+
+  /* Do the actual compression */
+  for (int clevel=0; clevel < 10; clevel++) {
+    cparams.clevel = clevel;
+    cparams.splitmode = clevel % 2;
+    int isize = 10 * 1000 * 1000;
+    int osize, csize, blocksize;
+    csize = blosc2_chunk_zeros(cparams, isize, data_dest, BLOSC2_MAX_OVERHEAD);
+    printf("Compression: %d -> %d (%.1fx)\n", isize, csize, (1. * isize) / 
csize);
+
+    BLOSC_ERROR(blosc2_cbuffer_sizes(data_dest, &osize, &csize, &blocksize));
+    printf("osize, csize, blocksize: %d, %d, %d\n", osize, csize, blocksize);
+  }
+
+  blosc2_destroy();
+
+  return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/blosc2-2.2.6/blosc2/c-blosc2/include/blosc2/blosc2-export.h 
new/blosc2-2.2.7/blosc2/c-blosc2/include/blosc2/blosc2-export.h
--- old/blosc2-2.2.6/blosc2/c-blosc2/include/blosc2/blosc2-export.h     
2023-08-01 14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/include/blosc2/blosc2-export.h     
2023-09-13 10:42:51.000000000 +0200
@@ -33,11 +33,11 @@
   #define BLOSC_EXPORT
 #endif  /* defined(BLOSC_SHARED_LIBRARY) */
 
-#if defined(__GNUC__) || defined(__clang__)
+#if (defined(__GNUC__) || defined(__clang__)) && !defined(__MINGW32__)
   #define BLOSC_NO_EXPORT __attribute__((visibility("hidden")))
 #else
   #define BLOSC_NO_EXPORT
-#endif  /* defined(__GNUC__) || defined(__clang__) */
+#endif  /* (defined(__GNUC__) || defined(__clang__)) && !defined(__MINGW32__) 
*/
 
 /* When testing, export everything to make it easier to implement tests. */
 #if defined(BLOSC_TESTING)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/blosc2-2.2.6/blosc2/c-blosc2/include/blosc2/codecs-registry.h 
new/blosc2-2.2.7/blosc2/c-blosc2/include/blosc2/codecs-registry.h
--- old/blosc2-2.2.6/blosc2/c-blosc2/include/blosc2/codecs-registry.h   
2023-08-01 14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/include/blosc2/codecs-registry.h   
2023-09-13 10:42:51.000000000 +0200
@@ -22,6 +22,7 @@
     BLOSC_CODEC_ZFP_FIXED_ACCURACY = 33,
     BLOSC_CODEC_ZFP_FIXED_PRECISION = 34,
     BLOSC_CODEC_ZFP_FIXED_RATE = 35,
+    BLOSC_CODEC_OPENHTJ2K = 36,
 };
 
 void register_codecs(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/c-blosc2/include/blosc2.h 
new/blosc2-2.2.7/blosc2/c-blosc2/include/blosc2.h
--- old/blosc2-2.2.6/blosc2/c-blosc2/include/blosc2.h   2023-08-01 
14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/include/blosc2.h   2023-09-13 
10:42:51.000000000 +0200
@@ -83,10 +83,10 @@
 /* Version numbers */
 #define BLOSC2_VERSION_MAJOR    2    /* for major interface/format changes  */
 #define BLOSC2_VERSION_MINOR    10   /* for minor interface/format changes  */
-#define BLOSC2_VERSION_RELEASE  1    /* for tweaks, bug-fixes, or development 
*/
+#define BLOSC2_VERSION_RELEASE  3    /* for tweaks, bug-fixes, or development 
*/
 
-#define BLOSC2_VERSION_STRING   "2.10.1"  /* string version.  Sync with above! 
*/
-#define BLOSC2_VERSION_DATE     "$Date:: 2023-08-01 #$"    /* date version */
+#define BLOSC2_VERSION_STRING   "2.10.3"  /* string version.  Sync with above! 
*/
+#define BLOSC2_VERSION_DATE     "$Date:: 2023-09-13 #$"    /* date version */
 
 
 /* The maximum number of dimensions for Blosc2 NDim arrays */
@@ -121,6 +121,13 @@
         }                                           \
     } while (0)
 
+#define BLOSC_INFO(msg, ...)                        \
+    do {                                            \
+        const char *__e = getenv("BLOSC_INFO");     \
+        if (!__e) { break; }                        \
+        fprintf(stderr, "[INFO] - " msg "\n", ##__VA_ARGS__); \
+    } while(0)
+
 
 /* The VERSION_FORMAT symbols below should be just 1-byte long */
 enum {
@@ -287,7 +294,7 @@
   BLOSC2_GLOBAL_REGISTERED_CODECS_START = 32,
   BLOSC2_GLOBAL_REGISTERED_CODECS_STOP = 159,
   //!< Blosc-registered codecs must be between 31 - 159.
-  BLOSC2_GLOBAL_REGISTERED_CODECS = 1,
+  BLOSC2_GLOBAL_REGISTERED_CODECS = 5,
     //!< Number of Blosc-registered codecs at the moment.
   BLOSC2_USER_REGISTERED_CODECS_START = 160,
   BLOSC2_USER_REGISTERED_CODECS_STOP = 255,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/blosc2-2.2.6/blosc2/c-blosc2/plugins/codecs/codecs-registry.c 
new/blosc2-2.2.7/blosc2/c-blosc2/plugins/codecs/codecs-registry.c
--- old/blosc2-2.2.6/blosc2/c-blosc2/plugins/codecs/codecs-registry.c   
2023-08-01 14:34:50.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/c-blosc2/plugins/codecs/codecs-registry.c   
2023-09-13 10:42:51.000000000 +0200
@@ -47,4 +47,13 @@
   zfp_rate.decoder = &zfp_rate_decompress;
   zfp_rate.compname = "zfp_rate";
   register_codec_private(&zfp_rate);
+
+  blosc2_codec openhtj2k;
+  openhtj2k.compcode = BLOSC_CODEC_OPENHTJ2K;
+  openhtj2k.version = 1;
+  openhtj2k.complib = BLOSC_CODEC_OPENHTJ2K;
+  openhtj2k.encoder = NULL;
+  openhtj2k.decoder = NULL;
+  openhtj2k.compname = "openhtj2k";
+  register_codec_private(&openhtj2k);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/core.py 
new/blosc2-2.2.7/blosc2/core.py
--- old/blosc2-2.2.6/blosc2/core.py     2023-08-01 14:34:49.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/core.py     2023-09-13 10:42:50.000000000 +0200
@@ -88,7 +88,7 @@
     -----
     The `cname` and `shuffle` parameters in python-blosc API have been 
replaced by :paramref:`codec` and
     :paramref:`filter` respectively.
-    To set :paramref:`codec` and :paramref:`fitler`, the enumerates 
:class:`Codec` and :class:`Filter`
+    To set :paramref:`codec` and :paramref:`filter`, the enumerates 
:class:`Codec` and :class:`Filter`
     have to be used instead of the python-blosc API variables such as 
`blosc.SHUFFLE` for :paramref:`filter`
     or strings like "blosclz" for :paramref:`codec`.
 
@@ -222,7 +222,7 @@
     -----
     The `cname` and `shuffle` parameters in python-blosc API have been 
replaced by :paramref:`codec` and
     :paramref:`filter` respectively.
-    To set :paramref:`codec` and :paramref:`fitler`, the enumerates 
:class:`Codec` and :class:`Filter`
+    To set :paramref:`codec` and :paramref:`filter`, the enumerates 
:class:`Codec` and :class:`Filter`
     have to be used instead of the python-blosc API variables such as 
`blosc.SHUFFLE` for :paramref:`filter`
     or strings like "blosclz" for :paramref:`codec`.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2/version.py 
new/blosc2-2.2.7/blosc2/version.py
--- old/blosc2-2.2.6/blosc2/version.py  2023-08-01 14:36:58.000000000 +0200
+++ new/blosc2-2.2.7/blosc2/version.py  2023-09-13 10:45:13.000000000 +0200
@@ -1 +1 @@
-__version__ = "2.2.6"
+__version__ = "2.2.7"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2.egg-info/PKG-INFO 
new/blosc2-2.2.7/blosc2.egg-info/PKG-INFO
--- old/blosc2-2.2.6/blosc2.egg-info/PKG-INFO   2023-08-01 14:36:58.000000000 
+0200
+++ new/blosc2-2.2.7/blosc2.egg-info/PKG-INFO   2023-09-13 10:45:13.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: blosc2
-Version: 2.2.6
+Version: 2.2.7
 Summary: Python wrapper for the C-Blosc2 library
 Author-email: Blosc Development Team <bl...@blosc.org>
 Maintainer-email: Blosc Development Team <bl...@blosc.org>
@@ -24,6 +24,10 @@
 Requires-Python: <4,>=3.8
 Description-Content-Type: text/x-rst
 License-File: LICENSE.txt
+Requires-Dist: msgpack
+Requires-Dist: ndindex>=1.4
+Requires-Dist: numpy>=1.20.3
+Requires-Dist: py-cpuinfo
 
 =============
 Python-Blosc2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/blosc2-2.2.6/blosc2.egg-info/SOURCES.txt 
new/blosc2-2.2.7/blosc2.egg-info/SOURCES.txt
--- old/blosc2-2.2.6/blosc2.egg-info/SOURCES.txt        2023-08-01 
14:36:58.000000000 +0200
+++ new/blosc2-2.2.7/blosc2.egg-info/SOURCES.txt        2023-09-13 
10:45:13.000000000 +0200
@@ -296,6 +296,7 @@
 blosc2/c-blosc2/examples/frame_roundtrip.c
 blosc2/c-blosc2/examples/frame_simple.c
 blosc2/c-blosc2/examples/frame_vlmetalayers.c
+blosc2/c-blosc2/examples/get_blocksize.c
 blosc2/c-blosc2/examples/get_set_slice.c
 blosc2/c-blosc2/examples/instrument_codec.c
 blosc2/c-blosc2/examples/many_compressors.c

Reply via email to