guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#59112] [PATCH] gnu: add python-enoslib


From: matthieu . simonin
Subject: [bug#59112] [PATCH] gnu: add python-enoslib
Date: Mon, 7 Nov 2022 23:52:40 +0100

From: Matthieu Simonin <matthieu.simonin@inria.fr>

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

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+)))

base-commit: 8e54584d4448d37ddf8ae995bb545a181ba2493c
-- 
2.30.2






reply via email to

[Prev in Thread] Current Thread [Next in Thread]