@@ -12,6 +12,7 @@
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1556,6 +1557,64 @@ (define-public sdcc
license:public-domain
license:zlib))))
+(define-public python-platformio
+ (package
+ (name "python-platformio")
+ (version "6.0.2")
+ (source (origin
+ ;; PyPI does not include tox.ini
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/platformio/platformio-core")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0scb9z3rpkpdvpx6lcj51vqx1vzkxi2fdfqxk2ir9r9qwgvhbxf9"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Requirements refer to a specific version of dependencies,
+ ;; which are too old. So we patch to refer to any later version.
+ (add-after 'unpack 'patch-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("==") ">="))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "tox" "-e" "py39" "--sitepackages")))))))
+ (propagated-inputs (list python-aiofiles
+ python-ajsonrpc
+ python-bottle
+ python-click
+ python-colorama
+ python-marshmallow
+ python-pyelftools
+ python-pyserial
+ python-requests
+ python-semantic-version
+ python-service-identity
+ python-starlette
+ python-tabulate
+ python-twisted
+ python-uvicorn
+ python-wsproto
+ python-zeroconf))
+ (native-inputs (list python-black
+ python-isort
+ python-jsondiff
+ python-tox
+ python-pylint
+ python-pytest
+ python-pytest-xdist))
+ (home-page "https://platformio.org")
+ (synopsis "Platform for embedded development")
+ (description
+ "PlatformIO is a cross-platform, cross-architecture, multiple framework,
+tool for embedded systems development.")
+ (license license:asl2.0)))
+
(define-public python-psptool
(package
(name "python-psptool")
From: Peter Polidoro <peter@polidoro.io> * gnu/packages/embedded.scm (python-platformio): New variable. --- gnu/packages/embedded.scm | 59 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+)