Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-qt5-sip for openSUSE:Factory 
checked in at 2026-10-18 19:22:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-qt5-sip (Old)
 and      /work/SRC/openSUSE:Factory/.python-qt5-sip.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-qt5-sip"

Sun Oct 18 19:22:18 2026 rev:16 rq:1385950 version:12.20.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-qt5-sip/python-qt5-sip.changes    
2026-10-01 17:00:15.939238541 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-qt5-sip.new.3698736/python-qt5-sip.changes   
    2026-10-18 19:22:29.436687201 +0200
@@ -1,0 +2,11 @@
+Sun Oct 18 09:03:43 UTC 2026 - Ben Greiner <[email protected]>
+
+- Update to ABI 12.20
+  * A new plugin API has been added. This allows bindings authors
+    to extend SIP, for example by adding new directives and
+    annotations.
+  * As a consequence all hard-coded support for PyQt has been
+    removed.
+  * See also python-sip6 package
+
+-------------------------------------------------------------------

Old:
----
  pyqt5_sip-12.19.0.tar.gz

New:
----
  pyqt5_sip-12.20.0.tar.gz

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

Other differences:
------------------
++++++ python-qt5-sip.spec ++++++
--- /var/tmp/diff_new_pack.XEWovv/_old  2026-10-18 19:22:30.188718379 +0200
+++ /var/tmp/diff_new_pack.XEWovv/_new  2026-10-18 19:22:30.190718462 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-qt5-sip
-Version:        12.19.0
+Version:        12.20.0
 Release:        0
 Summary:        The sip module support for PyQt5
 License:        BSD-2-Clause

