From af196f3bb0521dac31172cb6905e680392d10eac Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 28 Dec 2020 09:52:33 +0200 Subject: [PATCH] gnu: Add python-stone. * gnu/packages/python-xyz.scm (python-stone): New variable. --- gnu/packages/python-xyz.scm | 50 +++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index acde5a5e5e..15b8d96054 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18722,6 +18722,56 @@ (define-public python-userspacefs user-space file systems in Python.") (license license:gpl3+))) +(define-public python-stone + (package + (name "python-stone") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "stone" version)) + (sha256 + (base32 + "0xby5mpsms7b2rv8j6mvxzmzz5i9ii01brb9ylxz6kiv2i08piwv")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-version-requirements + (lambda _ + ;; Match the requirement in test/requirements.txt + (substitute* "setup.py" + (("pytest < 5") "pytest < 7")) + ;; We don't care about a coverage report. + (substitute* "test/requirements.txt" + (("coverage.*") "coverage\n")) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; These tests don't import currectly. + (delete-file "test/test_js_client.py") + (delete-file "test/test_tsd_types.py") + (delete-file "test/test_python_gen.py") + (setenv "PYTHONPATH" + (string-append (getcwd) ":" + (getenv "PYTHONPATH"))) + (invoke "pytest")) + #t))))) + (propagated-inputs + `(("python-ply" ,python-ply) + ("python-six" ,python-six))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://github.com/dropbox/stone") + (synopsis "Official Api Spec Language for Dropbox") + (description + "Stone is an interface description language (IDL) for APIs.") + (license license:expat))) + (define-public pybind11 (package (name "pybind11")