From 41f058d10d17802632a1354eb02dd363057ded4b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Sep 2021 16:09:47 -0400 Subject: [PATCH] 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. --- gnu/packages/gdb.scm | 30 ++++++++++++++++++++++++++++-- 1 file 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 @@ (define-module (gnu packages gdb) #: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 @@ (define-public gdb-10 (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 @@ (define-public gdb-10 ,@%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 @@ (define-public gdb-10 (for-each delete-file common) #t))))))) (inputs - `(("expat" ,expat) + `(("bash" ,bash) + ("expat" ,expat) ("mpfr" ,mpfr) ("gmp" ,gmp) ("readline" ,readline) @@ -151,6 +163,20 @@ (define-public gdb-9.2 (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)))))