gnu: Add newlib-arm-none-eabi.

* gnu/packages/embedded.scm (newlib-arm-none-eabi): New variable.
This commit is contained in:
Ricardo Wurmus 2016-09-17 19:12:24 +02:00
parent 35a37efbfd
commit 6c39886a80
No known key found for this signature in database
GPG key ID: 197A5888235FACAC

View file

@ -96,3 +96,46 @@ (define-public gcc-arm-none-eabi-4.9
(search-path-specification
(variable "CROSS_LIBRARY_PATH")
(files '("arm-none-eabi/lib"))))))))
(define-public newlib-arm-none-eabi
(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)
(arguments
`(#:out-of-source? #t
;; The configure flags are identical to the flags used by the "GCC ARM
;; embedded" project.
#:configure-flags '("--target=arm-none-eabi"
"--enable-newlib-io-long-long"
"--enable-newlib-register-fini"
"--disable-newlib-supplied-syscalls"
"--disable-nls")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-references-to-/bin/sh
(lambda _
(substitute* '("libgloss/arm/cpu-init/Makefile.in"
"libgloss/arm/Makefile.in"
"libgloss/libnosys/Makefile.in"
"libgloss/Makefile.in")
(("/bin/sh") (which "sh")))
#t)))))
(native-inputs
`(("xbinutils" ,(cross-binutils "arm-none-eabi"))
("xgcc" ,gcc-arm-none-eabi-4.9)
("texinfo" ,texinfo)))
(home-page "http://www.sourceware.org/newlib/")
(synopsis "C library for use on embedded systems")
(description "Newlib is a C library intended for use on embedded
systems. It is a conglomeration of several library parts that are easily
usable on embedded products.")
(license (license:non-copyleft
"https://www.sourceware.org/newlib/COPYING.NEWLIB"))))