[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