From 619ff2fa1d5b60b5fe33216ca2d6219c04a5515b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 13 Sep 2023 15:54:40 -0400 Subject: gnu: Add teensy-udev-rules. * gnu/packages/flashing-tools.scm (teensy-udev-rules): New variable. Change-Id: Icdb2fc94d308646dabaeb0fc8e3e27585a9efd53 --- gnu/packages/flashing-tools.scm | 43 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 58da4aebf7..23d21ca6a9 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2021 Mathieu Othacehe ;;; Copyright © 2022 Peter Polidoro ;;; Copyright © 2023 B. Wilson +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,6 +37,7 @@ #:use-module (guix utils) #:use-module (gnu packages) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system python) @@ -64,7 +66,8 @@ #:use-module (gnu packages pciutils) #:use-module (gnu packages qt) #:use-module (gnu packages tls) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (srfi srfi-26)) (define-public flashrom (package @@ -257,6 +260,44 @@ non-root users.") (home-page "https://www.pjrc.com/teensy/loader_cli.html") (license license:gpl3+))) +(define-public teensy-udev-rules + (package + (name "teensy-udev-rules") + (version "20230913") ;no version whatsoever -- use the current date + (source (origin + (method url-fetch) + (uri "https://www.pjrc.com/teensy/00-teensy.rules") + (sha256 + (base32 + "1yxczxvwi0s31g7lfa4v13yvvpv6gcsfs7r9mv6y4w9jc1inpx8p")))) + (build-system copy-build-system) + (arguments + (let ((rules-file "lib/udev/rules.d/70-teensy.rules")) + (list + #:install-plan + #~(list `(,#$source #$rules-file)) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (string-append #$output "/" #$rules-file) + (("/bin/stty") + (search-input-file inputs "bin/stty"))))))))) + (inputs (list coreutils-minimal)) + (home-page "https://www.pjrc.com/teensy/loader_cli.html") + (synopsis "udev rules for the Teensy family of micro-controllers") + (description "This package provides a udev rules file that allows +unprivileged users communication with the Teensy family of micro-controllers. +ModemManager (part of NetworkManager) can interfere with USB Serial devices, +which includes the Teensy. In case of problems, see the @file{.rules} file +for possible workarounds.") + ;; FIXME: The file lacks an explicit license, so the license of + ;; teensy-cli-loader is *assumed* to hold (see: + ;; https://github.com/PaulStoffregen/teensy_loader_cli/issues/84). + (license license:gpl3+) + (supported-systems (filter (cut string-suffix? "-linux" <>) + %supported-systems)))) + (define-public rkflashtool (let ((commit "8966c4e277de8148290554aaaa4146a3a84a3c53") (revision "1")) -- cgit v1.2.3