Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-gst for openSUSE:Factory 
checked in at 2025-04-02 17:10:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-gst (Old)
 and      /work/SRC/openSUSE:Factory/.python-gst.new.1907 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-gst"

Wed Apr  2 17:10:07 2025 rev:64 rq:1265679 version:1.26.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-gst/python-gst.changes    2025-03-13 
15:07:23.277196113 +0100
+++ /work/SRC/openSUSE:Factory/.python-gst.new.1907/python-gst.changes  
2025-04-02 17:11:52.677610583 +0200
@@ -1,0 +2,8 @@
+Sun Mar 30 08:55:40 UTC 2025 - Bjørn Lie <[email protected]>
+
+- Add 0496a778bb85e0b263ed2fddfcf3dac7961fe4f5.patch: Fix
+  compatibility with PyGObject>=3.52.0.
+- Pass python-exe instead of python to meson setup, the latter is
+  deprecated.
+
+-------------------------------------------------------------------

New:
----
  0496a778bb85e0b263ed2fddfcf3dac7961fe4f5.patch

BETA DEBUG BEGIN:
  New:
- Add 0496a778bb85e0b263ed2fddfcf3dac7961fe4f5.patch: Fix
  compatibility with PyGObject>=3.52.0.
BETA DEBUG END:

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

Other differences:
------------------
++++++ python-gst.spec ++++++
--- /var/tmp/diff_new_pack.9n2lAq/_old  2025-04-02 17:11:53.889661425 +0200
+++ /var/tmp/diff_new_pack.9n2lAq/_new  2025-04-02 17:11:53.889661425 +0200
@@ -27,6 +27,8 @@
 Group:          System/Libraries
 URL:            https://gstreamer.freedesktop.org
 Source0:        %{_name}-%{version}.tar.zst
+# PATCH-FIX-UPSTREAM 0496a778bb85e0b263ed2fddfcf3dac7961fe4f5.patch -- Fix 
compatibility with PyGObject>=3.52.0
+Patch0:         
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/0496a778bb85e0b263ed2fddfcf3dac7961fe4f5.patch
 
 BuildRequires:  %{python_module devel}
 BuildRequires:  c++_compiler
@@ -55,7 +57,7 @@
 written in Python.
 
 %prep
-%autosetup -p1 -n %{_name}-%{version}
+%autosetup -p3 -n %{_name}-%{version}
 
 %build
 %{python_expand py_var=$python
@@ -63,7 +65,7 @@
   cp -rp * ../$py_var
   pushd ../$py_var
   %meson \
-    -Dpython=$py_var \
+    -Dpython-exe=$py_var \
     %{nil}
   %meson_build
   popd

++++++ 0496a778bb85e0b263ed2fddfcf3dac7961fe4f5.patch ++++++
>From 0496a778bb85e0b263ed2fddfcf3dac7961fe4f5 Mon Sep 17 00:00:00 2001
From: Matteo Bruni <[email protected]>
Date: Thu, 20 Mar 2025 10:09:21 +0100
Subject: [PATCH] gst-python: fix compatibility with PyGObject>=3.52.0

PyGObject 3.52.0 moved OverridesProxyModule _introspection_module to __slots__,
causing Segmentation Faults when accessing the field.
Since _introspection_module is used to get Gst.Element but is never actually
used afterward, we fix the issue by removing this part.

Fixes #4314

Part-of: 
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8685>
---
 .../gst-python/plugin/gstpythonplugin.c       | 23 +------------------
 1 file changed, 1 insertion(+), 22 deletions(-)

diff --git a/subprojects/gst-python/plugin/gstpythonplugin.c 
b/subprojects/gst-python/plugin/gstpythonplugin.c
index ba2986f265d5..47442bb47e03 100644
--- a/subprojects/gst-python/plugin/gstpythonplugin.c
+++ b/subprojects/gst-python/plugin/gstpythonplugin.c
@@ -53,8 +53,6 @@ gstpy_module_symbol (gpointer handle, const char *name, 
gpointer * symbol)
 }
 #endif
 
-void *_PyGstElement_Type;
-
 GST_DEBUG_CATEGORY_STATIC (pyplugindebug);
 #define GST_CAT_DEFAULT pyplugindebug
 
@@ -237,7 +235,7 @@ static gboolean
 plugin_init (GstPlugin * plugin)
 {
   PyGILState_STATE state = 0;
-  PyObject *gi, *require_version, *args, *gst, *dict, *pyplugin;
+  PyObject *gi, *require_version, *args, *gst, *pyplugin;
   gboolean we_initialized = FALSE;
   gpointer has_python = NULL;
   const gchar *override_path;
@@ -333,25 +331,6 @@ plugin_init (GstPlugin * plugin)
   }
 
   if (we_initialized) {
-    PyObject *tmp;
-
-    dict = PyModule_GetDict (gst);
-    if (!dict) {
-      g_critical ("gi.repository.Gst is no dict");
-      return FALSE;
-    }
-
-    tmp =
-        PyObject_GetAttr (PyMapping_GetItemString (dict,
-            "_introspection_module"), PyUnicode_FromString ("__dict__"));
-
-    _PyGstElement_Type = PyMapping_GetItemString (tmp, "Element");
-
-    if (!_PyGstElement_Type) {
-      g_critical ("Could not get Gst.Element");
-      return FALSE;
-    }
-
     pyplugin = pygobject_new (G_OBJECT (plugin));
     if (!pyplugin || PyModule_AddObject (gst, "__plugin__", pyplugin) != 0) {
       g_critical ("Couldn't set __plugin__ attribute");
-- 
GitLab

Reply via email to