++++++ pyqt5_sip-12.19.0.tar.gz -> pyqt5_sip-12.20.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyqt5_sip-12.19.0/PKG-INFO 
new/pyqt5_sip-12.20.0/PKG-INFO
--- old/pyqt5_sip-12.19.0/PKG-INFO      2026-08-02 13:20:00.472665800 +0200
+++ new/pyqt5_sip-12.20.0/PKG-INFO      2026-10-04 13:59:12.935244000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: PyQt5_sip
-Version: 12.19.0
+Version: 12.20.0
 Summary: The sip module support for PyQt5
 Home-page: https://github.com/Python-SIP/sip
 Author: Phil Thompson
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyqt5_sip-12.19.0/PyQt5_sip.egg-info/PKG-INFO 
new/pyqt5_sip-12.20.0/PyQt5_sip.egg-info/PKG-INFO
--- old/pyqt5_sip-12.19.0/PyQt5_sip.egg-info/PKG-INFO   2026-08-02 
13:20:00.000000000 +0200
+++ new/pyqt5_sip-12.20.0/PyQt5_sip.egg-info/PKG-INFO   2026-10-04 
13:59:12.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: PyQt5_sip
-Version: 12.19.0
+Version: 12.20.0
 Summary: The sip module support for PyQt5
 Home-page: https://github.com/Python-SIP/sip
 Author: Phil Thompson
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyqt5_sip-12.19.0/setup.py 
new/pyqt5_sip-12.20.0/setup.py
--- old/pyqt5_sip-12.19.0/setup.py      2026-08-02 13:20:00.000000000 +0200
+++ new/pyqt5_sip-12.20.0/setup.py      2026-10-04 13:59:12.000000000 +0200
@@ -16,7 +16,7 @@
 # Do the setup.
 setup(
         name='PyQt5_sip',
-        version='12.19.0',
+        version='12.20.0',
         license='BSD-2-Clause',
         python_requires='>=3.10',
         ext_modules=[module]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyqt5_sip-12.19.0/sip.h new/pyqt5_sip-12.20.0/sip.h
--- old/pyqt5_sip-12.19.0/sip.h 2026-08-02 13:20:00.000000000 +0200
+++ new/pyqt5_sip-12.20.0/sip.h 2026-10-04 13:59:12.000000000 +0200
@@ -38,13 +38,25 @@
 
 /* The version of the ABI. */
 #define SIP_ABI_MAJOR_VERSION       12
-#define SIP_ABI_MINOR_VERSION       19
+#define SIP_ABI_MINOR_VERSION       20
 #define SIP_MODULE_PATCH_VERSION    0
 
 
 /*
  * The change history of the ABI.
  *
+ * v12.20
+ *  - Added sipGetAssignmentFunction().
+ *  - Added sipGetPyTypeRef() and deprecated sipTypeAsPyTypeObject().
+ *  - Added sipGetFrameRef() and deprecated sipGetFrame().
+ *  - Added sipObjectGuard, sipObjectGuard_New(),
+ *    sipObjectGuard_GetModuleState(), sipObjectGuard_GetRef() and
+ *    sipObjectGuard_Release().
+ *  - Exposed sipParseResultEx() as sipParseResultObject().
+ *  - Added definitions of sipGetModuleState(), sipGetModuleStateByType(),
+ *    sipGetVoidPtrType(), sipMakeAbsolute() and sipModuleState to aid porting
+ *    to ABI v14.
+ *
  * v12.19
  *  - Added support for Python v3.15.
  *  - The format use to pickle wrapped types has changed so that it is more
@@ -100,8 +112,8 @@
 
 
 /* The version of the code generator. */
-#define SIP_VERSION                 0x61000
-#define SIP_VERSION_STR             "6.16.0"
+#define SIP_VERSION                 0x61100
+#define SIP_VERSION_STR             "6.17.0"
 
 /* These are all dependent on the user-specified name of the sip module. */
 #define _SIP_MODULE_FQ_NAME         "PyQt5.sip"
@@ -196,6 +208,10 @@
 #define SIP_UNBLOCK_THREADS PyGILState_Release(sipGIL);}
 
 
+/* The sipObjectGuard implementation is actually the object itself. */
+typedef PyObject sipObjectGuard;
+
+
 /*
  * Forward declarations of types.
  */
@@ -234,9 +250,16 @@
 
 
 /*
- * The following make it easier to write code that supports ABI v14.
+ * The following make it easier to write code that supports ABI v14.  Note that
+ * sipVoidPtr_Type is just used as a convenient non-NULL pointer.
  */
-#define sipType_Invalid NULL
+#define sipGetModuleState()                 ((sipModuleState *)sipVoidPtr_Type)
+#define sipGetModuleStateByType(type)       ((sipModuleState *)sipVoidPtr_Type)
+#define sipGetVoidPtrType()                 sipVoidPtr_Type
+#define sipMakeAbsolute(id)                 id
+#define sipObjectGuard_GetModuleState(g)    ((sipModuleState *)sipVoidPtr_Type)
+#define sipType_Invalid                     NULL
+struct sipModuleState;
 typedef const sipTypeDef *sipTypeID;
 
 
@@ -304,6 +327,9 @@
 typedef int (*sipNewUserTypeFunc)(sipWrapperType *);
 typedef void (*sipWrapperVisitorFunc)(sipSimpleWrapper *, void *);
 
+/* In this ABI an error handler is the function pointer. */
+typedef sipVirtErrorHandlerFunc sipVirtErrorHandler;
+
 
 #if !defined(Py_LIMITED_API)
 /*
@@ -790,8 +816,8 @@
     /* The Python type object. */
     PyTypeObject *td_py_type;
 
-    /* Any additional fixed data generated by a plugin. */
-    void *td_plugin_data;
+    /* Any additional immutable data generated by a plugin. */
+    const void *td_plugin_data;
 };
 
 
@@ -1126,7 +1152,10 @@
     /* The imported modules. */
     sipImportedModuleDef *em_imports;
 
-    /* The optional Qt support API. */
+    /*
+     * The optional Qt support API.  This will be an unused 'void *' in SIP
+     * v7.
+     */
     struct _sipQtAPI *em_qt_api;
 
     /* The number of types. */
