aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-09-14 16:09:47 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-11-11 10:31:32 -0500
commit41f058d10d17802632a1354eb02dd363057ded4b (patch)
tree65e34e9403412298625b245b1c35f57f6f0e53c3
parent472da854f100263a7d62705fecabad7c968454bc (diff)
downloadguix-41f058d10d17802632a1354eb02dd363057ded4b.tar
guix-41f058d10d17802632a1354eb02dd363057ded4b.tar.gz
gnu: gdb: Patch references to /bin/sh and add debug output.
* gnu/packages/gdb.scm (gdb-10)[outputs]: Add a debug output. [phases]{patch-paths}: New phase. [inputs]: Add bash. (gdb-9.2)[phases]{patch-paths}: Override phase.
-rw-r--r--gnu/packages/gdb.scm30
1 files changed, 28 insertions, 2 deletions
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index e51e17d5da..064572995e 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -24,6 +24,7 @@
(define-module (gnu packages gdb)
#:use-module (gnu packages)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages hurd)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
@@ -35,9 +36,10 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages pkg-config)
+ #:use-module (guix download)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix packages)
- #:use-module (guix download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (srfi srfi-1))
@@ -57,6 +59,7 @@
(search-patches "gdb-hurd.patch"))))
(build-system gnu-build-system)
+ (outputs '("out" "debug"))
(arguments
`(#:tests? #f ; FIXME "make check" fails on single-processor systems.
@@ -66,6 +69,14 @@
,@%gnu-build-system-modules)
#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((sh (string-append (assoc-ref inputs "bash")
+ "/bin/sh")))
+ (substitute* '("gdb/ser-pipe.c"
+ "gdbsupport/pathstuff.cc")
+ (("\"/bin/sh\"")
+ (format #f "~s" sh))))))
(add-after
'configure 'post-configure
(lambda _
@@ -95,7 +106,8 @@
(for-each delete-file common)
#t)))))))
(inputs
- `(("expat" ,expat)
+ `(("bash" ,bash)
+ ("expat" ,expat)
("mpfr" ,mpfr)
("gmp" ,gmp)
("readline" ,readline)
@@ -151,6 +163,20 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
(sha256
(base32
"0mf5fn8v937qwnal4ykn3ji1y2sxk0fa1yfqi679hxmpg6pdf31n"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments gdb-11)
+ ((#:phases phases)
+ ;; Override the patch-paths phase as the pathstuff.c file was later
+ ;; renamed.
+ `(modify-phases ,phases
+ (replace 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((sh (string-append (assoc-ref inputs "bash")
+ "/bin/sh")))
+ (substitute* '("gdb/gdbsupport/pathstuff.c"
+ "gdb/ser-pipe.c")
+ (("\"/bin/sh\"")
+ (format #f "~s" sh))))))))))
(inputs
(alist-replace "guile" (list guile-2.0)
(package-inputs gdb-10)))))