summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-01-10 22:59:10 +0100
committerLudovic Courtès <ludo@gnu.org>2024-08-31 10:44:22 +0200
commite7fdcffc73690c675477a3e48ecdb16f8fb5dd01 (patch)
tree674ce5794d55375a1110b61311cb00e98f13701b /gnu/packages
parent822455580273ea8b3c1059922e2b41a395103164 (diff)
downloadguix-e7fdcffc73690c675477a3e48ecdb16f8fb5dd01.tar.gz
gnu: binutils: Update to 2.41.
* gnu/packages/base.scm (binutils): Update to 2.41.
[properties]: Remove.
[native-inputs]: New field.
(binutils+documentation): Remove.
(binutils-2.33)[native-inputs]: New field.
(binutils-gold): Inherit from BINUTILS.
[native-inputs]: Use ‘modify-inputs’ to preserve BISON.
* gnu/packages/commencement.scm (binutils-boot0)[arguments]: Pass
‘--disable-gprofng’.
[native-inputs]: New field.
(binutils-final): Move below ‘libstdc++’.
[native-inputs]: New field.
[arguments]: Add libstdc++ to #:allowed-references.
Extend #:configure-flags to libstdc++ is found.

Change-Id: I72750ca46ffd484d26608c4cec2931edb06b19a5
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/base.scm35
-rw-r--r--gnu/packages/commencement.scm61
2 files changed, 48 insertions, 48 deletions
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index a4a10a5964..30248bf4d1 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2019 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
@@ -634,14 +634,14 @@ change.  GNU make offers many powerful extensions over the standard utility.")
 (define-public binutils
   (package
    (name "binutils")
-   (version "2.38")
+   (version "2.41")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "mirror://gnu/binutils/binutils-"
                           version ".tar.bz2"))
       (sha256
-       (base32 "1y0fb4qgxaxfyf81x9fqq9w5609mkah0b7wm1f7ab9kpy0fcf3h7"))
+       (base32 "02xkm9xgcrqhln742636nm43yzrpjkhqj0z64h03gf7pab0bxi54"))
       (patches (search-patches "binutils-loongson-workaround.patch"))))
    (build-system gnu-build-system)
    (arguments
@@ -672,16 +672,11 @@ change.  GNU make offers many powerful extensions over the standard utility.")
                           "--enable-lto"
                           "--enable-separate-code"
                           "--enable-threads")
-      ;; XXX: binutils 2.38 was released without generated manuals:
-      ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=28909>.  To avoid
-      ;; a circular dependency on texinfo, prevent the build system from
-      ;; creating the manuals by calling "true" instead of "makeinfo" ...
-      #:make-flags '("MAKEINFO=true")))
-
-   ;; ... and "hide" this package such that users who install binutils get
-   ;; the version with documentation defined below.
-   (properties '((hidden? . #t)))
 
+      ;; For some reason, the build machinery insists on rebuilding .info
+      ;; files, even though they're already provided by the tarball.
+      #:make-flags '("MAKEINFO=true")))
+   (native-inputs (list bison))                   ;needed to build 'gprofng'
    (synopsis "Binary utilities: bfd gas gprof ld")
    (description
     "GNU Binutils is a collection of tools for working with binary files.
@@ -693,16 +688,6 @@ included.")
    (license gpl3+)
    (home-page "https://www.gnu.org/software/binutils/")))
 
