;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014 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.
;;;
(define-public gdb
(package
(name "gdb")
- (version "7.8.2")
+ (version "7.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz"))
(sha256
(base32
- "11a4fj1vpsny71kz7xqqbqk3kgzbs5cfjj3z9gm0hpvxfkam8nb0"))))
+ "152g2qa8337cxif3lkvabjcxfd9jphfb2mza8f1p2c4bjk2z6kw3"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ; FIXME "make check" fails on single-processor systems.
- #:phases (alist-cons-after
- 'configure 'post-configure
- (lambda _
- (for-each patch-makefile-SHELL
- (find-files "." "Makefile\\.in")))
- (alist-cons-after
- 'install 'post-install
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Like Binutils, GDB installs libbfd and libopcodes.
- ;; However, this leads to collisions when both are
- ;; installed, and really is none of its business,
- ;; conceptually. So remove them.
- (for-each delete-file
- (find-files (assoc-ref outputs "out")
- "^lib(opcodes|bfd)\\.")))
- %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)
(native-inputs
`(("texinfo" ,texinfo)
("pkg-config" ,pkg-config)))
- (home-page "http://www.gnu.org/software/gdb/")
+ (home-page "https://www.gnu.org/software/gdb/")
(synopsis "The GNU debugger")
(description
"GDB is the GNU debugger. With it, you can monitor what a program is