Subject: [bug#71327] [PATCH 2/8] gnu: libblockdev: Embed executable paths.

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 3 Jun 2024 08:02:50 -0400

From: Sarah Morgensen <[email-masked]>

* gnu/packages/disk.scm (libblockdev)[arguments]<#:phases>: Add
'patch-plugin-paths' phase.

Fixes: <https://bugs.gnu.org/33896>.
Signed-off-by: Maxim Cournoyer <[email-masked]>
Change-Id: I96f9e2f03650b22ffef5a7fe091159450e4c5b67
---
 gnu/packages/disk.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 10d546b918..10073864ed 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -22,6 +22,7 @@
 ;;; Copyright © 2021 Mathieu Othacehe <[email-masked]>
 ;;; Copyright © 2021 Brice Waegeneire <[email-masked]>
 ;;; Copyright © 2021 Justin Veilleux <[email-masked]>
+;;; Copyright © 2021 Sarah Morgensen <[email-masked]>
 ;;; Copyright © 2014, 2022 Ludovic Courtès <[email-masked]>
 ;;; Copyright © 2022 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2022 Disseminate Dissent <[email-masked]>
@@ -29,6 +30,7 @@
 ;;; Copyright © 2023 Morgan Smith <[email-masked]>
 ;;; Copyright © 2023 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2024 Sharlatan Hellseher <[email-masked]>
+
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1196,7 +1198,13 @@ (define-public libblockdev
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
               (substitute* "src/lib/blockdev.c"
-               (("/etc/libblockdev/conf.d/" path) (string-append out path)))))))))
+                (("/etc/libblockdev/conf.d/" path) (string-append out path))))))
+         (add-after 'unpack 'patch-plugin-paths
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* (find-files "src/plugins" "\\.c$")
+               (("(gchar \\*arg.+\\{\")([^\"]+)" all start program)
+                ;; XXX: Use 'search-input-file' when available.
+                (string-append start (or (which program) program)))))))))
     (native-inputs
      (list gobject-introspection
            pkg-config
-- 
2.45.1