mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
gnu: binutils: Use gexps.
This is the result of applying ‘guix style -S arguments’ and making small adjustments. * gnu/packages/base.scm (binutils)[arguments]: Use gexps. (binutils-2.33, binutils-gold): Likewise. * gnu/packages/commencement.scm (binutils-mesboot0, binutils-mesboot1) (binutils-boot0, binutils-final): Likewise. * gnu/packages/cross-base.scm (cross-binutils*): Adjust accordingly. * gnu/packages/embedded.scm (make-propeller-binutils): Use gexps. * gnu/packages/make-bootstrap.scm (%binutils-static): Use gexps. Change-Id: I59cbe29760784b09e6d4e80beca9153cb9b495a7
This commit is contained in:
parent
f9f2198d82
commit
77ee97628a
5 changed files with 151 additions and 144 deletions
|
@ -645,8 +645,8 @@ (define-public binutils
|
||||||
(patches (search-patches "binutils-loongson-workaround.patch"))))
|
(patches (search-patches "binutils-loongson-workaround.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:out-of-source? #t ;recommended in the README
|
(list #:out-of-source? #t ;recommended in the README
|
||||||
#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
|
#:configure-flags #~'(;; Add `-static-libgcc' to not retain a dependency
|
||||||
;; on GCC when bootstrapping.
|
;; on GCC when bootstrapping.
|
||||||
"LDFLAGS=-static-libgcc"
|
"LDFLAGS=-static-libgcc"
|
||||||
|
|
||||||
|
@ -675,7 +675,7 @@ (define-public binutils
|
||||||
|
|
||||||
;; For some reason, the build machinery insists on rebuilding .info
|
;; For some reason, the build machinery insists on rebuilding .info
|
||||||
;; files, even though they're already provided by the tarball.
|
;; files, even though they're already provided by the tarball.
|
||||||
#:make-flags '("MAKEINFO=true")))
|
#:make-flags #~'("MAKEINFO=true")))
|
||||||
(native-inputs (list bison)) ;needed to build 'gprofng'
|
(native-inputs (list bison)) ;needed to build 'gprofng'
|
||||||
(synopsis "Binary utilities: bfd gas gprof ld")
|
(synopsis "Binary utilities: bfd gas gprof ld")
|
||||||
(description
|
(description
|
||||||
|
@ -705,7 +705,7 @@ (define-public binutils-2.33
|
||||||
(patches '())))
|
(patches '())))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments binutils)
|
(substitute-keyword-arguments (package-arguments binutils)
|
||||||
((#:make-flags _ ''()) ''())))
|
((#:make-flags _ #~'()) #~'())))
|
||||||
(native-inputs '())
|
(native-inputs '())
|
||||||
(properties '())))
|
(properties '())))
|
||||||
|
|
||||||
|
@ -715,22 +715,22 @@ (define-public binutils-gold
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments binutils)
|
(substitute-keyword-arguments (package-arguments binutils)
|
||||||
((#:configure-flags flags)
|
((#:configure-flags flags)
|
||||||
`(cons* "--enable-gold=default"
|
#~(cons* "--enable-gold=default"
|
||||||
(delete "LDFLAGS=-static-libgcc" ,flags)))
|
(delete "LDFLAGS=-static-libgcc" #$flags)))
|
||||||
((#:phases phases '%standard-phases)
|
((#:phases phases '%standard-phases)
|
||||||
`(modify-phases ,phases
|
#~(modify-phases #$phases
|
||||||
(add-after 'patch-source-shebangs 'patch-more-shebangs
|
(add-after 'patch-source-shebangs 'patch-more-shebangs
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "gold/Makefile.in"
|
(substitute* "gold/Makefile.in"
|
||||||
(("/bin/sh") (which "sh")))))
|
(("/bin/sh") (which "sh")))))
|
||||||
;; Multiple failing tests on some architectures in the gold testsuite.
|
;; Multiple failing tests on some architectures in the gold testsuite.
|
||||||
,@(if (or (target-arm?)
|
#$(if (or (target-arm?)
|
||||||
(target-ppc32?))
|
(target-ppc32?))
|
||||||
'((add-after 'unpack 'skip-gold-testsuite
|
#~(add-after 'unpack 'skip-gold-testsuite
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "gold/Makefile.in"
|
(substitute* "gold/Makefile.in"
|
||||||
((" testsuite") " ")))))
|
((" testsuite") " "))))
|
||||||
'())))))
|
#t)))))
|
||||||
(native-inputs (modify-inputs (package-native-inputs binutils)
|
(native-inputs (modify-inputs (package-native-inputs binutils)
|
||||||
(append bc)))))
|
(append bc)))))
|
||||||
|
|
||||||
|
|
|
@ -937,13 +937,14 @@ (define binutils-mesboot0
|
||||||
(native-inputs (%boot-tcc-inputs))
|
(native-inputs (%boot-tcc-inputs))
|
||||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:implicit-inputs? #f
|
(list #:implicit-inputs? #f
|
||||||
#:guile ,%bootstrap-guile
|
#:guile %bootstrap-guile
|
||||||
#:tests? #f ; runtest: command not found
|
#:tests? #f ; runtest: command not found
|
||||||
#:parallel-build? #f
|
#:parallel-build? #f
|
||||||
#:strip-binaries? #f ; no strip yet
|
#:strip-binaries? #f ; no strip yet
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
(let ((cppflags (string-append " -D __GLIBC_MINOR__=6"
|
#~(let ((cppflags (string-append
|
||||||
|
" -D __GLIBC_MINOR__=6"
|
||||||
" -D MES_BOOTSTRAP=1"))
|
" -D MES_BOOTSTRAP=1"))
|
||||||
(bash (assoc-ref %build-inputs "bash")))
|
(bash (assoc-ref %build-inputs "bash")))
|
||||||
`(,(string-append "CONFIG_SHELL=" bash "/bin/sh")
|
`(,(string-append "CONFIG_SHELL=" bash "/bin/sh")
|
||||||
|
@ -1266,9 +1267,8 @@ (define binutils-mesboot1
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments binutils-mesboot0)
|
(substitute-keyword-arguments (package-arguments binutils-mesboot0)
|
||||||
((#:configure-flags configure-flags)
|
((#:configure-flags configure-flags)
|
||||||
'(let ((out (assoc-ref %outputs "out")))
|
#~(let ((out (assoc-ref %outputs "out")))
|
||||||
`("--disable-nls"
|
`("--disable-nls" "--disable-shared"
|
||||||
"--disable-shared"
|
|
||||||
"--disable-werror"
|
"--disable-werror"
|
||||||
"--build=i686-unknown-linux-gnu"
|
"--build=i686-unknown-linux-gnu"
|
||||||
"--host=i686-unknown-linux-gnu"
|
"--host=i686-unknown-linux-gnu"
|
||||||
|
@ -2249,33 +2249,39 @@ (define binutils-boot0
|
||||||
(source (bootstrap-origin (package-source binutils)))
|
(source (bootstrap-origin (package-source binutils)))
|
||||||
(name "binutils-cross-boot0")
|
(name "binutils-cross-boot0")
|
||||||
(arguments
|
(arguments
|
||||||
`(#:guile ,%bootstrap-guile
|
(append (list #:guile %bootstrap-guile
|
||||||
#:implicit-inputs? #f
|
#:implicit-inputs? #f
|
||||||
|
|
||||||
#:modules ((guix build gnu-build-system)
|
#:modules '((guix build gnu-build-system)
|
||||||
(guix build utils)
|
(guix build utils)
|
||||||
(ice-9 ftw)) ; for 'scandir'
|
(ice-9 ftw)) ; for 'scandir'
|
||||||
#:phases (modify-phases %standard-phases
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'install 'add-symlinks
|
(add-after 'install 'add-symlinks
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
;; The cross-gcc invokes 'as', 'ld', etc, without the
|
;; The cross-gcc invokes 'as', 'ld', etc, without the
|
||||||
;; triplet prefix, so add symlinks.
|
;; triplet prefix, so add symlinks.
|
||||||
(let ((out (assoc-ref outputs "out"))
|
(let ((out (assoc-ref outputs "out"))
|
||||||
(triplet-prefix (string-append ,(boot-triplet) "-")))
|
(triplet-prefix (string-append #$(boot-triplet)
|
||||||
|
"-")))
|
||||||
(define (has-triplet-prefix? name)
|
(define (has-triplet-prefix? name)
|
||||||
(string-prefix? triplet-prefix name))
|
(string-prefix? triplet-prefix name))
|
||||||
(define (remove-triplet-prefix name)
|
(define (remove-triplet-prefix name)
|
||||||
(substring name (string-length triplet-prefix)))
|
(substring name
|
||||||
|
(string-length triplet-prefix)))
|
||||||
|
|
||||||
(with-directory-excursion (string-append out "/bin")
|
(with-directory-excursion (string-append out "/bin")
|
||||||
(for-each (lambda (name)
|
(for-each (lambda (name)
|
||||||
(symlink name (remove-triplet-prefix name)))
|
(symlink name
|
||||||
(scandir "." has-triplet-prefix?)))))))
|
(remove-triplet-prefix name)))
|
||||||
|
(scandir "."
|
||||||
,@(substitute-keyword-arguments (package-arguments binutils)
|
has-triplet-prefix?))))))))
|
||||||
|
(substitute-keyword-arguments (package-arguments binutils)
|
||||||
((#:configure-flags cf)
|
((#:configure-flags cf)
|
||||||
`(append (list ,(string-append "--target=" (boot-triplet))
|
#~(append (list #$(string-append "--target="
|
||||||
|
(boot-triplet))
|
||||||
"--disable-gprofng") ;requires Bison
|
"--disable-gprofng") ;requires Bison
|
||||||
,cf)))))
|
#$cf)))))
|
||||||
(native-inputs '()) ;no Bison
|
(native-inputs '()) ;no Bison
|
||||||
(inputs (%boot0-inputs))))
|
(inputs (%boot0-inputs))))
|
||||||
|
|
||||||
|
@ -3182,23 +3188,21 @@ (define binutils-final
|
||||||
(inherit binutils)
|
(inherit binutils)
|
||||||
(source (bootstrap-origin (package-source binutils)))
|
(source (bootstrap-origin (package-source binutils)))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:guile ,%bootstrap-guile
|
(append (list #:guile %bootstrap-guile
|
||||||
#:implicit-inputs? #f
|
#:implicit-inputs? #f
|
||||||
#:allowed-references
|
#:allowed-references `("out" ,glibc-final
|
||||||
("out"
|
,(this-package-native-input
|
||||||
,glibc-final
|
"libstdc++")
|
||||||
,(this-package-native-input "libstdc++")
|
|
||||||
,@(if (target-powerpc? (%current-system))
|
,@(if (target-powerpc? (%current-system))
|
||||||
(list static-bash-for-glibc)
|
(list static-bash-for-glibc)
|
||||||
'()))
|
'())))
|
||||||
|
(substitute-keyword-arguments (package-arguments binutils)
|
||||||
,@(substitute-keyword-arguments (package-arguments binutils)
|
|
||||||
((#:configure-flags flags #~'())
|
((#:configure-flags flags #~'())
|
||||||
;; For gprofng, tell the build system where to look for libstdc++.
|
;; For gprofng, tell the build system where to look for libstdc++.
|
||||||
#~(append #$flags
|
#~(append #$flags
|
||||||
(list (string-append
|
(list (string-append "LDFLAGS=-L"
|
||||||
"LDFLAGS=-L"
|
#$(this-package-native-input
|
||||||
#$(this-package-native-input "libstdc++")
|
"libstdc++")
|
||||||
"/lib")))))))
|
"/lib")))))))
|
||||||
(native-inputs (list bison-boot0
|
(native-inputs (list bison-boot0
|
||||||
libstdc++)) ;for gprofng
|
libstdc++)) ;for gprofng
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013-2018, 2020, 2023 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013-2018, 2020, 2023-2024 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2016, 2019, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2016, 2019, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||||
|
@ -127,7 +127,7 @@ (define* (cross-binutils* target
|
||||||
;; to pick up native libs instead of target ones. In
|
;; to pick up native libs instead of target ones. In
|
||||||
;; practice the RUNPATH of target libs only refers to
|
;; practice the RUNPATH of target libs only refers to
|
||||||
;; target libs, not native libs, so this is safe.
|
;; target libs, not native libs, so this is safe.
|
||||||
`(cons "--with-sysroot=/" ,flags)))))))
|
#~(cons "--with-sysroot=/" #$flags)))))))
|
||||||
|
|
||||||
;; For xtensa-ath9k-elf, apply Qualcomm's patch.
|
;; For xtensa-ath9k-elf, apply Qualcomm's patch.
|
||||||
(cross (cond ((string=? target "xtensa-ath9k-elf")
|
(cross (cond ((string=? target "xtensa-ath9k-elf")
|
||||||
|
|
|
@ -746,16 +746,17 @@ (define make-propeller-binutils
|
||||||
"0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck"))
|
"0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck"))
|
||||||
(patches '())))
|
(patches '())))
|
||||||
(arguments
|
(arguments
|
||||||
`(;; FIXME: For some reason there are many test failures. It's not
|
(list
|
||||||
|
;; FIXME: For some reason there are many test failures. It's not
|
||||||
;; obvious how to fix the failures.
|
;; obvious how to fix the failures.
|
||||||
#:tests? #f
|
#:tests? #f
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'chdir
|
(add-after 'unpack 'chdir
|
||||||
(lambda _ (chdir "binutils") #t)))
|
(lambda _ (chdir "binutils") #t))
|
||||||
,@(substitute-keyword-arguments (package-arguments xbinutils)
|
#$@(substitute-keyword-arguments (package-arguments xbinutils)
|
||||||
((#:configure-flags flags)
|
((#:configure-flags flags)
|
||||||
`(cons "--disable-werror" ,flags)))))
|
#~(cons "--disable-werror" #$flags))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("bison" ,bison)
|
`(("bison" ,bison)
|
||||||
("flex" ,flex)
|
("flex" ,flex)
|
||||||
|
|
|
@ -375,32 +375,34 @@ (define %linux-libre-headers-stripped
|
||||||
|
|
||||||
(define %binutils-static
|
(define %binutils-static
|
||||||
;; Statically-linked Binutils.
|
;; Statically-linked Binutils.
|
||||||
(package (inherit binutils)
|
(package
|
||||||
|
(inherit binutils)
|
||||||
(name "binutils-static")
|
(name "binutils-static")
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags (cons "--disable-gold"
|
(list #:configure-flags
|
||||||
,(match (memq #:configure-flags
|
#~(cons "--disable-gold"
|
||||||
(package-arguments binutils))
|
#$(match (memq #:configure-flags (package-arguments binutils))
|
||||||
((#:configure-flags flags _ ...)
|
((#:configure-flags flags _ ...)
|
||||||
flags)))
|
flags)))
|
||||||
#:make-flags ,(match (memq #:make-flags (package-arguments binutils))
|
#:make-flags
|
||||||
|
(match (memq #:make-flags (package-arguments binutils))
|
||||||
((#:make-flags flags _ ...)
|
((#:make-flags flags _ ...)
|
||||||
flags)
|
flags)
|
||||||
(_ ''()))
|
(_ #~'()))
|
||||||
#:strip-flags '("--strip-all")
|
#:strip-flags #~'("--strip-all")
|
||||||
#:phases (modify-phases %standard-phases
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
(add-before 'configure 'all-static
|
(add-before 'configure 'all-static
|
||||||
(lambda _
|
(lambda _
|
||||||
;; The `-all-static' libtool flag can only be passed
|
;; The `-all-static' libtool flag can only be passed after
|
||||||
;; after `configure', since configure tests don't use
|
;; `configure', since configure tests don't use libtool,
|
||||||
;; libtool, and only for executables built with libtool.
|
;; and only for executables built with libtool.
|
||||||
(substitute* '("binutils/Makefile.in"
|
(substitute* '("binutils/Makefile.in"
|
||||||
"gas/Makefile.in"
|
"gas/Makefile.in" "ld/Makefile.in")
|
||||||
"ld/Makefile.in")
|
|
||||||
(("^LDFLAGS =(.*)$" line)
|
(("^LDFLAGS =(.*)$" line)
|
||||||
(string-append line
|
(string-append
|
||||||
"\nAM_LDFLAGS = -static -all-static\n")))
|
line
|
||||||
#t)))))))
|
"\nAM_LDFLAGS = -static -all-static\n"))))))))))
|
||||||
|
|
||||||
(define %binutils-static-stripped
|
(define %binutils-static-stripped
|
||||||
;; The subset of Binutils that we need.
|
;; The subset of Binutils that we need.
|
||||||
|
|
Loading…
Reference in a new issue