gnu: avr-libc: Update to 2.1-1 (git version)

  • Open
  • quality assurance status badge
Details
One participant
  • Kristian Lein-Mathisen
Owner
unassigned
Submitted by
Kristian Lein-Mathisen
Severity
normal
K
K
Kristian Lein-Mathisen wrote on 27 Nov 2023 14:03
(address . guix-patches@gnu.org)
CAAGQtHwy7_fWD77DSbPcKCXsooMbEe=Mgne6j=hWnwTvR_7w+A@mail.gmail.com
Hi,

I'm working with the newest AVR devices and as such need the newer
avr-libc. avr-libc was moved from savannah to github and seems to have no
official releases after 2.1. However, several new AVR devices have been
added to the post 2.1-release and this is useful to package. avr-libc
currently most recent commit
is quite old, from Jul 6, 2022, and it the once I've used here.

My patch simply replaces the older 2.0 avr-libc which may rise some
stability concerns. If there is a way to parameterize make-avr-libc to
support both 2.0 and 2.1-1 (and perhaps 2.1) in a way that's accessibly to
(make-avr-toolchain #:xgcc gcc-14), please advice.

Also, there used to be an old avr-toolchain package which is now gone. I
now have to issue

Toggle quote (1 lines)
> guix package -e '(begin (import (gnu packages avr) (gnu packages gcc))
(make-avr-toolchain #:xgcc gcc-13))'

In order to install avr-gcc, is this how this is intended to work?

Thanks for any pointers,
K.
Attachment: file
K
K
Kristian Lein-Mathisen wrote on 27 Nov 2023 15:24
(address . guix-patches@gnu.org)
CAAGQtHzS-hdXcvfj0hKRZrEKALWsiDYD=bjj2Za-i+ubZz6ZiA@mail.gmail.com
And here, the attachment. How embarrassing!
K.

On Mon, Nov 27, 2023 at 2:03?PM Kristian Lein-Mathisen <
kristianlein@gmail.com> wrote:

Toggle quote (27 lines)
>
> Hi,
>
> I'm working with the newest AVR devices and as such need the newer
> avr-libc. avr-libc was moved from savannah to github and seems to have no
> official releases after 2.1. However, several new AVR devices have been
> added to the post 2.1-release and this is useful to package. avr-libc
> currently most recent commit
> <https://github.com/avrdudes/avr-libc/commit/55e8cac69935657bcd3e4d938750960c757844c3>
> is quite old, from Jul 6, 2022, and it the once I've used here.
>
> My patch simply replaces the older 2.0 avr-libc which may rise some
> stability concerns. If there is a way to parameterize make-avr-libc to
> support both 2.0 and 2.1-1 (and perhaps 2.1) in a way that's accessibly to
> (make-avr-toolchain #:xgcc gcc-14), please advice.
>
> Also, there used to be an old avr-toolchain package which is now gone. I
> now have to issue
>
> > guix package -e '(begin (import (gnu packages avr) (gnu packages gcc))
> (make-avr-toolchain #:xgcc gcc-13))'
>
> In order to install avr-gcc, is this how this is intended to work?
>
> Thanks for any pointers,
> K.
>
Attachment: file
From 902d1628ec6902f726152cd52815521fd5091153 Mon Sep 17 00:00:00 2001
From: Kristian Lein-Mathisen <kristianlein@gmail.com>
Date: Mon, 27 Nov 2023 13:08:55 +0100
Subject: [PATCH] gnu: avr-libc: Update to unofficial 2.1-1

* gnu/packages/avr.scm (gnu): Update to 2.1-1
---
gnu/packages/avr.scm | 60 ++++++++++++++++++++++++++++----------------
1 file changed, 38 insertions(+), 22 deletions(-)

Toggle diff (83 lines)
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index a66abbbd3a..420b17b469 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -38,6 +38,8 @@ (define-module (gnu packages avr)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages flashing-tools)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages llvm)
#:use-module (gnu packages vim)
#:export (make-avr-toolchain))
@@ -120,29 +122,43 @@ (define make-avr-gcc
(memoize make-avr-gcc/implementation))
(define* (make-avr-libc/implementation #:key (xgcc gcc))
- (package
- (name "avr-libc")
- (version "2.0.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://savannah//avr-libc/avr-libc-"
- version ".tar.bz2"))
- (sha256
- (base32
- "15svr2fx8j6prql2il2fc0ppwlv50rpmyckaxx38d3gxxv97zpdj"))))
- (build-system gnu-build-system)
- (arguments
- '(#:out-of-source? #t
- #:configure-flags '("--host=avr")))
- (native-inputs `(("avr-binutils" ,(make-avr-binutils))
- ("avr-gcc" ,(make-avr-gcc #:xgcc xgcc))))
- (home-page "https://www.nongnu.org/avr-libc/")
- (synopsis "The AVR C Library")
- (description
- "AVR Libc is a project whose goal is to provide a high quality C library
+ (let ((commit "55e8cac69935657bcd3e4d938750960c757844c3")
+ (revision "1")) ;; post-2.1 they say
+ (package
+ (name "avr-libc")
+ (version (git-version "2.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/avrdudes/avr-libc")
+ (commit commit)))
+ (sha256
+ (base32 "00zgrd8sy7449hycr6429flv2ivddndbjvz0bi62sjalqyy7f3w7"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:out-of-source? #t
+ #:configure-flags '("--host=avr")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-shebangs
+ (lambda _
+ (substitute* "devtools/gen-avr-lib-tree.sh"
+ (("#! /bin/sh") (string-append "#!" (which "sh"))))
+ (substitute* "devtools/mlib-gen.py"
+ (("#!/usr/bin/env python") (string-append "#!" (which "python3")))))))))
+ (native-inputs `(("avr-binutils" ,(make-avr-binutils))
+ ("avr-gcc" ,(make-avr-gcc #:xgcc gcc))
+ ("python" ,python)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)))
+ (home-page "https://www.nongnu.org/avr-libc/")
+ (synopsis "The AVR C Library")
+ (description
+ "AVR Libc is a project whose goal is to provide a high quality C library
for use with GCC on Atmel AVR microcontrollers.")
- (license
- (license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))
+ (license
+ (license:non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt")))))
(define make-avr-libc
(memoize make-avr-libc/implementation))

base-commit: 3778f778c37110460dd78088200cbd05eb0c49e4
--
2.41.0
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 67484@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 67484
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch