summary refs log tree commit diff
path: root/gnu/packages/gdb.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-08-16 01:24:05 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-08-16 15:26:26 -0400
commit720a4adc91c632e097d9e064ce8e95617cf76fb0 (patch)
treeaa8ae98bff4aa53f99997f96a2f560be95f62d75 /gnu/packages/gdb.scm
parent8b074a0abef78341d98ac4ca8e6f27bfcc7aa65b (diff)
downloadguix-720a4adc91c632e097d9e064ce8e95617cf76fb0.tar.gz
system: Modify GDB skeleton to find debug files for any profile.
Instead of hard coding the debug directory to that of the user profile, use
Guile scripting in combination with a new search path specification on GDB to
specify the debug file directories.

* gnu/packages/gdb.scm (gdb-9.1): Add a search path specification for the
GDB_DEBUG_FILE_DIRECTORY environment variable.
* gnu/system/shadow.scm (default-skeletons)[gdbinit]: Derive the value of
DEBUG-FILE-DIRECTORY via the GDB_DEBUG_FILE_DIRECTORY environment variable.
* doc/guix.texi (Installing Debugging Files): Document it.
Diffstat (limited to 'gnu/packages/gdb.scm')
-rw-r--r--gnu/packages/gdb.scm7
1 files changed, 7 insertions, 0 deletions
diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm
index 830121751f..11e0bb3e76 100644
--- a/gnu/packages/gdb.scm
+++ b/gnu/packages/gdb.scm
@@ -5,6 +5,7 @@
 ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -117,6 +118,12 @@
         ("dejagnu" ,dejagnu)
         ("pkg-config" ,pkg-config)
         ,@(if (hurd-target?) `(("mig" ,mig)) '())))
+    ;; TODO: Add support for the GDB_DEBUG_FILE_DIRECTORY environment variable
+    ;; in GDB itself instead of relying on some glue code in the Guix-provided
+    ;; .gdbinit file.
+    (native-search-paths (list (search-path-specification
+                                (variable "GDB_DEBUG_FILE_DIRECTORY")
+                                (files '("lib/debug")))))
     (home-page "https://www.gnu.org/software/gdb/")
     (synopsis "The GNU debugger")
     (description