diff mbox series

[bug#59112] gnu: add python-enoslib

Message ID 20221107225240.210685-1-matthieu.simonin@inria.fr
State New
Headers show
Series [bug#59112] gnu: add python-enoslib | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue

Commit Message

matthieu.simonin@inria.fr Nov. 7, 2022, 10:52 p.m. UTC
From: Matthieu Simonin <matthieu.simonin@inria.fr>

---
 gnu/packages/python-web.scm | 58 +++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)


base-commit: 8e54584d4448d37ddf8ae995bb545a181ba2493c

Comments

Ludovic Courtès Nov. 14, 2022, 11:12 a.m. UTC | #1
Hi Matthieu,

matthieu.simonin@inria.fr skribis:

> +(define-public python-enoslib
> +  (package
> +    (name "python-enoslib")
> +    (version "v8.0.1")

I applied the patch with minor changes:

  • removed “v” from the version string;

  • passed the code through ‘guix style’;

  • tweaked the synopsis and description;

  • added a ChangeLog-style commit log following our conventions.

(If you haven’t see it yet, most of these are described at
<https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html>,
which has admittedly become lengthy.)

Thank you!

Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index 905ed6a327..65e511b7e9 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -84,6 +84,7 @@ 
   #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
@@ -7889,3 +7890,60 @@  list, create, update, or delete resources (e.g. Order, Product, Collection).")
 You can use it as a library in your python project or you can explore the
 Grid5000 resources interactively using the embedded shell.")
     (license license:gpl3+)))
+
+(define-public python-enoslib
+  (package
+    (name "python-enoslib")
+    (version "v8.0.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.inria.fr/discovery/enoslib")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               "0vs6b0bnlv95mzv0rjbxqwrhzkgjkn91gqipgwdf7y4ffpz8nybg")))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-wheel
+       python-pytest
+       python-ddt
+       python-freezegun))
+    (propagated-inputs
+     (list ansible
+       python-cryptography
+       python-grid5000
+       python-jsonschema
+       python-netaddr
+       python-packaging
+       python-requests
+       python-rich
+       python-sshtunnel
+       python-pytz))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; Otherwise Ansible fails to create its config directory.
+               (setenv "HOME" "/tmp")
+               ;; Ignoring the tests requiring an extra dependency (iotlabcli)
+               (invoke "pytest" "enoslib/tests/unit"
+               "--ignore" "enoslib/tests/unit/infra/test_utils.py"
+               "--ignore-glob" "enoslib/tests/unit/infra/enos_iotlab/*"))))
+         ;; Disable the sanity check, which fails with the following error:
+         ;;
+         ;; ContextualVersionConflict(rich 12.4.1
+         ;;   (/gnu/store/...-python-rich-12.4.1/lib/python3.9/site-packages),
+         ;;   Requirement.parse('rich[jupyter]~=12.0.0'), {'enoslib'})
+         ;;
+         ;; The optional jupyter dependency of rich isn't critical for
+         ;; EnOSlib to work
+         (delete 'sanity-check))))
+
+    (home-page "https://discovery.gitlabpages.inria.fr/enoslib/index.html")
+    (synopsis "EnOSlib")
+    (description "EnOSlib is a library to build experimental frameworks on various
+          scientific testbeds.")
+    (license license:gpl3+)))