Subject: [PATCH 5/8] gnu: libblockdev: Use gexps.

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

* gnu/packages/disk.scm (libblockdev)
[phases]: Use gexps.
{patch-plugin-paths}: Use search-input-file.

Change-Id: I61f9b3dfdd4dc249fb0f59abb99826a8e759bb42
---
 gnu/packages/disk.scm | 31 +++++++++++++++++++------------
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 7fbd6a52d7..1cdeb53597 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -1192,19 +1192,26 @@ (define-public libblockdev
                 "1ny2glwmb5dcdv2x0giinbyma9fhk59z8117k1kr15pm7yjk7jx5"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'patch-configuration-directory
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-configuration-directory
+            (lambda _
               (substitute* "src/lib/blockdev.c"
-                (("/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)))))))))
+                (("/etc/libblockdev/conf.d/" path)
+                 (string-append #$output path)))))
+          (add-after 'unpack 'patch-plugin-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* (find-files "src/plugins" "\\.c$")
+                (("(gchar \\*arg.+\\{\")([^\"]+)" all start program)
+                 (string-append
+                  start (or (false-if-exception
+                             (search-input-file inputs
+                                                (string-append "bin/" program)))
+                            (false-if-exception
+                             (search-input-file inputs
+                                                (string-append "sbin/" program)))
+                            program)))))))))
     (native-inputs
      (list gobject-introspection
            pkg-config
-- 
2.45.1