X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/53c85e97dcc264da5ff5cd4e3be4d47028f4d726..7060b28171d217b8091b87b92ee55c15f887e890:/gnu/packages/gdb.scm diff --git a/gnu/packages/gdb.scm b/gnu/packages/gdb.scm index ddf94f9eaa..80d53935e2 100644 --- a/gnu/packages/gdb.scm +++ b/gnu/packages/gdb.scm @@ -1,5 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2015, 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,7 +26,9 @@ #: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) @@ -33,32 +37,64 @@ (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