guix_mirror_bot pushed a commit to branch python-team
in repository guix.

commit be8c81ae8934d04f6f41263faa1220e8555bc72c
Author: Jake Forster <[email protected]>
AuthorDate: Fri Jul 4 17:11:30 2025 +0930

    gnu: python-matplotlib: Patch dlopen so MPLBACKEND is not overridden.
    
    Fixes <https://issues.guix.gnu.org/70687>.
    
    In Python, importing 'matplotlib.pyplot' sets the backend used by Matplotlib
    to Agg unless it was set to WebAgg or nbAgg.  This is because it incorrectly
    determines that no event loop can be started due to a failed dlopen call for
    'libX11.so.6'.  This is fixed by patching the dlopen path.
    
    * gnu/packages/python-xyz.scm (python-matplotlib) [arguments]
    <#:phases>: Add 'patch-dlopen.
    
    Change-Id: I3e45c9a2921374e3b16cfcbd8e3e1e91780da306
    Signed-off-by: Sharlatan Hellseher <[email protected]>
---
 gnu/packages/python-xyz.scm | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index baa3e949e3..d19fa0c1fb 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -11280,6 +11280,11 @@ reason=\"unknown minor image differences\")\n" match)))
                           ;; non-deterministically when run in parallel (see:
                           ;; 
https://github.com/matplotlib/matplotlib/issues/22992).
                           "lib/matplotlib/tests/test_compare_images.py"))))
+          (add-after 'unpack 'patch-dlopen
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "src/_c_internal_utils.c"
+                (("libX11.so.6")
+                 (search-input-file inputs "lib/libX11.so.6")))))
           (add-before 'build 'configure-environment
             (lambda* (#:key inputs #:allow-other-keys)
               ;; Fix rounding errors when using the x87 FPU.

Reply via email to