gnu: Add python-pure-protobuf.
* gnu/packages/protobuf.scm (python-pure-protobuf): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This commit is contained in:
		
							parent
							
								
									41a190b8c6
								
							
						
					
					
						commit
						6f1784fa5c
					
				
					 1 changed files with 56 additions and 0 deletions
				
			
		|  | @ -32,11 +32,14 @@ | |||
|   #:use-module (guix build-system emacs) | ||||
|   #:use-module (guix build-system ruby) | ||||
|   #:use-module ((guix licenses) #:prefix license:) | ||||
|   #:use-module (guix utils) | ||||
|   #:use-module (gnu packages compression) | ||||
|   #:use-module (gnu packages check) | ||||
|   #:use-module (gnu packages gcc) | ||||
|   #:use-module (gnu packages libevent) | ||||
|   #:use-module (gnu packages pkg-config) | ||||
|   #:use-module (gnu packages python) | ||||
|   #:use-module (gnu packages python-check) | ||||
|   #:use-module (gnu packages python-xyz) | ||||
|   #:use-module (gnu packages ruby)) | ||||
| 
 | ||||
|  | @ -227,6 +230,59 @@ encoder in C++.  The developer using protozero has to manually translate the | |||
| mechanism for serializing structured data.") | ||||
|     (license license:bsd-3))) | ||||
| 
 | ||||
| (define-public python-pure-protobuf | ||||
|   (package | ||||
|     (name "python-pure-protobuf") | ||||
|     (version "2.0.0") | ||||
|     (source | ||||
|      (origin | ||||
|        ;; pypi is broken; has no tests | ||||
|        (method git-fetch) | ||||
|        (uri (git-reference | ||||
|              (url "https://github.com/eigenein/protobuf") | ||||
|              (commit version))) | ||||
|        (file-name (git-file-name name version)) | ||||
|        (sha256 | ||||
|         (base32 | ||||
|          "0lgs99dpfyckz6spib419sl7jpdk2g54pcw0yg59gdcsd1f5zqgz")))) | ||||
|     (build-system python-build-system) | ||||
|     (native-inputs | ||||
|      `(("python-flake8" ,python-flake8) | ||||
|        ("python-pytest" ,python-pytest) | ||||
|        ("python-pytest-cov" ,python-pytest-cov) | ||||
|        ("python-isort" ,python-isort))) | ||||
|     (arguments | ||||
|      `(#:phases | ||||
|        (modify-phases %standard-phases | ||||
|          (add-before 'check 'setup-test-env | ||||
|            (lambda* (#:key outputs #:allow-other-keys) | ||||
|              (let* ((out (assoc-ref outputs "out")) | ||||
|                     (py3sitedir | ||||
|                      (string-append out "/lib/python" | ||||
|                                     ,(version-major+minor | ||||
|                                       (package-version python)) | ||||
|                                     "/site-packages"))) | ||||
|                (setenv "PYTHONPATH" | ||||
|                        (string-append py3sitedir ":" | ||||
|                                       (getenv "PYTHONPATH")))) | ||||
|              #t)) | ||||
|          (replace 'check | ||||
|            (lambda _ | ||||
|              (invoke "pytest" "--cov-report" "term-missing" "--cov" | ||||
|                      "pure_protobuf") | ||||
|              (invoke "flake8" "pure_protobuf" "tests" | ||||
|                      "--ignore=F541") | ||||
|              (invoke "isort" "-rc" "-c" "pure_protobuf" "tests") | ||||
|              #t))))) | ||||
|     (home-page "https://pypi.org/project/pure-protobuf/") | ||||
|     (synopsis "Protobuf implementation using dataclasses") | ||||
|     (description | ||||
|      "@code{python-pure-protobuf} allows to take advantage of the standard | ||||
| dataclasses module to define message types.  Protocol buffers are a | ||||
| language-neutral, platform-neutral extensible mechanism for serializing | ||||
| structured data.") | ||||
|     (license license:expat))) | ||||
| 
 | ||||
| (define-public python2-protobuf | ||||
|   (package-with-python2 python-protobuf)) | ||||
| 
 | ||||
|  |  | |||
		Reference in a new issue