summaryrefslogtreecommitdiff
path: root/gnu/packages/elf.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-12-15 23:27:56 +0100
committerLudovic Courtès <ludo@gnu.org>2013-12-15 23:27:56 +0100
commit3e778ad3af53e343550f4ec3d0b56f9bfe1fa2e3 (patch)
treef2c83b46cfdbaec390bf7259ab69cd1a08a67e23 /gnu/packages/elf.scm
parent2ed5b0f42c40b5eb8df462b3cff3399123423182 (diff)
gnu: Move libelf and patchelf to (gnu packages elf).
* gnu/packages/patchelf.scm (patchelf): Move to... * gnu/packages/elf.scm (patchelf): ... here. * gnu/packages/patchelf.scm: Remove. * gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu/packages/gcc.scm (libelf): Move to... * gnu/packages/elf.scm (libelf): ... here. * gnu/packages/cdrom.scm, gnu/packages/icu4c.scm, gnu/packages/samba.scm, gnu/packages/scheme.scm, gnu/packages/ssh.scm: Adjust references to (gnu packages patchelf).
Diffstat (limited to 'gnu/packages/elf.scm')
-rw-r--r--gnu/packages/elf.scm51
1 files changed, 50 insertions, 1 deletions
diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 83ec8fbc5c..1df9956f87 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -20,7 +20,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
- #:use-module ((guix licenses) #:select (lgpl3+))
+ #:use-module ((guix licenses) #:select (gpl3+ lgpl3+ lgpl2.0+))
#:use-module (gnu packages m4)
#:use-module (gnu packages compression))
@@ -51,3 +51,52 @@
;; Libraries are dual-licensed LGPLv3.0+ | GPLv2, and programs are GPLv3+.
(license lgpl3+)))
+
+(define-public libelf
+ (package
+ (name "libelf")
+ (version "0.8.13")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.mr511.de/software/libelf-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0vf7s9dwk2xkmhb79aigqm0x0yfbw1j0b9ksm51207qwr179n6jr"))))
+ (build-system gnu-build-system)
+ (arguments '(#:phases (alist-replace
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; This old `configure' script doesn't support
+ ;; variables passed as arguments.
+ (let ((out (assoc-ref outputs "out")))
+ (setenv "CONFIG_SHELL" (which "bash"))
+ (zero?
+ (system* "./configure"
+ (string-append "--prefix=" out)))))
+ %standard-phases)))
+ (home-page "http://www.mr511.de/software/english.html")
+ (synopsis "An ELF object file access library")
+ (description "libelf is a C library to access ELF object files.")
+ (license lgpl2.0+)))
+
+(define-public patchelf
+ (package
+ (name "patchelf")
+ (version "0.6")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://nixos.org/releases/patchelf/patchelf-"
+ version
+ "/patchelf-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw"))))
+ (build-system gnu-build-system)
+ (home-page "http://nixos.org/patchelf.html")
+ (synopsis "Modify the dynamic linker and RPATH of ELF executables")
+ (description
+ "PatchELF allows the ELF \"interpreter\" and RPATH of an ELF binary to be
+changed.")
+ (license gpl3+)))