aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/avr.scm
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2016-08-15 12:45:28 +0200
committerLeo Famulari <leo@famulari.name>2016-08-15 14:48:21 -0400
commit4d2470b0efb399ad974e2a764db685e952b94323 (patch)
tree2edc5c4390a301368ea4fee61805de4a28af7f60 /gnu/packages/avr.scm
parentd23ce1ce2b5103703a5902c7c06dff40b1310319 (diff)
downloadgnu-guix-4d2470b0efb399ad974e2a764db685e952b94323.tar
gnu-guix-4d2470b0efb399ad974e2a764db685e952b94323.tar.gz
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>
Diffstat (limited to 'gnu/packages/avr.scm')
-rw-r--r--gnu/packages/avr.scm37
1 files changed, 20 insertions, 17 deletions
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index 987347713c..fd18ff6a9a 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -73,7 +73,7 @@
(version (package-version gcc-5))
(source (package-source gcc-5))))
-(define-public avr-libc
+(define (avr-libc avr-gcc)
(package
(name "avr-libc")
(version "2.0.0")
@@ -99,7 +99,7 @@
(unsetenv "C_INCLUDE_PATH")
#t)))))
(native-inputs `(("avr-binutils" ,avr-binutils)
- ("avr-gcc" ,avr-gcc-4.9)))
+ ("avr-gcc" ,avr-gcc)))
(home-page "http://www.nongnu.org/avr-libc/")
(synopsis "The AVR C Library")
(description
@@ -109,24 +109,27 @@ for use with GCC on Atmel AVR microcontrollers.")
(license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))
(define (avr-toolchain avr-gcc)
- (package
- (name "avr-toolchain")
- (version (package-version avr-gcc))
- (source #f)
- (build-system trivial-build-system)
- (arguments '(#:builder (mkdir %output)))
- (propagated-inputs
- `(("avrdude" ,avrdude)
- ("binutils" ,avr-binutils)
- ("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
+ ;; avr-libc checks the compiler version and passes "--enable-device-lib" for avr-gcc > 5.1.0.
+ ;; It wouldn't install the library for atmega32u4 etc if we didn't use the corret avr-gcc.
+ (let ((avr-libc (avr-libc avr-gcc)))
+ (package
+ (name "avr-toolchain")
+ (version (package-version avr-gcc))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments '(#:builder (mkdir %output)))
+ (propagated-inputs
+ `(("avrdude" ,avrdude)
+ ("binutils" ,avr-binutils)
+ ("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
avrdude for firmware flashing. The supported programming languages are C and
C++.")
- (home-page (package-home-page avr-libc))
- (license (package-license avr-gcc))))
+ (home-page (package-home-page avr-libc))
+ (license (package-license avr-gcc)))))
(define-public avr-toolchain-4.9 (avr-toolchain avr-gcc-4.9))
(define-public avr-toolchain-5 (avr-toolchain avr-gcc-5))