~ruther/guix-local

305d8c4489ce766ac3c2db9886f0564937e79a97 — Reza Housseini 2 months ago 08b18b4
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 <bdunahu@operationnull.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2 files changed, 266 insertions(+), 0 deletions(-)

M gnu/packages/embedded.scm
M gnu/packages/rust-crates.scm
M gnu/packages/embedded.scm => gnu/packages/embedded.scm +68 -0
@@ 15,6 15,7 @@
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Junker dk@junkeria.club
;;; Copyright © 2025 Reza Housseini <reza@housseini.me>
;;;
;;; 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")

M gnu/packages/rust-crates.scm => gnu/packages/rust-crates.scm +198 -0
@@ 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