diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-08-30 23:34:57 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-08-31 10:33:42 -0400 |
commit | 5eb1686537762baf8193f8702d5c78dc6114c0cc (patch) | |
tree | 4575e90091c6ecdccda363dde3d5824b86563e9a /gnu/packages/protobuf.scm | |
parent | cc3cc72d859cc514bd62027898b497116dd28459 (diff) | |
download | guix-5eb1686537762baf8193f8702d5c78dc6114c0cc.tar.gz |
gnu: Add python-nanopb.
* gnu/packages/protobuf.scm (python-nanopb): New variable.
Diffstat (limited to 'gnu/packages/protobuf.scm')
-rw-r--r-- | gnu/packages/protobuf.scm | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index dcb742a463..baa7f55d9c 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -36,6 +36,7 @@ #:use-module (guix build-system ruby) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) + #:use-module (gnu packages build-tools) #:use-module (gnu packages compression) #:use-module (gnu packages check) #:use-module (gnu packages gcc) @@ -270,6 +271,36 @@ in ansi C. It is especially suitable for use in microcontrollers, but fits any memory-restricted system.") (license license:zlib))) +(define-public python-nanopb + (package + (inherit nanopb) + (name "python-nanopb") + (build-system python-build-system) + (arguments + (list + #:tests? #f ;no Python-specific tests + #:phases + #~(modify-phases %standard-phases + (replace 'build + (lambda _ + (copy-file "extra/poetry/pyproject.toml" "pyproject.toml") + (delete-file "build.py") + ;; Mimick extra/poetry/poetry_build.sh. + (mkdir "nanopb") + (copy-recursively "generator" "nanopb/generator") + (invoke "touch" "nanopb/__init__.py" + "nanopb/generator/__init__.py") + (invoke "make" "-C" "nanopb/generator/proto") + (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((whl (car (find-files "dist" "\\.whl$")))) + (invoke "pip" "--no-cache-dir" "--no-input" + "install" "--no-deps" "--prefix" #$output whl))))))) + (native-inputs (list poetry protobuf python-pypa-build)) + (propagated-inputs (list python-protobuf)) + (synopsis "Small code-size Protocol Buffers implementation in Python"))) + (define-public python-protobuf (package (name "python-protobuf") |