283 lines
11 KiB
Scheme
283 lines
11 KiB
Scheme
;;; GNU Guix --- Functional package management for GNU
|
|
;;;
|
|
;;; Copyright © 2023 Stefan <stefan-guix@vodafonemail.de>
|
|
;;;
|
|
;;; This file is not part of GNU Guix.
|
|
;;;
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
;;; under the terms of the GNU General Public License as published by
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
;;; your option) any later version.
|
|
;;;
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;;; GNU General Public License for more details.
|
|
;;;
|
|
;;; You should have received a copy of the GNU General Public License
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
(define-module (zephyr modules)
|
|
#:use-module (guix gexp)
|
|
#:use-module (guix build-system copy)
|
|
#:use-module (guix git-download)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (guix packages)
|
|
#:use-module (ice-9 regex)
|
|
#:use-module (zephyr))
|
|
|
|
(define-public (zephyr-module-installation-target zephyr-module)
|
|
"Return the target directory for the install-plan of the copy-build-system for
|
|
the ZEPHYR-MODULE package. It needs to match a certain pattern to collect
|
|
search-paths for zephyr-modules in the ZEPHYR_MOUDULES environment variable."
|
|
(string-append
|
|
;; Add the needed prefix to the module name.
|
|
"/" %zephyr-module "/"
|
|
;; Get the module name from the usually prefixed package name.
|
|
(regexp-substitute #f (string-match "^(zephyr-module-|)"
|
|
(package-name zephyr-module))
|
|
"" 'post)))
|
|
|
|
(define-public zephyr-module-template
|
|
"Return a template package to inherit zephyr module packages from. It
|
|
provides the build-system and proper arguments."
|
|
(package
|
|
(name "zephyr-module-template")
|
|
(version "0")
|
|
(source #f)
|
|
(build-system copy-build-system)
|
|
(arguments
|
|
(list #:install-plan
|
|
#~(list
|
|
(list "." #$(zephyr-module-installation-target this-package)))))
|
|
(home-page #f)
|
|
(synopsis #f)
|
|
(description #f)
|
|
(license #f)))
|
|
|
|
(define-public zephyr-module-cmsis
|
|
(let ((revision "1")
|
|
(commit "74981bf893e8b10931464b9945e2143d99a3f0a3"))
|
|
(package/inherit zephyr-module-template
|
|
(name "zephyr-module-cmsis")
|
|
(version (git-version "5.8.0" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/cmsis")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"11wwcdwzi5ac8k881616p69v7cz356cwvbqsmmfw3w3v63b9dsmy"))))
|
|
(home-page "https://github.com/zephyrproject-rtos/cmsis")
|
|
(synopsis "Zephyr module for CMSIS")
|
|
(description "Zephyr module providing the Common Microcontroller
|
|
Software Interface Standard.")
|
|
(license license:apsl2))))
|
|
|
|
(define-public zephyr-module-hal-nordic
|
|
(let ((revision "1")
|
|
(commit "cf6e9fc5f7c2c98df26f2a4227a95df9a50823e7"))
|
|
(package/inherit zephyr-module-template
|
|
(name "zephyr-module-hal-nordic")
|
|
(version (git-version "3.1.0" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/hal_nordic")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1zbnhf7r9sg67xjhbdh6fn4gvccc71pxqcmbfnsi6a75bhfv9y55"))))
|
|
(home-page "https://github.com/zephyrproject-rtos/hal_nordic")
|
|
(synopsis "Zephyr module for Nordic Semiconductor's SoCs and SiPs")
|
|
(description "Zephyr module providing the Hardware Abstraction Layer for
|
|
Nordic Semiconductor's SoCs and SiPs.
|
|
|
|
Supported SoCs and SiPs:
|
|
@itemize
|
|
@item nRF51 Series
|
|
@item nRF52805
|
|
@item nRF52810
|
|
@item nRF52811
|
|
@item nRF52820
|
|
@item nRF52832
|
|
@item nRF52833
|
|
@item nRF52840
|
|
@item nRF5340
|
|
@item nRF9131
|
|
@item nRF9160
|
|
@item nRF9161
|
|
@end itemize
|
|
")
|
|
(license license:bsd-3))))
|
|
|
|
(define-public zephyr-module-hal-nordic-2.11
|
|
(let ((revision "0")
|
|
(commit "5644a13252e5d12e3e841105d106cfdeb40e59f9"))
|
|
(package/inherit zephyr-module-hal-nordic
|
|
(name "zephyr-module-hal-nordic")
|
|
(version (git-version "2.11.0" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/hal_nordic")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0lj7wlbfp9pb5pv819h9kbddmlzfbdnbmxhpm1i4xmf89z9v14sm")))))))
|
|
|
|
(define-public zephyr-module-hal-stm32
|
|
(let ((revision "1")
|
|
(commit "d466dc8421ee0c6592bb5682aa93a671bc948107"))
|
|
(package/inherit zephyr-module-template
|
|
(name "zephyr-module-hal-stm32")
|
|
;; Using highest version number listed in:
|
|
;; https://github.com/zephyrproject-rtos/hal_stm32/blob/main/stm32cube/common_ll/README.rst
|
|
(version (git-version "1.27.1" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/hal_stm32")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0q0ckial6a3lvlag44zm65dklbbdnqpzr1vbh85dhwx7acpjd5ni"))))
|
|
(home-page "https://github.com/zephyrproject-rtos/hal_stm32")
|
|
(synopsis "Zephyr module for STM32 microcontrollers")
|
|
(description "Zephyr module providing the required STM32cube packages,
|
|
dtsi files and libraries needed to build a Zephyr application running on STM32
|
|
silicon.")
|
|
(license license:bsd-3))))
|
|
|
|
(define-public zephyr-module-lvgl-8.2.0
|
|
(let ((revision "1")
|
|
(commit "70a7849726be8375e3d941153dc417823ea7f355"))
|
|
(package/inherit zephyr-module-template
|
|
(name "zephyr-module-lvgl")
|
|
(version (git-version "8.2.0" revision commit)) ; Taken from lvgl.h.
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zmkfirmware/lvgl")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"147mykkb72nwbjhrw4z7h0kkxw4p7kvy0w001s44rgplxhqqsg98"))))
|
|
(home-page "https://github.com/zmkfirmware/lvgl")
|
|
(synopsis "Zephyr module for LVGL")
|
|
(description "Zephyr module providing LVGL, the Light and Versatile
|
|
Graphics Library for an embedded GUI with graphical elements, visual effects
|
|
and a low memory footprint.")
|
|
(license license:apsl2))))
|
|
|
|
(define-public zephyr-module-lvgl
|
|
(let ((revision "2")
|
|
(commit "5da257f782a8f9c6e265bdc60ebc2a93fdee24de"))
|
|
(package/inherit zephyr-module-lvgl-8.2.0
|
|
(name "zephyr-module-lvgl")
|
|
(version (git-version "8.3.7" revision commit)) ; Taken from lvgl.h.
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/lvgl")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"14isczxi36dasks1w4hwdlbzpvja4wal458i0km0hi92bbxayg0a")))))))
|
|
|
|
(define-public zephyr-module-mbedtls
|
|
(let ((revision "1")
|
|
(commit "c38dc78d9a8dcbe43b898cc1171ab33ba3e6fc26"))
|
|
(package/inherit zephyr-module-template
|
|
(name "zephyr-module-mbedtls")
|
|
(version (git-version "3.4.0" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/mbedtls")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0661myy0wjz38nypbyfw51x10mzg57syb5c28irblgjm2w25wbi7"))))
|
|
(home-page "https://github.com/zephyrproject-rtos/mbedtls")
|
|
(synopsis "Zephyr module for Mbed TLS")
|
|
(description "Zephyr module providing Mbed TLS, a C library that
|
|
implements cryptographic primitives, X.509 certificate manipulation and the
|
|
SSL/TLS and DTLS protocols. Its small code footprint makes it suitable for
|
|
embedded systems.")
|
|
(license license:apsl2))))
|
|
|
|
(define-public zephyr-module-mcuboot
|
|
(let ((revision "1")
|
|
(commit "76d19b3b8885ea7ae25a6f4f5d8501f7ec646447"))
|
|
(package/inherit zephyr-module-template
|
|
(name "zephyr-module-mcuboot")
|
|
(version (git-version "1.11.0-dev" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/mcuboot")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1frm9330bir1cz7h87qq26r74igy3pvrz3iqpvc7r6l7silj0fxf"))))
|
|
(home-page "https://github.com/zephyrproject-rtos/mcuboot")
|
|
(synopsis "Zephyr module for MCUboot")
|
|
(description "Zephyr module providing the secure bootloader MCUboot for
|
|
32-bit microcontrollers. It defines a common infrastructure for the bootloader
|
|
and the system flash layout on microcontroller systems, and provides a secure
|
|
bootloader that enables easy software upgrade.")
|
|
(license license:apsl2))))
|
|
|
|
(define-public zephyr-module-tinycrypt
|
|
(let ((revision "1")
|
|
(commit "3e9a49d2672ec01435ffbf0d788db6d95ef28de0"))
|
|
(package/inherit zephyr-module-template
|
|
(name "zephyr-module-tinycrypt")
|
|
(version (git-version "0.2.8" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/tinycrypt")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"19d2q9y23yzz9i383q3cldjl3k5mryx9762cab23zy3ijdnmj2z6"))))
|
|
(home-page "https://github.com/zephyrproject-rtos/tinycrypt")
|
|
(synopsis "Zephyr module for the TinyCrypt library")
|
|
(description "Zephyr module providing the TinyCrypt library.")
|
|
(license (license:non-copyleft "file://README.zephyr")))))
|
|
|
|
(define-public zephyr-module-zcbor
|
|
(let ((revision "1")
|
|
(commit "67fd8bb88d3136738661fa8bb5f9989103f4599e"))
|
|
(package/inherit zephyr-module-template
|
|
(name "zephyr-module-zcbor")
|
|
(version (git-version "0.7.0" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/zephyrproject-rtos/zcbor")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"16138k7xlahf63dfvplm8c2m0kxs1g17gcx1fa31y4gcfbi3b0k7"))))
|
|
(home-page "https://github.com/zephyrproject-rtos/zcbor")
|
|
(synopsis "Zephyr module for the zcbor library")
|
|
(description "Zephyr module providing the zcbor low footprint CBOR
|
|
(Concise Binary Object Representation) library in the C language, tailored for
|
|
use in microcontrollers.")
|
|
(license license:apsl2))))
|
|
|