;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages texinfo)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages xml)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages python)
+ #:use-module (gnu packages pkg-config)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (guix packages)
#:use-module (guix download)
(define-public gdb
(package
(name "gdb")
- (version "7.6.1")
+ (version "7.11.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
- version ".tar.bz2"))
+ version ".tar.xz"))
(sha256
(base32
- "1r32s6vqgskw6pz9pmp41b8injd51c4bbxr6ifdpyid52j5a7pz3"))
- (patches (list (search-patch "gdb-loongson-madd-fix.patch")))))
+ "0w7wi1llznlqdqk2lmzygz2xylb2c9mh580s9i0rypkmwfj6s8g9"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-cons-after
- 'configure 'post-configure
- (lambda _
- (for-each patch-makefile-SHELL
- (find-files "." "Makefile\\.in")))
- %standard-phases)))
+ `(#:tests? #f ; FIXME "make check" fails on single-processor systems.
+
+ #:modules ((srfi srfi-1)
+ ,@%gnu-build-system-modules)
+
+ #:phases (modify-phases %standard-phases
+ (add-after
+ 'configure 'post-configure
+ (lambda _
+ (for-each patch-makefile-SHELL
+ (find-files "." "Makefile\\.in"))))
+ (add-after
+ 'install 'remove-libs-already-in-binutils
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Like Binutils, GDB installs libbfd, libopcodes, etc.
+ ;; However, this leads to collisions when both are
+ ;; installed, and really is none of its business,
+ ;; conceptually. So remove them.
+ (let* ((binutils (assoc-ref inputs "binutils"))
+ (out (assoc-ref outputs "out"))
+ (files1 (with-directory-excursion binutils
+ (append (find-files "lib")
+ (find-files "include"))))
+ (files2 (with-directory-excursion out
+ (append (find-files "lib")
+ (find-files "include"))))
+ (common (lset-intersection string=?
+ files1 files2)))
+ (with-directory-excursion out
+ (for-each delete-file common)
+ #t)))))))
(inputs
`(("expat" ,expat)
("mpfr" ,mpfr)
("gmp" ,gmp)
("readline" ,readline)
("ncurses" ,ncurses)
- ("python" ,python-wrapper)
- ("texinfo" ,texinfo)
- ("dejagnu" ,dejagnu)))
+ ("guile" ,guile-2.0)
+ ("python" ,python)
+ ("python-wrapper" ,python-wrapper)
+ ("dejagnu" ,dejagnu)
+
+ ;; Allow use of XML-formatted syscall information. This enables 'catch
+ ;; syscall' and similar commands.
+ ("libxml2" ,libxml2)))
+ (native-inputs
+ `(("texinfo" ,texinfo)
+ ("pkg-config" ,pkg-config)))
(home-page "http://www.gnu.org/software/gdb/")
(synopsis "The GNU debugger")
(description