me
/
guix
Archived
1
0
Fork 0

gnu: gcc-arm-none-eabi-4.9: Use G-expression.

This change is necessary because the parent xgcc package uses G-expressions
for configure flags and phases.

* gnu/packages/embedded.scm (gcc-arm-none-eabi-4.9)[arguments]: Use
G-expressions; also remove trailing #T.
master
Ricardo Wurmus 2023-04-23 13:29:36 +02:00
parent e6994d7e3f
commit 1b633a4082
No known key found for this signature in database
GPG Key ID: 197A5888235FACAC
1 changed files with 36 additions and 38 deletions

View File

@ -113,47 +113,45 @@
(arguments (arguments
(substitute-keyword-arguments (package-arguments xgcc) (substitute-keyword-arguments (package-arguments xgcc)
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases #~(modify-phases #$phases
(add-after 'set-paths 'augment-CPLUS_INCLUDE_PATH (add-after 'set-paths 'augment-CPLUS_INCLUDE_PATH
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((gcc (assoc-ref inputs "gcc"))) (let ((gcc (assoc-ref inputs "gcc")))
;; Remove the default compiler from CPLUS_INCLUDE_PATH to ;; Remove the default compiler from CPLUS_INCLUDE_PATH to
;; prevent header conflict with the GCC from native-inputs. ;; prevent header conflict with the GCC from native-inputs.
(setenv "CPLUS_INCLUDE_PATH" (setenv "CPLUS_INCLUDE_PATH"
(string-join (string-join
(delete (string-append gcc "/include/c++") (delete (string-append gcc "/include/c++")
(string-split (getenv "CPLUS_INCLUDE_PATH") (string-split (getenv "CPLUS_INCLUDE_PATH")
#\:)) #\:))
":")) ":"))
(format #t (format #t
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%" "environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
(getenv "CPLUS_INCLUDE_PATH")) (getenv "CPLUS_INCLUDE_PATH")))))
#t))) (add-after 'unpack 'fix-genmultilib
(add-after 'unpack 'fix-genmultilib (lambda _
(lambda _ (substitute* "gcc/genmultilib"
(substitute* "gcc/genmultilib" (("#!/bin/sh") (string-append "#!" (which "sh"))))))))
(("#!/bin/sh") (string-append "#!" (which "sh"))))
#t))))
((#:configure-flags flags) ((#:configure-flags flags)
;; The configure flags are largely identical to the flags used by the ;; The configure flags are largely identical to the flags used by the
;; "GCC ARM embedded" project. ;; "GCC ARM embedded" project.
`(append (list "--enable-multilib" #~(append (list "--enable-multilib"
"--with-newlib" "--with-newlib"
"--with-multilib-list=armv6-m,armv7-m,armv7e-m" "--with-multilib-list=armv6-m,armv7-m,armv7e-m"
"--with-host-libstdcxx=-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm" "--with-host-libstdcxx=-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm"
"--enable-plugins" "--enable-plugins"
"--disable-decimal-float" "--disable-decimal-float"
"--disable-libffi" "--disable-libffi"
"--disable-libgomp" "--disable-libgomp"
"--disable-libmudflap" "--disable-libmudflap"
"--disable-libquadmath" "--disable-libquadmath"
"--disable-libssp" "--disable-libssp"
"--disable-libstdcxx-pch" "--disable-libstdcxx-pch"
"--disable-nls" "--disable-nls"
"--disable-shared" "--disable-shared"
"--disable-threads" "--disable-threads"
"--disable-tls") "--disable-tls")
(delete "--disable-multilib" ,flags))))) (delete "--disable-multilib" #$flags)))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "CROSS_C_INCLUDE_PATH") (variable "CROSS_C_INCLUDE_PATH")