From 305d8c4489ce766ac3c2db9886f0564937e79a97 Mon Sep 17 00:00:00 2001 From: Reza Housseini Date: Mon, 1 Dec 2025 15:35:56 +0100 Subject: [PATCH] gnu: Add python-cmsis-pack-manager. * gnu/packages/embedded.scm (python-cmsis-pack-manager): New variable. * gnu/packages/rust-crates.scm (rust-cc-1.2.21, rust-quinn-0.11.6, rust-quinn-proto-0.11.9, rust-quinn-udp-0.5.10, rust-reqwest-0.12.12, rust-rustls-webpki-0.103.2, rust-schannel-0.1.23, rust-windows-registry-0.2.0): New variables. (cargo-inputs): Register python-cmsis-pack-manager. Change-Id: I88e012f064f8eb659e32e9cd0870ae4fc6f2dafb Reviewed-by: bdunahu Signed-off-by: Sharlatan Hellseher --- gnu/packages/embedded.scm | 68 ++++++++++++ gnu/packages/rust-crates.scm | 198 +++++++++++++++++++++++++++++++++++ 2 files changed, 266 insertions(+) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index 549f5f90fb3bebf1f3e92d6cb64e37ea8bcc20ca..f89ff26a260673967910fab79a267fbad2ae697a 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; Copyright © 2024 Artyom V. Poptsov ;;; Copyright © 2025 Junker dk@junkeria.club +;;; Copyright © 2025 Reza Housseini ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module (guix svn-download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system pyproject) @@ -60,6 +62,7 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages gdb) #:use-module (gnu packages guile) + #:use-module (gnu packages libffi) #:use-module (gnu packages libftdi) #:use-module (gnu packages libusb) #:use-module (gnu packages messaging) @@ -72,6 +75,8 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages rust) + #:use-module (gnu packages rust-apps) #:use-module (gnu packages swig) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) @@ -1463,6 +1468,69 @@ the SoC into serial download boot mode; check the documentation of your hardware. The utility support USB and UART as serial link.") (license license:lgpl2.1+)))) +(define-public python-cmsis-pack-manager + (package + (name "python-cmsis-pack-manager") + (version "0.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pyocd/cmsis-pack-manager") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0djxvmpw6krv459w0w98cva9clrpqicwfr0fx55hkaix1x51bgci")))) + (build-system pyproject-build-system) + (arguments + (list + #:imported-modules `(,@%cargo-build-system-modules + ,@%pyproject-build-system-modules) + #:modules '(((guix build cargo-build-system) #:prefix cargo:) + (guix build pyproject-build-system) + (guix build utils)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-cargo-build-system + (lambda args + (for-each + (lambda (phase) + (format #t "Running cargo phase: ~a~%" phase) + (apply (assoc-ref cargo:%standard-phases phase) + #:cargo-target #$(cargo-triplet) + args)) + '(unpack-rust-crates + configure + check-for-pregenerated-files + patch-cargo-checksums))))))) + (propagated-inputs + (list python-appdirs + python-cffi + python-pyyaml)) + (native-inputs + (append + (list maturin ;TODO: Move to build-tools module someday + python-wrapper + python-jinja2 + python-pytest + rust + `(,rust "cargo")) + (or (and=> (%current-target-system) + (compose list make-rust-sysroot)) + '()))) + (inputs (cargo-inputs 'python-cmsis-pack-manager)) + (home-page "https://github.com/pyocd/cmsis-pack-manager") + (synopsis "CMSIS-Pack index manager") + (description + "@code{cmsis-pack-manager} is a Python module, Rust crate and command line +utility for managing current device information that is stored in many +@acronym{Common Microcontroller Software Interface Standard, CMSIS} +PACKs. Users of @code{cmsis-pack-manager} may query for information such as +processor type, flash algorithm and memory layout information in a Python +program or through the command line utility, @code{pack-manager}, provided as +part of this module.") + (license license:asl2.0))) + (define-public python-libmpsse (package (name "python-libmpsse") diff --git a/gnu/packages/rust-crates.scm b/gnu/packages/rust-crates.scm index 3180015729f76168bf3562b626d1cb6efee4f1f2..aace0b58817883463caff8a773f53ca5d01cfc3d 100644 --- a/gnu/packages/rust-crates.scm +++ b/gnu/packages/rust-crates.scm @@ -2425,6 +2425,10 @@ (crate-source "cc" "1.2.19" "0qpk2cnbfpp5r3sb5c9clb49n39x0y64b6xk2cf6hn69g9q16flf")) +(define rust-cc-1.2.21 + (crate-source "cc" "1.2.21" + "1h5kgcmnhwi9v8y7gvsprdhlz0b3pr6qgi2274w1q7258llpi4c6")) + (define rust-cc-1.2.22 (crate-source "cc" "1.2.22" "1lfg9bd56iq6mf5rwndjnj3mrc6r9kwk5jc1g360licqz7nrbnrj")) @@ -14889,6 +14893,10 @@ (crate-source "quinn" "0.11.3" "0mi1gxhy483f9ray0i9b2g41681gq750h85w69qrljq3d5rqwbdj")) +(define rust-quinn-0.11.6 + (crate-source "quinn" "0.11.6" + "1vq55p4kfc4zjxj58xrpf3kcjjqi4mn0wf52a5rzkiky4w46isb2")) + (define rust-quinn-0.11.7 (crate-source "quinn" "0.11.7" "04ihd2jibw0carrx081pwdkh8n0l03n9zjvxi21yyylnyak1bgf3")) @@ -14917,6 +14925,14 @@ (crate-source "quinn-proto" "0.11.13" "0cca3mgja9p4w66f6sl1kfhj8rdf4mwsg1jxzssh9g63n14np47i")) +(define rust-quinn-proto-0.11.9 + (crate-source "quinn-proto" "0.11.9" + "0p8k3iqd0rcxc7b6m2yyijhw4bpfwa61lyzigwvjwzax97rmxzm2")) + +(define rust-quinn-udp-0.5.10 + (crate-source "quinn-udp" "0.5.10" + "0i2rkq8lrkr89csw00mhnhp8zjh2prv4n5n65fwzd1b7hrak0vz4")) + (define rust-quinn-udp-0.5.4 (crate-source "quinn-udp" "0.5.4" "1182ifvapi7f3b4fc530z0q8myi9aal88l2kahbnyg5p0lvfrzwb")) @@ -15531,6 +15547,10 @@ (crate-source "reqwest" "0.11.27" "0qjary4hpplpgdi62d2m0xvbn6lnzckwffm0rgkm2x51023m6ryx")) +(define rust-reqwest-0.12.12 + (crate-source "reqwest" "0.12.12" + "1nnigi6jcrqdd5k5myc53qdkdnrx8zjgan029q1w5hspf5039rs3")) + (define rust-reqwest-0.12.15 (crate-source "reqwest" "0.12.15" "1fvvrl3jmsnlm99ldl0ariklrlsmrky06qabp7dc92ylznk4d76i" @@ -16296,6 +16316,10 @@ "00rcdz0rb9ia2ivrq7412ry9qkvbh78pra2phl4p7kxck9vbiy7y" #:snippet '(delete-file-recursively "tests"))) +(define rust-rustls-webpki-0.103.2 + (crate-source "rustls-webpki" "0.103.2" + "0dxlrywm50hqlynig58nfqx0vj6ccbpi0q145f1v7azi95c9fjbi")) + (define rust-rustls-webpki-0.103.3 (crate-source "rustls-webpki" "0.103.3" "0ddl9qxx94iyichk05r7l30d9dxfd35ybffhsxpsr9pppki2z9z4")) @@ -16457,6 +16481,10 @@ (crate-source "scc" "2.4.0" "1k2nwz3bysf1s3r5g437vq9xfm9i4sadfzn5c0k8xx7ynx3g1rj6")) +(define rust-schannel-0.1.23 + (crate-source "schannel" "0.1.23" + "0d1m156bsjrws6xzzr1wyfyih9i22mb2csb5pc5kmkrvci2ibjgv")) + (define rust-schannel-0.1.27 (crate-source "schannel" "0.1.27" "0gbbhy28v72kd5iina0z2vcdl3vz63mk5idvkzn5r52z6jmfna8z" @@ -22108,6 +22136,10 @@ (crate-source "windows-numerics" "0.3.1" "09hgbg8pf89r4090yyhh9q29ppi7yyxkgmga9ascshy19a240bkf")) +(define rust-windows-registry-0.2.0 + (crate-source "windows-registry" "0.2.0" + "1c04923fq0rbvl3z0h67xr6rh2fgwkizhclhqv0j79i0nwdh0074")) + (define rust-windows-registry-0.4.0 (crate-source "windows-registry" "0.4.0" "18wbgr6z6765qdnasi8mmvxhvp82xd1zlvd6s7pp2l5lvn8av1j2")) @@ -43080,6 +43112,172 @@ rust-windows-x86-64-gnu-0.52.6 rust-windows-x86-64-gnullvm-0.52.6 rust-windows-x86-64-msvc-0.52.6)) + (python-cmsis-pack-manager => + (list rust-addr2line-0.24.2 + rust-adler2-2.0.0 + rust-anyhow-1.0.98 + rust-autocfg-1.4.0 + rust-backtrace-0.3.74 + rust-base64-0.22.1 + rust-bitflags-2.9.0 + rust-bumpalo-3.17.0 + rust-bytes-1.10.1 + rust-cc-1.2.21 + rust-cfg-if-1.0.0 + rust-cfg-aliases-0.2.1 + rust-core-foundation-0.10.0 + rust-core-foundation-sys-0.8.7 + rust-ctor-0.2.9 + rust-deranged-0.4.0 + rust-displaydoc-0.2.5 + rust-fnv-1.0.7 + rust-form-urlencoded-1.2.1 + rust-futures-0.3.31 + rust-futures-channel-0.3.31 + rust-futures-core-0.3.31 + rust-futures-executor-0.3.31 + rust-futures-io-0.3.31 + rust-futures-macro-0.3.31 + rust-futures-sink-0.3.31 + rust-futures-task-0.3.31 + rust-futures-util-0.3.31 + rust-getrandom-0.2.16 + rust-gimli-0.31.1 + rust-http-1.3.1 + rust-http-body-1.0.1 + rust-http-body-util-0.1.3 + rust-httparse-1.10.1 + rust-hyper-1.6.0 + rust-hyper-rustls-0.27.5 + rust-hyper-util-0.1.11 + rust-icu-collections-1.5.0 + rust-icu-locid-1.5.0 + rust-icu-locid-transform-1.5.0 + rust-icu-locid-transform-data-1.5.1 + rust-icu-normalizer-1.5.0 + rust-icu-normalizer-data-1.5.1 + rust-icu-properties-1.5.1 + rust-icu-properties-data-1.5.1 + rust-icu-provider-1.5.0 + rust-icu-provider-macros-1.5.0 + rust-idna-1.0.3 + rust-idna-adapter-1.2.0 + rust-ipnet-2.11.0 + rust-itoa-1.0.15 + rust-js-sys-0.3.77 + rust-libc-0.2.172 + rust-litemap-0.7.4 + rust-log-0.4.27 + rust-memchr-2.7.4 + rust-mime-0.3.17 + rust-miniz-oxide-0.8.8 + rust-mio-1.0.3 + rust-num-conv-0.1.0 + rust-object-0.36.7 + rust-once-cell-1.21.3 + rust-openssl-probe-0.1.6 + rust-percent-encoding-2.3.1 + rust-pin-project-lite-0.2.16 + rust-pin-utils-0.1.0 + rust-powerfmt-0.2.0 + rust-ppv-lite86-0.2.21 + rust-proc-macro2-1.0.95 + rust-quinn-0.11.6 + rust-quinn-proto-0.11.9 + rust-quinn-udp-0.5.10 + rust-quote-1.0.40 + rust-rand-0.8.5 + rust-rand-chacha-0.3.1 + rust-rand-core-0.6.4 + rust-reqwest-0.12.12 + rust-ring-0.17.14 + rust-roxmltree-0.20.0 + rust-rustc-demangle-0.1.24 + rust-rustc-hash-2.1.1 + rust-rustls-0.23.27 + rust-rustls-native-certs-0.8.1 + rust-rustls-pemfile-2.2.0 + rust-rustls-pki-types-1.11.0 + rust-rustls-webpki-0.103.2 + rust-rustversion-1.0.20 + rust-ryu-1.0.20 + rust-schannel-0.1.23 + rust-security-framework-3.2.0 + rust-security-framework-sys-2.14.0 + rust-serde-1.0.219 + rust-serde-derive-1.0.219 + rust-serde-json-1.0.140 + rust-serde-urlencoded-0.7.1 + rust-shlex-1.3.0 + rust-simplelog-0.12.2 + rust-slab-0.4.9 + rust-smallvec-1.15.0 + rust-socket2-0.5.9 + rust-stable-deref-trait-1.2.0 + rust-subtle-2.6.1 + rust-syn-2.0.101 + rust-sync-wrapper-1.0.2 + rust-synstructure-0.13.2 + rust-termcolor-1.4.1 + rust-thiserror-2.0.12 + rust-thiserror-impl-2.0.12 + rust-time-0.3.41 + rust-time-core-0.1.4 + rust-time-macros-0.2.22 + rust-tinystr-0.7.6 + rust-tinyvec-1.9.0 + rust-tinyvec-macros-0.1.1 + rust-tokio-1.45.0 + rust-tokio-macros-2.5.0 + rust-tokio-rustls-0.26.2 + rust-tokio-util-0.7.15 + rust-tower-0.5.2 + rust-tower-layer-0.3.3 + rust-tower-service-0.3.3 + rust-tracing-0.1.41 + rust-tracing-core-0.1.33 + rust-try-lock-0.2.5 + rust-unicode-ident-1.0.18 + rust-untrusted-0.9.0 + rust-url-2.5.4 + rust-utf16-iter-1.0.5 + rust-utf8-iter-1.0.4 + rust-want-0.3.1 + rust-wasi-0.11.0+wasi-snapshot-preview1 + rust-wasm-bindgen-0.2.100 + rust-wasm-bindgen-backend-0.2.100 + rust-wasm-bindgen-futures-0.4.50 + rust-wasm-bindgen-macro-0.2.100 + rust-wasm-bindgen-macro-support-0.2.100 + rust-wasm-bindgen-shared-0.2.100 + rust-wasm-streams-0.4.2 + rust-web-sys-0.3.77 + rust-web-time-1.1.0 + rust-winapi-util-0.1.9 + rust-windows-registry-0.2.0 + rust-windows-result-0.2.0 + rust-windows-strings-0.1.0 + rust-windows-sys-0.52.0 + rust-windows-targets-0.52.6 + rust-windows-aarch64-gnullvm-0.52.6 + rust-windows-aarch64-msvc-0.52.6 + rust-windows-i686-gnu-0.52.6 + rust-windows-i686-gnullvm-0.52.6 + rust-windows-i686-msvc-0.52.6 + rust-windows-x86-64-gnu-0.52.6 + rust-windows-x86-64-gnullvm-0.52.6 + rust-windows-x86-64-msvc-0.52.6 + rust-write16-1.0.0 + rust-writeable-0.5.5 + rust-yoke-0.7.5 + rust-yoke-derive-0.7.5 + rust-zerocopy-0.8.25 + rust-zerocopy-derive-0.8.25 + rust-zerofrom-0.1.5 + rust-zerofrom-derive-0.1.6 + rust-zeroize-1.8.1 + rust-zerovec-0.10.4 + rust-zerovec-derive-0.10.3)) (python-cramjam => (list rust-adler2-2.0.1 rust-alloc-no-stdlib-2.0.4