@@ -1443,7 +1472,7 @@
     PyObject *(*api_build_result)(int *isErr, const char *fmt, ...);
     PyObject *(*api_call_method)(int *isErr, PyObject *method, const char *fmt,
             ...);
-    void (*api_call_procedure_method)(sip_gilstate_t, sipVirtErrorHandlerFunc,
+    void (*api_call_procedure_method)(sip_gilstate_t, sipVirtErrorHandler,
             sipSimpleWrapper *, PyObject *, const char *, ...);
     PyObject *(*api_connect_rx)(PyObject *txObj, const char *sig,
             PyObject *rxObj, const char *slot, int type);
@@ -1531,7 +1560,7 @@
     int (*api_get_time)(PyObject *, sipTimeDef *);
     PyObject *(*api_from_time)(const sipTimeDef *);
     int (*api_is_user_type)(const sipWrapperType *);
-    struct _frame *(*api_get_frame)(int);
+    PyFrameObject *(*api_get_frame)(int);
     int (*api_check_plugin_for_type)(const sipTypeDef *, const char *);
     PyObject *(*api_unicode_new)(Py_ssize_t, unsigned, int *, void **);
     void (*api_unicode_write)(int, void *, int, unsigned);
@@ -1600,10 +1629,10 @@
             PyObject *sipKwdArgs, const char **kwdlist, PyObject **unused,
             const char *fmt, ...);
     void (*api_add_exception)(sipErrorState es, PyObject **parseErrp);
