summary refs log tree commit diff
diff options
context:
space:
mode:
authorClément Lassieur <clement@lassieur.org>2019-11-19 16:09:13 +0100
committerClément Lassieur <clement@lassieur.org>2019-11-19 16:09:13 +0100
commit1f15cbc80cfbea5561b79d251724f7c5b908cdd4 (patch)
treeda81ed154661d671631672ffcb08f3c7f3b43b7b
parent85cfb0e9e6ccd57715ca6e6bfadfd2b161c08e4d (diff)
downloadguix-1f15cbc80cfbea5561b79d251724f7c5b908cdd4.tar.gz
gnu: Add python-mcuboot-imgtool.
* gnu/packages/python-crypto.scm (python-mcuboot-imgtool): New variable.
-rw-r--r--gnu/packages/python-crypto.scm39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index 11c23aebfc..2b1543bbc0 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -20,6 +20,7 @@
 ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
 ;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
 ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1090,3 +1091,41 @@ with state-tracking and configuration abstractions.")
 that leverages the infrastructure provided by the Linux kernel for safely
 storing and retrieving sensitive information in your programs.")
     (license license:asl2.0)))
+
+(define-public python-mcuboot-imgtool
+  (package
+    (name "python-mcuboot-imgtool")
+    (version "1.4.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/JuulLabs-OSS/mcuboot")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1m1csyvzq4jx81zg635ssy1n7sc0z539z0myh872ll3nwqx7wa0q"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-broken-test
+           (lambda _
+             (substitute* "scripts/imgtool/keys/ed25519_test.py"
+               (("raw_sign") "sign_digest"))
+             #t))
+         (add-before 'build 'change-directory
+           (lambda _
+             (chdir "scripts")
+             #t)))))
+    (propagated-inputs
+     `(("python-click" ,python-click)
+       ("python-intelhex" ,python-intelhex)
+       ("python-cryptography" ,python-cryptography)))
+    (home-page "https://mcuboot.com")
+    (synopsis "Tool to securely sign firmware images for booting by MCUboot")
+    (description "MCUboot is a secure bootloader for 32-bit MCUs.  This
+package provides a tool to securely sign firmware images for booting by
+MCUboot.")
+    (license license:expat)))