guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: gnu: binutils: Update to 2.41.


From: guix-commits
Subject: 01/02: gnu: binutils: Update to 2.41.
Date: Wed, 10 Jan 2024 18:08:58 -0500 (EST)

civodul pushed a commit to branch core-updates
in repository guix.

commit 4a8e5ebfff7298ea09358585faecd949c5873489
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Wed Jan 10 22:59:10 2024 +0100

    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
---
 gnu/packages/base.scm         | 35 ++++++++-----------------
 gnu/packages/commencement.scm | 61 ++++++++++++++++++++++++++-----------------
 2 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index b6735b364c..0412dc0e0e 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>
@@ -584,14 +584,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
@@ -622,16 +622,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.
@@ -643,16 +638,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.
@@ -671,10 +656,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)
@@ -695,7 +681,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 51c26339ef..a70cf02a6f 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]