gnu: avr: Use the correct gcc version as native-input.

* gnu/packages/avr.scm (avr-libc): Replace package by function.
* gnu/packages/avr.scm (avr-toolchain): Use new avr-libc function.

Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
Danny Milosavljevic 2016-08-15 12:45:28 +02:00 committed by Leo Famulari
parent d23ce1ce2b
commit 4d2470b0ef
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
1 changed files with 20 additions and 17 deletions

View File

@ -73,7 +73,7 @@
(version (package-version gcc-5)) (version (package-version gcc-5))
(source (package-source gcc-5)))) (source (package-source gcc-5))))
(define-public avr-libc (define (avr-libc avr-gcc)
(package (package
(name "avr-libc") (name "avr-libc")
(version "2.0.0") (version "2.0.0")
@ -99,7 +99,7 @@
(unsetenv "C_INCLUDE_PATH") (unsetenv "C_INCLUDE_PATH")
#t))))) #t)))))
(native-inputs `(("avr-binutils" ,avr-binutils) (native-inputs `(("avr-binutils" ,avr-binutils)
("avr-gcc" ,avr-gcc-4.9))) ("avr-gcc" ,avr-gcc)))
(home-page "http://www.nongnu.org/avr-libc/") (home-page "http://www.nongnu.org/avr-libc/")
(synopsis "The AVR C Library") (synopsis "The AVR C Library")
(description (description
@ -109,24 +109,27 @@ for use with GCC on Atmel AVR microcontrollers.")
(license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt")))) (license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))
(define (avr-toolchain avr-gcc) (define (avr-toolchain avr-gcc)
(package ;; avr-libc checks the compiler version and passes "--enable-device-lib" for avr-gcc > 5.1.0.
(name "avr-toolchain") ;; It wouldn't install the library for atmega32u4 etc if we didn't use the corret avr-gcc.
(version (package-version avr-gcc)) (let ((avr-libc (avr-libc avr-gcc)))
(source #f) (package
(build-system trivial-build-system) (name "avr-toolchain")
(arguments '(#:builder (mkdir %output))) (version (package-version avr-gcc))
(propagated-inputs (source #f)
`(("avrdude" ,avrdude) (build-system trivial-build-system)
("binutils" ,avr-binutils) (arguments '(#:builder (mkdir %output)))
("gcc" ,avr-gcc) (propagated-inputs
("libc" ,avr-libc))) `(("avrdude" ,avrdude)
(synopsis "Complete GCC tool chain for AVR microcontroller development") ("binutils" ,avr-binutils)
(description "This package provides a complete GCC tool chain for AVR ("gcc" ,avr-gcc)
("libc" ,avr-libc)))
(synopsis "Complete GCC tool chain for AVR microcontroller development")
(description "This package provides a complete GCC tool chain for AVR
microcontroller development. This includes the GCC AVR cross compiler and microcontroller development. This includes the GCC AVR cross compiler and
avrdude for firmware flashing. The supported programming languages are C and avrdude for firmware flashing. The supported programming languages are C and
C++.") C++.")
(home-page (package-home-page avr-libc)) (home-page (package-home-page avr-libc))
(license (package-license avr-gcc)))) (license (package-license avr-gcc)))))
(define-public avr-toolchain-4.9 (avr-toolchain avr-gcc-4.9)) (define-public avr-toolchain-4.9 (avr-toolchain avr-gcc-4.9))
(define-public avr-toolchain-5 (avr-toolchain avr-gcc-5)) (define-public avr-toolchain-5 (avr-toolchain avr-gcc-5))