Package: matplotlib / 3.10.1+dfsg1-4

fix-gi-import-empty-module.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From: James Addison <jay@jp-hosting.net>
Date: Tue, 01 Apr 2025 09:17:28 +0000
Subject: Raise import error if PyGObject module is empty
 .
 When GI overrides are installed, the dist-packages/gi directory is
 non-empty, and this allows Python3 to import the module.  This can
 happen when Debian packages other than python3-gi are installed.
 .
 Detect an empty __file__ attribute on the imported module to check
 whether it is genuinely the expected GObject Python module.
 .
 Credit to Francesco Ballarin for the test condition in #1101565.

Bug: http://bugs.debian.org/1101565
---
--- a/lib/matplotlib/backends/backend_gtk3.py
+++ b/lib/matplotlib/backends/backend_gtk3.py
@@ -11,6 +11,9 @@
 
 try:
     import gi
+
+    if gi.__file__ is None:
+        raise ImportError("Error: PyGObject module is empty")
 except ImportError as err:
     raise ImportError("The GTK3 backends require PyGObject") from err
 
--- a/lib/matplotlib/backends/backend_gtk4.py
+++ b/lib/matplotlib/backends/backend_gtk4.py
@@ -10,6 +10,9 @@
 
 try:
     import gi
+
+    if gi.__file__ is None:
+        raise ImportError("Error: PyGObject module is empty")
 except ImportError as err:
     raise ImportError("The GTK4 backends require PyGObject") from err