[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#48767] [PATCH 3/6] gnu: Add newlib-msp430.
From: |
Maxime Devos |
Subject: |
[bug#48767] [PATCH 3/6] gnu: Add newlib-msp430. |
Date: |
Sun, 26 Sep 2021 18:04:45 +0200 |
User-agent: |
Evolution 3.34.2 |
Morgan.J.Smith@outlook.com schreef op zo 26-09-2021 om 10:51 [-0400]:
> From: Morgan Smith <Morgan.J.Smith@outlook.com>
>
> * gnu/packages/embedded.scm (newlib-msp430): New variable.
> ---
> gnu/packages/embedded.scm | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
> index 7073168b57..49f3eda5fb 100644
> --- a/gnu/packages/embedded.scm
> +++ b/gnu/packages/embedded.scm
> @@ -563,6 +563,41 @@ languages are C and C++.")
> (variable "CROSS_LIBRARY_PATH")
> (files '("msp430-elf/lib"))))))))
>
> +(define-public newlib-msp430
> + (package
> + (name "newlib")
> + (version "2.4.0")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "ftp://sourceware.org/pub/newlib/newlib-"
> + version ".tar.gz"))
> + (sha256
> + (base32
> + "01i7qllwicf05vsvh39qj7qp5fdifpvvky0x95hjq39mbqiksnsl"))))
> + (build-system gnu-build-system)
There already is a newlib package: newlib-arm-none-eabi.
Could you use (package (inherit "newlib-msp430") ...) to reduce duplication?
Also, could you
(a) change the name to, say, "newlib-msp430"
or (b) instead of defining a new "newlib" package, keep a single newlib package
and make the architecture-dependent tweaks depend on (%current-target-system)?
such that "newlib@2.4.0" is an unambigious specification (or, at least, not
more ambigious than it was before), usable for "specification->package"?
> + (arguments
> + `(#:out-of-source? #t
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'fix-references-to-/bin/sh
> + (lambda _
> + (substitute* '("libgloss/msp430/Makefile.in"
> + "libgloss/libnosys/Makefile.in"
> + "libgloss/Makefile.in")
> + (("/bin/sh") (which "sh"))))))
This duplication can be removed by inheriting from 'newlib-arm-none-eabi'.
> + #:configure-flags '("--target=msp430-elf")))
I'd suggest adding #:target "msp430-elf" to 'arguments' instead
of setting #:configure-flags directly. That way, guix knows we are
cross-compiling and won't try to run tests and won't try to
run 'ldconfig'.
Greetings,
Maxime.
signature.asc
Description: This is a digitally signed message part