-    int (*api_parse_result_ex)(sip_gilstate_t, sipVirtErrorHandlerFunc,
+    int (*api_parse_result_ex)(sip_gilstate_t, sipVirtErrorHandler,
             sipSimpleWrapper *, PyObject *method, PyObject *res,
             const char *fmt, ...);
-    void (*api_call_error_handler)(sipVirtErrorHandlerFunc,
+    void (*api_call_error_handler)(sipVirtErrorHandler,
             sipSimpleWrapper *, sip_gilstate_t);
     int (*api_init_mixin)(PyObject *self, PyObject *args, PyObject *kwds,
             const sipClassTypeDef *ctd);
@@ -1704,13 +1733,24 @@
      */
     int (*api_deprecated_12_16)(const char *classname, const char *method, 
const char *message);
 
+    /*
+     * The following are part of the public API.
+     */
+    PyFrameObject *(*api_get_frame_ref)(int);
+    PyTypeObject *(*api_get_py_type_ref)(const sipTypeDef *td);
+    sipAssignFunc (*api_get_assignment_function)(const sipTypeDef *td);
+    sipObjectGuard *(*api_object_guard_new)(PyObject *obj);
+    PyObject *(*api_object_guard_get_ref)(sipObjectGuard *obj_guard,
+            sip_gilstate_t *gs_p);
+    void (*api_object_guard_release)(sipObjectGuard *obj_guard);
 } sipAPIDef;
 
 const sipAPIDef *sip_init_library(PyObject *mod_dict);
 
 
 /*
- * The API implementing the optional Qt support.
+ * The API implementing the optional Qt support.  This will be removed in SIP
+ * v7.
  */
 typedef struct _sipQtAPI {
     sipTypeDef **qt_qobject;
@@ -1853,8 +1893,8 @@
 
 
 /*
- * The following are PyQt4-specific extensions.  In SIP v5 they will be pushed
- * out to a plugin supplied by PyQt4.
+ * The following are PyQt4-specific extensions.  They will be removed in SIP
+ * v7.
  */
 
 /*
@@ -1907,8 +1947,8 @@
 
 
 /*
- * The following are PyQt5-specific extensions.  In SIP v5 they will be pushed
- * out to a plugin supplied by PyQt5.
+ * The following are PyQt5-specific extensions.  They will be removed in SIP
+ * v7.
  */
 
 /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyqt5_sip-12.19.0/siplib.c 
new/pyqt5_sip-12.20.0/siplib.c
--- old/pyqt5_sip-12.19.0/siplib.c      2026-08-02 13:20:00.000000000 +0200
+++ new/pyqt5_sip-12.20.0/siplib.c      2026-10-04 13:59:12.000000000 +0200
@@ -244,7 +244,7 @@
 static PyObject *sip_api_call_method(int *isErr, PyObject *method,
         const char *fmt, ...);
 static void sip_api_call_procedure_method(sip_gilstate_t gil_state,
-        sipVirtErrorHandlerFunc error_handler, sipSimpleWrapper *py_self,
+        sipVirtErrorHandler error_handler, sipSimpleWrapper *py_self,
         PyObject *method, const char *fmt, ...);
 static Py_ssize_t sip_api_convert_from_sequence_index(Py_ssize_t idx,
         Py_ssize_t len);
@@ -267,11 +267,11 @@
 static sipWrapperType *sip_api_map_string_to_class(const char *typeString,
         const sipStringTypeClassMap *map, int maplen);
 static int sip_api_parse_result_ex(sip_gilstate_t gil_state,
-        sipVirtErrorHandlerFunc error_handler, sipSimpleWrapper *py_self,
+        sipVirtErrorHandler error_handler, sipSimpleWrapper *py_self,
         PyObject *method, PyObject *res, const char *fmt, ...);
 static int sip_api_parse_result(int *isErr, PyObject *method, PyObject *res,
         const char *fmt, ...);
-static void sip_api_call_error_handler(sipVirtErrorHandlerFunc error_handler,
+static void sip_api_call_error_handler(sipVirtErrorHandler error_handler,
         sipSimpleWrapper *py_self, sip_gilstate_t gil_state);
 static void sip_api_trace(unsigned mask,const char *fmt,...);
 static void sip_api_transfer_back(PyObject *self);
@@ -374,7 +374,8 @@
 static int sip_api_get_time(PyObject *obj, sipTimeDef *time);
 static PyObject *sip_api_from_time(const sipTimeDef *time);
 static int sip_api_is_user_type(const sipWrapperType *wt);
-static struct _frame *sip_api_get_frame(int);
+static PyFrameObject *sip_api_get_frame(int depth);
+static PyFrameObject *sip_api_get_frame_ref(int depth);
 static int sip_api_check_plugin_for_type(const sipTypeDef *td,
         const char *name);
 static PyObject *sip_api_unicode_new(Py_ssize_t len, unsigned maxchar,
@@ -396,6 +397,12 @@
         void *closure);
 static int sip_api_register_exit_notifier(PyMethodDef *md);
 static sipExceptionHandler sip_api_next_exception_handler(void **statep);
+static PyTypeObject *sip_api_get_py_type_ref(const sipTypeDef *td);
+static sipAssignFunc sip_api_get_assignment_function(const sipTypeDef *td);
+static sipObjectGuard *sip_api_object_guard_new(PyObject *obj);
+static PyObject *sip_api_object_guard_get_ref(sipObjectGuard *obj_guard,
+        sip_gilstate_t *gs_p);
+static void sip_api_object_guard_release(sipObjectGuard *obj_guard);
 
 
 /*
@@ -608,6 +615,15 @@
      * The following are part of the private API.
      */
     sip_api_deprecated_12_16,
+    /*
+     * The following are part of the public API.
+     */
+    sip_api_get_frame_ref,
+    sip_api_get_py_type_ref,
+    sip_api_get_assignment_function,
+    sip_api_object_guard_new,
+    sip_api_object_guard_get_ref,
+    sip_api_object_guard_release,
 };
 
 
@@ -2240,7 +2256,7 @@
  * value and handle the result..
  */
 static void sip_api_call_procedure_method(sip_gilstate_t gil_state,
-        sipVirtErrorHandlerFunc error_handler, sipSimpleWrapper *py_self,
+        sipVirtErrorHandler error_handler, sipSimpleWrapper *py_self,
         PyObject *method, const char *fmt, ...)
 {
     PyObject *res;
@@ -2696,7 +2712,7 @@
  * Parse a result object based on a format string.
  */
 static int sip_api_parse_result_ex(sip_gilstate_t gil_state,
-        sipVirtErrorHandlerFunc error_handler, sipSimpleWrapper *py_self,
+        sipVirtErrorHandler error_handler, sipSimpleWrapper *py_self,
         PyObject *method, PyObject *res, const char *fmt, ...)
 {
     int rc;
@@ -2731,7 +2747,7 @@
  * Call a virtual error handler.  This is called with the GIL and from the
  * thread that raised the error.
  */
-static void sip_api_call_error_handler(sipVirtErrorHandlerFunc error_handler,
+static void sip_api_call_error_handler(sipVirtErrorHandler error_handler,
         sipSimpleWrapper *py_self, sip_gilstate_t sipGILState)
 {
     if (error_handler != NULL)
@@ -7290,6 +7306,20 @@
 
 
 /*
+ * Return a new reference to the Python type object for a generated type or
+ * NULL if there was an error.
+ */
+static PyTypeObject *sip_api_get_py_type_ref(const sipTypeDef *td)
+{
+    PyTypeObject *py_type = td->td_py_type;
+
+    Py_INCREF(py_type);
+
+    return py_type;
+}
+
+
+/*
  * Return the generated type structure corresponding to the scope of the given
  * type.
  */
@@ -7439,6 +7469,22 @@
 
 
 /*
+ * Return the assignment helper function for a type or NULL if it doesn't have
+ * one.
+ */
+static sipAssignFunc sip_api_get_assignment_function(const sipTypeDef *td)
+{
+    if (sipTypeIsClass(td))
+        return ((sipClassTypeDef *)td)->ctd_assign;
+
+    if (sipTypeIsMapped(td))
+        return ((sipMappedTypeDef *)td)->mtd_assign;
+
+    return NULL;
+}
+
+
+/*
  * Register a getter for unknown attributes.
  */
 static int sip_api_register_attribute_getter(const sipTypeDef *td,
@@ -7952,7 +7998,12 @@
 
         if (owner == NULL)
         {
-            /* There is no owner. */
+            /*
+             * There is no owner.  This code implements
+             * 'sip.transferto(obj, None)' but it's likely that the correct
+             * implementation is that in the following block.  We choose to
+             * leave this as it is to avoid breaking user code.
+             */
 
             if (sipCppHasRef(sw))
             {
@@ -7972,9 +8023,8 @@
             /*
              * The owner is a C++ instance and not a Python object (ie. there
              * is no parent) so there is an explicit extra reference to keep
-             * this Python object alive.  Note that there is no way to
-             * specify this from a .sip file - it is useful when embedding in
-             * C/C++ applications.
+             * this Python object alive.  This code implements the
+             * '/TransferThis/' function annotation.
              */
 
             if (!sipCppHasRef(sw))
@@ -9113,6 +9163,7 @@
 {
     sipWrapper *owner;
     sipConvertFromFunc cfrom;
+    PyObject *res;
 
     /* Handle None. */
     if (cpp == NULL)
@@ -9127,9 +9178,7 @@
 
     if (cfrom != NULL)
     {
-        PyObject *res = cfrom(cpp, transferObj);
-
-        if (res != NULL)
+        if ((res = cfrom(cpp, transferObj)) != NULL)
         {
             /*
              * We no longer need the C/C++ instance so we release it (unless
@@ -9144,6 +9193,25 @@
         return res;
     }
 
+    /*
+     * Check to see if we already have a wrapper.  Although the context that
+     * this called is expecting a new C++ instance, the instance may have been
+     * created by a Python reimplementation of a C++ virtual, ie. there is
+     * already a wrapper and it may have Python-only attributes that we want to
+     * preserve.
+     */
+    if ((res = sip_api_get_pyobject(cpp, td)) != NULL)
+    {
+        Py_INCREF(res);
+
+        if (transferObj == NULL || transferObj == Py_None)
+            sip_api_transfer_back(res);
+        else
+            sip_api_transfer_to(res, transferObj);
+
+        return res;
+    }
+
     /* Apply any sub-class convertor. */
     if (sipTypeHasSCC(td))
         td = convertSubClass(td, &cpp);
@@ -12622,7 +12690,7 @@
 
 
 /*
- * Get the name of a Python type (on behalf of the limited API).
+ * Get the unqualified name of a Python type.
  */
 static const char *sip_api_py_type_name(const PyTypeObject *py_type)
 {
@@ -12829,6 +12897,31 @@
 
 
 /*
+ * Return a strong reference to a frame from the execution stack.
+ */
+PyFrameObject *sip_api_get_frame_ref(int depth)
+{
+#if defined(PYPY_VERSION)
+    /* PyPy only supports a depth of 0. */
+    return NULL;
+#else
+    PyFrameObject *frame = (PyFrameObject *)Py_XNewRef(PyEval_GetFrame());
+
+    while (frame != NULL && depth > 0)
+    {
+        PyFrameObject *back_frame = PyFrame_GetBack(frame);
+        Py_DECREF(frame);
+        frame = back_frame;
+
+        --depth;
+    }
+
+    return frame;
+#endif
+}
+
+
+/*
  * Check if a type was generated using the given plugin.  Note that, although
  * this is part of the public API it is undocumented on purpose.
  */
@@ -13358,3 +13451,38 @@
 
     return em->em_exception_handler;
 }
+
+
+/*
+ * Create a new guard for an object.  Returns NULL with an exception raised if
+ * there was an error.
+ */
+static sipObjectGuard *sip_api_object_guard_new(PyObject *obj)
+{
+    /* In this implementation the guard is the object. */
+    return Py_NewRef(obj);
+}
+
+
+/*
+ * Return a new reference to a guarded object and a sip_gilstate_t for the
+ * (now attached) thread state.  The token must be passed to SIP_RELEASE_GIL()
+ * once the reference to the guarded object has been released.  This may be
+ * called without an attached thread state.
+ */
+static PyObject *sip_api_object_guard_get_ref(sipObjectGuard *obj_guard,
+        sip_gilstate_t *gs_p)
+{
+    *gs_p = PyGILState_Ensure();
+
+    return Py_NewRef(obj_guard);
+}
+
+
+/*
+ * Release a guarded object.
+ */
+static void sip_api_object_guard_release(sipObjectGuard *obj_guard)
+{
+    Py_DECREF(obj_guard);
+}

++++++ support-python3.6.patch ++++++
--- /var/tmp/diff_new_pack.XEWovv/_old  2026-10-18 19:22:30.287722484 +0200
+++ /var/tmp/diff_new_pack.XEWovv/_new  2026-10-18 19:22:30.290722608 +0200
@@ -1,7 +1,8 @@
-diff -ur pyqt5_sip-12.19.0/PKG-INFO pyqt5_sip-12.19.0_fix/PKG-INFO
---- pyqt5_sip-12.19.0/PKG-INFO 2026-08-02 13:20:00.472665800 +0200
-+++ pyqt5_sip-12.19.0_fix/PKG-INFO     2026-09-26 17:48:51.297267271 +0200
-@@ -9,7 +9,7 @@
+Index: pyqt5_sip-12.20.0/PKG-INFO
+===================================================================
+--- pyqt5_sip-12.20.0.orig/PKG-INFO
++++ pyqt5_sip-12.20.0/PKG-INFO
+@@ -9,7 +9,7 @@ License: BSD-2-Clause
  Platform: X11
  Platform: macOS
  Platform: Windows
@@ -10,10 +11,11 @@
  License-File: LICENSE
  Dynamic: license
  Dynamic: license-file
-diff -ur pyqt5_sip-12.19.0/PyQt5_sip.egg-info/PKG-INFO 
pyqt5_sip-12.19.0_fix/PyQt5_sip.egg-info/PKG-INFO
---- pyqt5_sip-12.19.0/PyQt5_sip.egg-info/PKG-INFO      2026-08-02 
13:20:00.000000000 +0200
-+++ pyqt5_sip-12.19.0_fix/PyQt5_sip.egg-info/PKG-INFO  2026-09-26 
17:48:51.297319972 +0200
-@@ -9,7 +9,7 @@
+Index: pyqt5_sip-12.20.0/PyQt5_sip.egg-info/PKG-INFO
+===================================================================
+--- pyqt5_sip-12.20.0.orig/PyQt5_sip.egg-info/PKG-INFO
++++ pyqt5_sip-12.20.0/PyQt5_sip.egg-info/PKG-INFO
+@@ -9,7 +9,7 @@ License: BSD-2-Clause
  Platform: X11
  Platform: macOS
  Platform: Windows
@@ -22,20 +24,22 @@
  License-File: LICENSE
  Dynamic: license
  Dynamic: license-file
-diff -ur pyqt5_sip-12.19.0/setup.py pyqt5_sip-12.19.0_fix/setup.py
---- pyqt5_sip-12.19.0/setup.py 2026-08-02 13:20:00.000000000 +0200
-+++ pyqt5_sip-12.19.0_fix/setup.py     2026-09-26 17:48:51.297488860 +0200
-@@ -18,6 +18,6 @@
+Index: pyqt5_sip-12.20.0/setup.py
+===================================================================
+--- pyqt5_sip-12.20.0.orig/setup.py
++++ pyqt5_sip-12.20.0/setup.py
+@@ -18,6 +18,6 @@ setup(
          name='PyQt5_sip',
-         version='12.19.0',
+         version='12.20.0',
          license='BSD-2-Clause',
 -        python_requires='>=3.10',
 +        python_requires='>=3.6',
          ext_modules=[module]
       )
-diff -ur pyqt5_sip-12.19.0/sip.h pyqt5_sip-12.19.0_fix/sip.h
---- pyqt5_sip-12.19.0/sip.h    2026-08-02 13:20:00.000000000 +0200
-+++ pyqt5_sip-12.19.0_fix/sip.h        2026-09-26 17:48:51.300637452 +0200
+Index: pyqt5_sip-12.20.0/sip.h
+===================================================================
+--- pyqt5_sip-12.20.0.orig/sip.h
++++ pyqt5_sip-12.20.0/sip.h
 @@ -14,8 +14,8 @@
  #include <Python.h>
  
@@ -47,10 +51,11 @@
  #endif
  
  
-diff -ur pyqt5_sip-12.19.0/siplib.c pyqt5_sip-12.19.0_fix/siplib.c
---- pyqt5_sip-12.19.0/siplib.c 2026-08-02 13:20:00.000000000 +0200
-+++ pyqt5_sip-12.19.0_fix/siplib.c     2026-09-26 17:49:17.398305059 +0200
-@@ -1022,6 +1022,10 @@
+Index: pyqt5_sip-12.20.0/siplib.c
+===================================================================
+--- pyqt5_sip-12.20.0.orig/siplib.c
++++ pyqt5_sip-12.20.0/siplib.c
+@@ -1038,6 +1038,10 @@ const sipAPIDef *sip_init_library(PyObje
      PyObject *obj;
      PyMethodDef *md;
  
@@ -61,7 +66,7 @@
      /* Add the SIP version number. */
      obj = PyLong_FromLong(SIP_VERSION);
  
-@@ -13305,12 +13309,16 @@
+@@ -13398,12 +13402,16 @@ int sip_api_convert_from_slice_object(Py
          Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step,
          Py_ssize_t *slicelength)
  {

Reply via email to