guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/02: gnu: rust-xkbcommon-dl: Fix loading of libxkbcommon-x11.so.


From: guix-commits
Subject: 02/02: gnu: rust-xkbcommon-dl: Fix loading of libxkbcommon-x11.so.
Date: Fri, 29 Mar 2024 15:11:19 -0400 (EDT)

sharlatan pushed a commit to branch master
in repository guix.

commit 423ca234cbd7b4902fd2a3fbc089a6fd57ed5583
Author: Sharlatan Hellseher <sharlatanus@gmail.com>
AuthorDate: Thu Mar 28 12:51:57 2024 +0000

    gnu: rust-xkbcommon-dl: Fix loading of libxkbcommon-x11.so.
    
    This to resolve Alacritty segmentation fault reported in #68243, attemp
    to fix in #69797.
    
    * gnu/packages/crates-graphics.scm (rust-xkbcommon-dl) [arguments]:
    Handle libxkbcommon-x11.so in the ‘add-absolute-library-references’
    phase.
    
    Change-Id: Ib724775210cfad7dedaa454f0f456c0dded67dcc
---
 gnu/packages/crates-graphics.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index f95a4a65cd..117b4f5603 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2023, 2024 Jaeme Sifat <jaeme@runbox.com>
 ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
+;;; Copyright © 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5745,7 +5746,18 @@ for @code{libxkbcommon}.")
                        ("rust-dlib" ,rust-dlib-0.5)
                        ("rust-log" ,rust-log-0.4)
                        ("rust-once-cell" ,rust-once-cell-1)
-                       ("rust-xkeysym" ,rust-xkeysym-0.2))))
+                       ("rust-xkeysym" ,rust-xkeysym-0.2))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'add-absolute-library-references
+           (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+             (substitute* (find-files vendor-dir "\\.rs$")
+               (("libxkbcommon-x11\\.so")
+                (search-input-file inputs "lib/libxkbcommon-x11.so"))
+               (("libxkbcommon\\.so")
+                (search-input-file inputs "lib/libxkbcommon.so"))))))))
+    (inputs
+     (list libxkbcommon))
     (home-page "https://github.com/rust-windowing/xkbcommon-dl";)
     (synopsis "Dynamically loaded xkbcommon and xkbcommon-x11 Rust bindings")
     (description



reply via email to

[Prev in Thread] Current Thread [Next in Thread]