diff options
Diffstat (limited to 'gnu/packages/elf.scm')
-rw-r--r-- | gnu/packages/elf.scm | 51 |
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 |