Subject: [PATCH] gnu: recutils: Symlink bash loadables.

From: Liliana Marie Prikler <[email-masked]>
Date: Sun, 18 Jun 2023 09:20:22 +0200

This makes it so that the "enable" builtin finds readrec and testrec without
having to supply the full store path.

* gnu/packages/databases.scm (recutils)[#:phases]: Add
‘symlink-bash-loadables’.
---
 gnu/packages/databases.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 9928ede40e..36d4b65039 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1559,7 +1559,22 @@ (define-public recutils
            #~(list "--disable-static"
                    (string-append "--with-bash-headers="
                                   (search-input-directory %build-inputs
-                                                          "include/bash")))))
+                                                          "include/bash")))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'symlink-bash-loadables
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (with-directory-excursion (string-append
+                                              (assoc-ref outputs "out")
+                                              "/lib")
+                     (mkdir "bash")
+                     (for-each
+                      (compose symlink
+                               (lambda (loadable)
+                                 (values
+                                  (string-append (getcwd) "/" loadable ".so")
+                                  (string-append "bash/" loadable))))
+                      '("readrec" "testrec"))))))))
     (native-inputs
      (list bc check-0.14 pkg-config))
     (inputs

base-commit: e4087930f3ad60918689be5f4bca4ce3e22429f5
-- 
2.40.1