summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2012-08-25 13:11:13 +0200
committerLudovic Courtès <ludo@gnu.org>2012-08-25 13:12:47 +0200
commit8f6201a31f54ac7a6ea028a2980a783abc8b1369 (patch)
treea4bbcb97fe607e49fe246f1ea22e164824f6c4f3
parent81e57ec5ffc918165134dc25085596d0fcf0ad99 (diff)
downloadguix-8f6201a31f54ac7a6ea028a2980a783abc8b1369.tar.gz
distro: Add GNU Binutils.
* distro/base.scm (binutils): New variable.
-rw-r--r--distro/base.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/distro/base.scm b/distro/base.scm
index b99eb63477..b7e9bd5af9 100644
--- a/distro/base.scm
+++ b/distro/base.scm
@@ -535,6 +535,38 @@ upon and follows the same principles as GNU MPFR.")
    (license "LGPLv3+")
    (home-page "http://mpc.multiprecision.org/")))
 
+(define-public binutils
+  (package
+   (name "binutils")
+   (version "2.22")
+   (source (origin
+            (method http-fetch)
+            (uri (string-append "http://ftp.gnu.org/gnu/binutils/binutils-"
+                                version ".tar.bz2"))
+            (sha256
+             (base32
+              "1a9w66v5dwvbnawshjwqcgz7km6kw6ihkzp6sswv9ycc3knzhykc"))))
+   (build-system gnu-build-system)
+
+   ;; TODO: Add dependency on zlib + those for Gold.
+   (native-inputs
+    `(("patch/new-dtags" ,(search-patch "binutils-ld-new-dtags.patch"))))
+   (arguments
+    `(#:patches (list (assoc-ref %build-inputs "patch/new-dtags"))
+
+      ;; Add `-static-libgcc' to not retain a dependency on GCC when
+      ;; bootstrapping.
+      #:configure-flags '("LDFLAGS=-static-libgcc")))
+
+   (description "GNU Binutils, tools for manipulating binaries (linker,
+assembler, etc.)")
+   (long-description
+    "The GNU Binutils are a collection of binary tools.  The main ones are
+`ld' (the GNU linker) and `as' (the GNU assembler).  They also include the
+BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.")
+   (license "GPLv3+")
+   (home-page "http://www.gnu.org/software/binutils/")))
+
 (define-public gcc-4.7
   (let ((stripped? #t))                         ; TODO: make this a parameter
     (package