From: Reza Housseini <reza.housseini@gmail.com>
To: help-guix@gnu.org
Subject: Help packaging pynitrokey
Date: Tue, 24 Sep 2024 11:10:19 +0200 [thread overview]
Message-ID: <87tte5zabo.fsf@housseini.me> (raw)
[-- Attachment #1: Type: text/plain, Size: 477 bytes --]
Hi List
I want to package pynitrokey [1] to be able to use my Nitrokey 3 device
[2] in guix. Unfortunately there is alot to package for this. I got
stuck packaging the python/rust package cmsis-pack-manager [3]. Has
anyone already worked on this or is able to give me a hand?
Find attached my failed attempt at it.
Thanks and best,
Reza
[1] https://github.com/Nitrokey/pynitrokey/
[2] https://docs.nitrokey.com/nitrokey3/
[3] https://github.com/pyocd/cmsis-pack-manager/
[-- Attachment #2: Guix package for pynitrokey --]
[-- Type: text/plain, Size: 27032 bytes --]
(define-module (gnu packages python-additions)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages adns)
#:use-module (gnu packages aidc)
#:use-module (gnu packages attr)
#:use-module (gnu packages backup)
#:use-module (gnu packages bash)
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
#:use-module (gnu packages django)
#:use-module (gnu packages djvu)
#:use-module (gnu packages docker)
#:use-module (gnu packages enchant)
#:use-module (gnu packages engineering)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages geo)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages regex)
#:use-module (gnu packages rust)
#:use-module (gnu packages rust-apps)
#:use-module (gnu packages sdl)
#:use-module (gnu packages scanner)
#:use-module (gnu packages search)
#:use-module (gnu packages security-token)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
#:use-module (gnu packages terminals)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages base)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages tcl)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages serialization)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system trivial)
;;#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:autoload (guix git) (git-checkout))
(define-public python-fido2
(package
(name "python-fido2")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fido2" version))
(sha256
(base32 "0wy56v4hvqxw3z2vkl51dg22qmjp50mjcbdk0691jxkg209xj431"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f))
(native-inputs (list poetry))
(propagated-inputs (list python-cryptography python-pyscard))
(home-page "https://github.com/Yubico/python-fido2")
(synopsis "FIDO2/WebAuthn library for implementing clients and servers.")
(description
"FIDO2/@code{WebAuthn} library for implementing clients and servers.")
(license license:bsd-2)))
(define-public python-nkdfu
(package
(name "python-nkdfu")
(version "0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nkdfu" version))
(sha256
(base32 "1y7m17k4l1ayigar6kr8xnb18yspa6gxwg4lns2p5i42sgfpapzj"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f))
(native-inputs (list python-flit))
(propagated-inputs (list python-fire python-intelhex python-libusb1
python-tqdm))
(home-page "https://github.com/Nitrokey/nkdfu")
(synopsis "DFU tool for updating Nitrokeys' firmware")
(description "DFU tool for updating Nitrokeys firmware")
(license license:gpl2)))
(define-public python-oath
(package
(name "python-oath")
(version "1.4.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oath" version))
(sha256
(base32 "02qwzrsw3b6wv2gmlkrglznawxfa3lhh1s9ya99kykic1z920sxx"))))
(build-system pyproject-build-system)
(home-page "https://github.com/bdauvergne/python-oath")
(synopsis
"Python implementation of the three main OATH specifications: HOTP, TOTP and OCRA")
(description
"Python implementation of the three main OATH specifications: HOTP, TOTP and OCRA")
(license license:bsd-3)))
(define-public python-pyinstaller
(package
(name "python-pyinstaller")
(version "6.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyinstaller" version))
(sha256
(base32 "1vrqr23n6amgsd0p629bmf2x3nk5lsymhhkd98yvyi1k1z34jgcg"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-altgraph
python-importlib-metadata
;;python-macholib
python-packaging
python-pefile
;;python-pyinstaller-hooks-contrib
;;python-pywin32-ctypes
python-setuptools))
(native-inputs (list zlib python-execnet python-psutil python-pytest))
(home-page "https://www.pyinstaller.org/")
(synopsis
"PyInstaller bundles a Python application and all its dependencies into a single package.")
(description
"@code{PyInstaller} bundles a Python application and all its dependencies into a
single package.")
(license license:gpl2)))
(define-public python-bincopy
(package
(name "python-bincopy")
(version "19.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bincopy" version))
(sha256
(base32 "0mnj2zyl132lz3vccpf6y3qpxhk67lhr4gz7sk7v91j462nn8db8"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-argparse-addons python-humanfriendly
python-pyelftools))
(home-page "https://github.com/eerimoq/bincopy")
(synopsis
"Mangling of various file formats that conveys binary information (Motorola S-Record, Intel HEX and binary files).")
(description
"Mangling of various file formats that conveys binary information (Motorola
S-Record, Intel HEX and binary files).")
(license license:expat)))
(define-public python-click-command-tree
(package
(name "python-click-command-tree")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "click-command-tree" version))
(sha256
(base32 "184r8q0n1aly45yp67m1zj2hlzzzw6kh56wl57yz5pvlc4w9rfpi"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-click))
(home-page "https://github.com/whwright/click-command-tree")
(synopsis "click plugin to show the command tree of your CLI")
(description "click plugin to show the command tree of your CLI")
(license license:expat)))
(define-public python-click-option-group
(package
(name "python-click-option-group")
(version "0.5.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "click-option-group" version))
(sha256
(base32 "0xz73kgavgq8zxrfmlb2fly9l1i55ds4752h718cq61mhw1ngl4p"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-click))
(native-inputs (list python-coverage python-coveralls python-pytest
python-pytest-cov))
(home-page "https://github.com/click-contrib/click-option-group")
(synopsis "Option groups missing in Click")
(description "Option groups missing in Click")
(license license:expat)))
(define-public python-hexdump
(package
(name "python-hexdump")
(version "3.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hexdump" version ".zip"))
(sha256
(base32 "1nr0dy3m8grdmd2hp3ym6x8vv9yki8zfgbba6vwy7b0n1hxs90fp"))))
(build-system pyproject-build-system)
(native-inputs (list zip))
(home-page "https://bitbucket.org/techtonik/hexdump/")
(synopsis "dump binary data to hex format and restore from there")
(description "dump binary data to hex format and restore from there")
(license license:expat)))
(define-public python-pyinstaller-versionfile
(package
(name "python-pyinstaller-versionfile")
(version "2.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyinstaller_versionfile" version))
(sha256
(base32 "15v95a38rqjlambhc6y1j9iq5zknbldrawziib7wfj1c5sfwmhqr"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-jinja2 python-packaging
python-pyyaml))
(home-page "https://github.com/DudeNr33/pyinstaller-versionfile")
(synopsis "Create a version file from a simple YAML config file")
(description "Create a version file from a simple YAML config file")
(license license:expat)))
(define-public python-oscrypto
(package
(name "python-oscrypto")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "oscrypto" version))
(sha256
(base32 "1927dmhfqq6g3ycyfl9khmifdmwaxmmabk5p3lr0hdsvrdcyypvg"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f))
(propagated-inputs (list python-asn1crypto))
(home-page "https://github.com/wbond/oscrypto")
(synopsis
"TLS (SSL) sockets, key generation, encryption, decryption, signing, verification and KDFs using the OS crypto libraries. Does not require a compiler, and relies on the OS for patching. Works on Windows, OS X and Linux/BSD.")
(description
"TLS (SSL) sockets, key generation, encryption, decryption, signing, verification
and KDFs using the OS crypto libraries. Does not require a compiler, and relies
on the OS for patching. Works on Windows, OS X and Linux/BSD.")
(license license:expat)))
(define-public python-sly
(package
(name "python-sly")
(version "1.5")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/dabeaz/sly/archive/tags/"
version ".tar.gz"))
(sha256
(base32 "183xngwc34hkbsla9agiv7f8mf44773d76q39n95ifmbnxppisgy"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f))
(propagated-inputs (list python-ruamel.yaml))
(home-page "https://github.com/dabeaz/sly")
(synopsis "\"SLY - Sly Lex Yacc\"")
(description "\"SLY - Sly Lex Yacc\"")
(license license:expat)))
(define-public python-ruamel.yaml.clib-0.2.7
(package
(inherit python-ruamel.yaml.clib)
(version "0.2.7")
(source
(origin
;; pypi release code has cythonized code without corresponding source.
(method hg-fetch)
(uri (hg-reference
(url "http://hg.code.sf.net/p/ruamel-yaml-clib/code")
(changeset version)))
(file-name (string-append "python-ruamel.yaml.clib-" version "-checkout"))
(sha256
(base32
"119vvz2f6m5i0443r82j2r4hqqlmryffp25spv2cqky2cwjp5lj0"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file "_ruamel_yaml.c")))))))
(define-public python-ruamel.yaml-0.17
(package
(inherit python-ruamel.yaml)
(version "0.17.40")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ruamel.yaml" version))
(sha256
(base32
"0g9irxrlim93z9ccgjyx4bfhbkdlqin0hzmhnn1d8rb7y23bj930"))))
(propagated-inputs
(list python-ruamel.yaml.clib-0.2.7))))
(define-public python-lark
(package
(name "python-lark")
(version "1.1.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lark" version))
(sha256
(base32 "1fhg4hvdhsjbwd41ipacmzf7adc2dlnjvqm0mg2c490894v55yhm"))))
(build-system pyproject-build-system)
(arguments '(#:tests? #f))
(home-page "https://github.com/lark-parser/lark")
(synopsis "a modern parsing library")
(description "a modern parsing library")
(license license:expat)))
(define-public rust-rxml-0.10
(package
(name "rust-rxml")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rxml" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1r7i3fwxd5262j995nc7m1j4kbw5d43022g5x2gsn72yn0jl3hiw"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-bytes" ,rust-bytes-1)
("rust-futures-core" ,rust-futures-core-0.3)
("rust-pin-project-lite" ,rust-pin-project-lite-0.2)
("rust-rxml-proc" ,rust-rxml-proc-0.10)
("rust-rxml-validation" ,rust-rxml-validation-0.10)
("rust-smartstring" ,rust-smartstring-1)
("rust-tokio" ,rust-tokio-1)
("rust-weak-table" ,rust-weak-table-0.3))
#:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.5)
("rust-tokio" ,rust-tokio-1)
("rust-tokio-test" ,rust-tokio-test-0.4))))
(home-page "https://codeberg.org/jssfr/rxml")
(synopsis
"Minimalistic, restricted XML 1.0 parser which does not include dangerous XML features")
(description
"This package provides Minimalistic, restricted XML 1.0 parser which does not include dangerous XML
features.")
(license license:expat)))
(define-public rust-minidom-0.15
(package
(name "rust-minidom")
(version "0.15.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "minidom" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0y32595a7f055890jgmhf5cm49q21jk152bnl5vipkiqaw3i8mpl"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-rxml" ,rust-rxml-0.10))))
(home-page "https://gitlab.com/xmpp-rs/xmpp-rs")
(synopsis
"small, simple DOM implementation on top of rxml, targeting the subset of XML useful for XMPP")
(description
"This package provides a small, simple DOM implementation on top of rxml,
targeting the subset of XML useful for XMPP.")
(license license:mpl2.0)))
(define-public python-cmsis-pack-manager
(package
(name "python-cmsis-pack-manager")
(version "032a73a93e108e1b0e268ea47d92dbe573002846")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pyocd/cmsis-pack-manager.git")
(commit version)))
(sha256
(base32
"09xhcfq18q56m268zxvkqdaf9df7hrric5xxa6zyqqkf4020pjfl"))))
(build-system cargo-build-system)
(arguments
(list
#:imported-modules `(,@%cargo-build-system-modules
,@%pyproject-build-system-modules)
#:modules '((guix build cargo-build-system)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'prepare-python-module 'build-python-module
(assoc-ref py:%standard-phases 'build))
(add-after 'build-python-module 'install-python-module
(assoc-ref py:%standard-phases 'install)))
#:cargo-inputs
`(("rust-anyhow" ,rust-anyhow-1)
("rust-ctor" ,rust-ctor-0.2)
("rust-simplelog" ,rust-simplelog-0.12)
("rust-futures" ,rust-futures-0.3)
("rust-minidom" ,rust-minidom-0.15)
;; ("rust-beef" ,rust-beef-0.5)
;; ("rust-bytecount" ,rust-bytecount-0.6)
;; ("rust-chrono" ,rust-chrono-0.4)
;; ("rust-compact-str" ,rust-compact-str-0.7)
;; ("rust-encoding-rs" ,rust-encoding-rs-0.8)
;; ("rust-itoa" ,rust-itoa-1)
;; ("rust-itoap" ,rust-itoap-1)
;; ("rust-once-cell" ,rust-once-cell-1)
;; ("rust-pyo3-ffi" ,rust-pyo3-ffi-0.19)
;; ("rust-ryu" ,rust-ryu-1)
;; ("rust-serde" ,rust-serde-1)
;; ("rust-serde-json" ,rust-serde-json-1)
;; ("rust-simdutf8" ,rust-simdutf8-0.1)
;; ("rust-smallvec" ,rust-smallvec-1)
;; ("rust-cc" ,rust-cc-1)
;; ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.19)
;; ("rust-version-check" ,rust-version-check-0.9)
)
#:install-source? #false))
(propagated-inputs (list python-appdirs python-cffi python-pyyaml))
(native-inputs (list maturin
python-hypothesis
python-jinja2
python-pytest))
(home-page "https://github.com/pyocd/cmsis-pack-manager")
(synopsis
"Python manager for CMSIS-Pack index and cache with fast Rust backend")
(description
"Python manager for CMSIS-Pack index and cache with fast Rust backend")
(license license:asl2.0)))
(define-public python-pyocd
(package
(name "python-pyocd")
(version "0.36.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyocd" version))
(sha256
(base32 "0j464acdr6dbmidg518b1zw88jnriiw6yz7va16hbzysr6n84xwk"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-capstone
python-cmsis-pack-manager
python-colorama
python-hidapi
python-importlib-metadata
python-importlib-resources
python-intelhex
python-intervaltree
python-lark
python-natsort
python-prettytable
python-pyelftools
;;python-pylink-square
python-pyusb
python-pyyaml
python-six
python-typing-extensions))
(native-inputs (list libusb
python-coverage
python-flake8
python-pylint
python-pytest
python-pytest-cov
python-tox))
(home-page "https://github.com/pyocd/pyOCD")
(synopsis "Cortex-M debugger for Python")
(description "Cortex-M debugger for Python")
(license license:asl2.0)))
(define-public python-spsdk
(package
(name "python-spsdk")
(version "2.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "spsdk" version))
(sha256
(base32 "088gs4n1fm1izpsz4rp363l0c6iq0v1685amb8ljjds9sxqc6l92"))))
(build-system pyproject-build-system)
(arguments
'(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-proprietary-dependencies
(lambda _
(substitute* "requirements.txt"
(("^pypemicro.*$") "")))))))
(propagated-inputs (list python-asn1crypto
python-astunparse
python-bincopy
python-bitstring
python-click
python-click-command-tree
python-click-option-group
python-colorama
python-commentjson
python-crcmod
python-cryptography
python-deepmerge
python-fastjsonschema
;;python-hexdump
python-jinja2
;;python-libusbsio
python-oscrypto
;;python-pylink-square
python-pyocd
;;python-pyocd-pemicro
python-pyserial
python-requests
python-ruamel.yaml-0.17
python-sly
python-typing-extensions))
(home-page "https://github.com/NXPmicro/spsdk")
(synopsis "Open Source Secure Provisioning SDK for NXP MCU/MPU")
(description "Open Source Secure Provisioning SDK for NXP MCU/MPU")
(license license:expat)))
(define-public python-tlv8
(package
(name "python-tlv8")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tlv8" version))
(sha256
(base32 "11164vjaw38f0l4blbpsj58yr68vx1za5hia4x99k03v4s8aac3r"))))
(build-system pyproject-build-system)
(home-page "https://github.com/jlusiardi/tlv8_python")
(synopsis
"Python module to handle type-length-value (TLV) encoded data 8-bit type, 8-bit length, and N-byte value as described within the Apple HomeKit Accessory Protocol Specification Non-Commercial Version Release R2.")
(description
"Python module to handle type-length-value (TLV) encoded data 8-bit type, 8-bit
length, and N-byte value as described within the Apple @code{HomeKit} Accessory
Protocol Specification Non-Commercial Version Release R2.")
(license license:asl2.0)))
(define-public python-types-tqdm
(package
(name "python-types-tqdm")
(version "4.66.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "types-tqdm" version))
(sha256
(base32 "0pylandfajknxprd2y06hxzfihy0cnyvh1gm3775yj0x9kjaalwm"))))
(build-system pyproject-build-system)
(home-page "https://github.com/python/typeshed")
(synopsis "Typing stubs for tqdm")
(description "Typing stubs for tqdm")
(license license:asl2.0)))
(define-public python-drawsvg
(package
(name "python-drawsvg")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/cduck/drawsvg/archive/tags/"
version
".tar.gz"))
(sha256
(base32
"07z5rfbgr4pfmbn65bhhn5km35r244p9rpkmgx1cy575pqpcryay"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #f))
(native-inputs (list cairo python-ipywidgets))
(home-page "https://github.com/cduck/drawsvg")
(synopsis
"Programmatically generate SVG (vector) images, animations, and interactive Jupyter widgets")
(description
"A Python 3 library for programmatically generating SVG images and animations that can render and display your drawings in a Jupyter notebook or Jupyter lab.
Most common SVG tags are supported and others can easily be added by writing a small subclass of DrawableBasicElement or DrawableParentElement. Nearly all SVG attributes are supported via keyword args (e.g. Python keyword argument fill_opacity=0.5 becomes SVG attribute fill-opacity=\"0.5\").
An interactive Jupyter notebook widget, drawsvg.widgets.DrawingWidget, is included that can update drawings based on mouse events. The widget does not yet work in Jupyter lab.")
(license license:asl2.0)))
(define-public python-pynitrokey
(package
(name "python-pynitrokey")
(version "0.4.44")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pynitrokey" version))
(sha256
(base32 "0mlw7fb9imbfxcggavn9jkmidryc4i6kl8s6z1d0bw04824z2qj9"))))
(build-system pyproject-build-system)
(native-inputs (list libnitrokey))
(propagated-inputs (list python-black
python-certifi
python-cffi
python-click
;;python-click-aliases
python-cryptography
python-ecdsa
python-fido2
python-flake8
python-flit
python-frozendict
python-intelhex
python-ipython
python-isort
python-mypy
python-nkdfu
python-oath
python-protobuf
;;python-pyinstaller
;;python-pyinstaller-versionfile
python-pyscard
python-pyserial
python-pytest
;;python-pytest-reporter-html1
python-dateutil
python-pyusb
python-requests
python-semver
python-spsdk
python-tlv8
python-tqdm
python-types-requests
python-types-tqdm
python-typing-extensions
python-urllib3))
(home-page "https://docs.nitrokey.com/software/nitropy/")
(synopsis "Python Library for Nitrokey devices.")
(description "Python Library for Nitrokey devices.")
(license license:asl2.0)))
python-pynitrokey
reply other threads:[~2024-09-24 9:11 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87tte5zabo.fsf@housseini.me \
--to=reza.housseini@gmail.com \
--cc=help-guix@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).