Built and tested ok with SWIG 4.2.1 and SWIG 4.4.1 on amd64 and i386.

diff -Nurp /usr/ports/comms/sigrok/libsigrok/Makefile ./Makefile
--- /usr/ports/comms/sigrok/libsigrok/Makefile  Wed Nov  5 05:44:56 2025
+++ ./Makefile  Sat Jan 24 10:21:57 2026
@@ -3,7 +3,7 @@ COMMENT =               sigrok hardware driver library
 SIGROK_PROJECT =       libsigrok
 SIGROK_VERSION =       0.5.2
 MODPY_DISTV =          ${SIGROK_VERSION}
-REVISION =             10
+REVISION =             11
 
 SHARED_LIBS +=  sigrok                    0.1 # 0.0
 SHARED_LIBS +=  sigrokcxx                 0.1 # 4.0
diff -Nurp 
/usr/ports/comms/sigrok/libsigrok/patches/patch-bindings_python_sigrok_core_classes_i
 ./patches/patch-bindings_python_sigrok_core_classes_i
--- 
/usr/ports/comms/sigrok/libsigrok/patches/patch-bindings_python_sigrok_core_classes_i
       Tue Nov  4 04:26:40 2025
+++ ./patches/patch-bindings_python_sigrok_core_classes_i       Sun Jan 18 
11:20:11 2026
@@ -1,11 +1,26 @@
-Fix build with Python 3.13:
+Function signature changed in SWIG 4.4:
+https://github.com/sigrokproject/libsigrok/pull/280
 
+Fix build with Python 3.13:
 
https://github.com/sigrokproject/libsigrok/commit/5bc8174531df86991ba8aa6d12942923925d9e72
 
+
 Index: bindings/python/sigrok/core/classes.i
 --- bindings/python/sigrok/core/classes.i.orig
 +++ bindings/python/sigrok/core/classes.i
-@@ -131,7 +131,7 @@ typedef guint pyg_flags_type;
+@@ -85,7 +85,11 @@ typedef guint pyg_flags_type;
+     if (!GLib) {
+         fprintf(stderr, "Import of gi.repository.GLib failed.\n");
+ #if PY_VERSION_HEX >= 0x03000000
++  #if (SWIG_VERSION < 0x040400)
+         return nullptr;
++  #else
++        return 0;
++  #endif
+ #else
+         return;
+ #endif
+@@ -131,7 +135,7 @@ typedef guint pyg_flags_type;
  
          auto arglist = Py_BuildValue("(OO)", log_obj, string_obj);
  
@@ -14,7 +29,7 @@ Index: bindings/python/sigrok/core/classes.i
  
          Py_XDECREF(arglist);
          Py_XDECREF(log_obj);
-@@ -174,7 +174,7 @@ typedef guint pyg_flags_type;
+@@ -174,7 +178,7 @@ typedef guint pyg_flags_type;
      $1 = [=] () {
          const auto gstate = PyGILState_Ensure();
  
@@ -23,7 +38,7 @@ Index: bindings/python/sigrok/core/classes.i
          const bool completed = !PyErr_Occurred();
          const bool valid_result = (completed && result == Py_None);
  
-@@ -218,7 +218,7 @@ typedef guint pyg_flags_type;
+@@ -218,7 +222,7 @@ typedef guint pyg_flags_type;
  
          auto arglist = Py_BuildValue("(OO)", device_obj, packet_obj);
  

Reply via email to