Subject: [bug#54052] [PATCH] gnu: cgdb: Add gdb to propagated-inputs

From: Chadwain Holness <[email-masked]>
Date: Sun, 20 Feb 2022 03:11:56 -0500

Hello Maxime, thank you for the suggestion. Is this new patch better in your opinion?

* gnu/packages/debug.scm (cgdb)[inputs]: Add gdb
[arguments]: Add phase to fix hardcoded gdb and sh paths
---
 gnu/packages/debug.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm
index 24d17d95b0..85003feeae 100644
--- a/gnu/packages/debug.scm
+++ b/gnu/packages/debug.scm
@@ -760,9 +760,19 @@ (define-public cgdb
         (base32 "1w8ib2vg3pg68d9hh97fw5042c73i9nqavdddc87n9bpscjbaf0d"))))
     (build-system gnu-build-system)
     (inputs
-     (list ncurses readline))
+     (list ncurses readline gdb))
     (native-inputs
      (list flex texinfo))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+        (add-after 'unpack 'fix-paths
+         (lambda* (#:key inputs #:allow-other-keys)
+          (let ((gdb (assoc-ref inputs "gdb")))
+           (substitute* "lib/util/fork_util.cpp"
+            (("GDB = \"gdb\"") (string-append "GDB = \"" gdb "/bin/gdb\"")))
+           (substitute* "cgdb/cgdb.cpp"
+            (("/bin/sh") (which "sh")))))))))
     (home-page "https://cgdb.github.io")
     (synopsis "Console front-end to the GNU debugger")
     (description
-- 
2.35.1