summaryrefslogtreecommitdiff
path: root/gnu/packages/elf.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/elf.scm')
-rw-r--r--gnu/packages/elf.scm51
1 files changed, 38 insertions, 13 deletions
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 75caa54296..9f38c519aa 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2019 Mark Wielaard <mark@klomp.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,36 +28,44 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
- #:use-module ((guix licenses) #:select (gpl3+ lgpl3+ lgpl2.0+))
+ #:use-module ((guix licenses) #:select (gpl2+ gpl3+ lgpl3+ lgpl2.0+ fdl1.3+))
#:use-module (gnu packages)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages cpio)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages gnunet) ; for libmicrohttpd
+ #:use-module (gnu packages linux) ; for iproute
#:use-module (gnu packages m4)
+ #:use-module (gnu packages package-management) ; for rpm
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages sphinx)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages xml))
(define-public elfutils
(package
(name "elfutils")
- (version "0.176")
+ (version "0.178")
(source (origin
(method url-fetch)
(uri (string-append "https://sourceware.org/elfutils/ftp/"
version "/elfutils-" version ".tar.bz2"))
(sha256
(base32
- "08qhrl4g6qqr4ga46jhh78y56a47p3msa5b2x1qhzbxhf71lfmzb"))
- (patches (search-patches "elfutils-tests-ptrace.patch"))))
+ "1wm0yfcih4rjwbg59qgm4jyqmbsdmk6z5qajljyw9sfljq7a1rri"))
+ (patches (search-patches "elfutils-0.178-tests-build-id.patch"))))
(build-system gnu-build-system)
;; Separate programs because that's usually not what elfutils users want,
- ;; and because they duplicate what Binutils provides.
+ ;; and because they duplicate what Binutils provides (but are named
+ ;; differently, using the eu- prefix and can be installed in parallel).
(outputs '("out" ; libelf.so, elfutils/*.h, etc.
- "bin")) ; ld, nm, objdump, etc.
+ "bin")) ; eu-nm, eu-objdump, etc.
(arguments
;; Programs don't have libelf.so in their RUNPATH and libraries don't
@@ -81,17 +90,33 @@
(("run-backtrace-native.sh") ""))
#t)))))
- (native-inputs `(("m4" ,m4)))
- (inputs `(("zlib" ,zlib)))
+ (native-inputs `(("iproute", iproute) ;; needed in tests for ss
+ ("m4", m4)
+ ("pkg-config", pkg-config)))
+ (inputs `(("cpio", cpio)
+ ("libarchive", libarchive)
+ ("libmicrohttpd", libmicrohttpd)
+ ("libcurl", curl)
+ ("rpm", rpm)
+ ("sqlite", sqlite)
+ ("zlib" ,zlib)))
(home-page "https://sourceware.org/elfutils/")
- (synopsis "Linker and ELF manipulation tools")
+ (synopsis "Collection of utilities and libraries to handle ELF files and
+DWARF data")
(description
- "This package provides command-line tools to manipulate binaries in the
-Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
-@command{ar}, @command{objdump}, @command{addr2line}, and more.")
+ "A collection of utilities and libraries to read, create and modify ELF
+binary files, find and handle DWARF debug data, symbols, thread state and
+stacktraces for processes and core files on GNU/Linux. Includes libelf for
+manipulating ELF files, libdw for inspecting DWARF data and process state and
+utilities like eu-stack (to show backtraces), eu-nm (for listing symbols from
+object files), eu-size (for listing the section sizes of an object or archive
+file), eu-strip (for discarding symbols), eu-readelf (to see the raw ELF file
+structures), eu-elflint (to check for well-formed ELF files) and
+eu-elfcompress (to compress or decompress ELF sections).")
;; Libraries are dual-licensed LGPLv3.0+ | GPLv2, and programs are GPLv3+.
- (license lgpl3+)))
+ ;; Some documentation is under the GFDL1.3+, without invariant texts.
+ (license (list lgpl3+ gpl2+ gpl3+ fdl1.3+))))
(define-public libabigail
(package