summary refs log tree commit diff
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)
downloadguix-3e778ad3af53e343550f4ec3d0b56f9bfe1fa2e3.tar.gz
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+)))