-(define-public binutils+documentation
-  (package/inherit binutils
-    (native-inputs
-     (list texinfo))
-    (arguments
-     (substitute-keyword-arguments (package-arguments binutils)
-       ((#:make-flags flags ''())
-        ''())))
-    (properties '())))
-
 ;; FIXME: ath9k-firmware-htc-binutils.patch do not apply on 2.34 because of a
 ;; big refactoring of xtensa-modules.c (commit 567607c11fbf7105 upstream).
 ;; Keep this version around until the patch is updated.
@@ -721,10 +706,11 @@ included.")
    (arguments
     (substitute-keyword-arguments (package-arguments binutils)
       ((#:make-flags _ ''()) ''())))
+   (native-inputs '())
    (properties '())))
 
 (define-public binutils-gold
-  (package/inherit binutils+documentation
+  (package/inherit binutils
     (name "binutils-gold")
     (arguments
      (substitute-keyword-arguments (package-arguments binutils)
@@ -745,7 +731,8 @@ included.")
                      (substitute* "gold/Makefile.in"
                        ((" testsuite") " ")))))
                '())))))
-    (native-inputs (list bc))))
+    (native-inputs (modify-inputs (package-native-inputs binutils)
+                     (append bc)))))
 
 (define* (make-ld-wrapper name #:key
                           (target (const #f))
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 8e6340bcb0..5bec5bc994 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
@@ -2273,8 +2273,10 @@ exec " gcc "/bin/" program
 
        ,@(substitute-keyword-arguments (package-arguments binutils)
            ((#:configure-flags cf)
-            `(cons ,(string-append "--target=" (boot-triplet))
-                   ,cf)))))
+            `(append (list ,(string-append "--target=" (boot-triplet))
+                           "--disable-gprofng")   ;requires Bison
+                     ,cf)))))
+    (native-inputs '())                           ;no Bison
     (inputs (%boot0-inputs))))
 
 (define libstdc++-boot0
@@ -3146,27 +3148,6 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
     ("gcc" ,gcc-boot0-wrapped)
     ,@(fold alist-delete (%boot1-inputs) '("libc" "gcc" "linux-libre-headers"))))
 
-(define binutils-final
-  (package
-    (inherit binutils)
-    (source (bootstrap-origin (package-source binutils)))
-    (arguments
-     `(#:guile ,%bootstrap-guile
-       #:implicit-inputs? #f
-       #:allowed-references
-       ,@(match (%current-system)
-         ((? target-powerpc?)
-          `(("out" ,glibc-final ,static-bash-for-glibc)))
-         (_
-          `(("out" ,glibc-final))))
-       ,@(package-arguments binutils)))
-    (inputs
-     (match (%current-system)
-       ((? target-powerpc?)
-        `(("bash" ,static-bash-for-glibc)
-          ,@(%boot2-inputs)))
-       (_ (%boot2-inputs))))))
-
 (define libstdc++
   ;; Intermediate libstdc++ that will allow us to build the final GCC
   ;; (remember that GCC-BOOT0 cannot build libstdc++.)
@@ -3196,6 +3177,38 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
       (inputs (%boot2-inputs))
       (synopsis "GNU C++ standard library (intermediate)"))))
 
+(define binutils-final
+  (package
+    (inherit binutils)
+    (source (bootstrap-origin (package-source binutils)))
+    (arguments
+     `(#:guile ,%bootstrap-guile
+       #:implicit-inputs? #f
+       #:allowed-references
+       ("out"
+        ,glibc-final
+        ,(this-package-native-input "libstdc++")
+        ,@(if (target-powerpc? (%current-system))
+              (list static-bash-for-glibc)
+              '()))
+
+       ,@(substitute-keyword-arguments (package-arguments binutils)
+           ((#:configure-flags flags #~'())
+            ;; For gprofng, tell the build system where to look for libstdc++.
+            #~(append #$flags
+                      (list (string-append
+                             "LDFLAGS=-L"
+                             #$(this-package-native-input "libstdc++")
+                             "/lib")))))))
+    (native-inputs (list bison-boot0
+                         libstdc++))              ;for gprofng
+    (inputs
+     (match (%current-system)
+       ((? target-powerpc?)
+        `(("bash" ,static-bash-for-glibc)
+          ,@(%boot2-inputs)))
+       (_ (%boot2-inputs))))))
+
 (define zlib-final
   ;; Zlib used by GCC-FINAL.
   (package