about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gn/packages/cwl.scm126
-rw-r--r--gn/packages/python.scm23
2 files changed, 85 insertions, 64 deletions
diff --git a/gn/packages/cwl.scm b/gn/packages/cwl.scm
index be531f6..938cbe3 100644
--- a/gn/packages/cwl.scm
+++ b/gn/packages/cwl.scm
@@ -1,91 +1,89 @@
-;; Experimental packaging for the Common Workflow Language (started by Bruno)
-
 (define-module (gn packages cwl)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gn packages python)
+  #:use-module (guix download)
+  #:use-module (guix packages)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages check)
-  #:use-module (gnu packages databases)
-  #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages node)
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages time)
-  #:use-module (gnu packages version-control)
-  #:use-module (gnu packages xml)
-  #:use-module (gn packages python)
-  #:use-module (guix download)
-  #:use-module (guix packages)
-  #:use-module (guix git-download)
-  #:use-module (guix utils)
-  ; #:use-module (guix build-system gnu)
-  #:use-module (guix build-system python)
-  ; #:use-module (guix build-system trivial)
-  #:use-module (srfi srfi-1))
+  #:use-module (gnu packages xml))
 
-(define-public cwltool ; guix: needs work
-  (let ((commit "15539fba76993f951af9eba913bea6d677c74005"))
+(define-public cwltool
   (package
     (name "cwltool")
-    (version "1.0.20181012180214")
+    (version "3.0.20200710214758")
     (source
       (origin
-        ; (method url-fetch)
-        ; (uri (string-append
-        ;        "https://pypi.python.org/packages/source/c/cwltool/cwltool-"
-        ;        version
-        ;       ".tar.gz"))
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/genenetwork/cwltool.git") ;; my repo for Python 3.7
-               (commit commit)))
-         (file-name (git-file-name name (string-append version "-" (string-take commit 7))))
+        (method url-fetch)
+        (uri (pypi-uri "cwltool" version))
         (sha256
-          (base32
-            "1qwfa82car7477sy0cb5bj4964w7zq7dcw2bdcls6c2i9qdp0586"))))
+         (base32
+          "1qbqkhinkhzg98jf24d5gnafsw23kng76rbi2hfvzl18bdsp1zz5"))))
     (build-system python-build-system)
-    (propagated-inputs ; a lot of these are used for testing
-     `(("git" ,git)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'loosen-version-restrictions
+           (lambda _
+             (substitute* "setup.py"
+               (("== 1.5.1") ">=1.5.1"))
+             #t))
+         (add-after 'unpack 'modify-tests
+           (lambda _
+             ;; Tries to connect to the internet.
+             (delete-file "tests/test_udocker.py")
+             (substitute* "tests/test_http_input.py"
+               (("https://raw.githubusercontent.com/common-workflow-language/cwltool/main")
+                "."))
+             (substitute* "tests/test_load_tool.py"
+               (("def test_load_graph_fragment_from_packed")
+                "@pytest.mark.skip(reason=\"Disabled by Guix\")\ndef test_load_graph_fragment_from_packed"))
+             (substitute* "tests/test_examples.py"
+               (("def test_env_filtering")
+                "@pytest.mark.skip(reason=\"Disabled by Guix\")\ndef test_env_filtering"))
+             ;; Tries to use cwl-runners.
+             (substitute* "tests/test_examples.py"
+               (("def test_v1_0_arg_empty_prefix_separate_false")
+                "@pytest.mark.skip(reason=\"Disabled by Guix\")\ndef test_v1_0_arg_empty_prefix_separate_false"))
+             #t)))))
+    (propagated-inputs
+     `(;; does this need to be proagated?
        ("node" ,node)
+
        ("python-bagit" ,python-bagit)
-       ("python-arcp" ,python-arcp)
-       ("python-setuptools" ,python-setuptools)
-       ("python-dateutil" ,python-dateutil)
-       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-coloredlogs" ,python-coloredlogs)
+       ("python-mypy-extensions" ,python-mypy-extensions)
        ("python-prov" ,python-prov)
-       ("python-pytest-runner" ,python-pytest-runner)
+       ("python-psutil" ,python-psutil)
        ("python-rdflib" ,python-rdflib)
-       ("python-pyparsing" ,python-pyparsing)
-       ("python-pytest-mock" ,python-pytest-mock)
-       ("python-mock" ,python-mock)
-       ("python-subprocess32" ,python-subprocess32)
+       ("python-requests" ,python-requests)
        ("python-ruamel.yaml" ,python-ruamel.yaml)
+       ("python-schema-salad" ,python-schema-salad-7)
+       ("python-setuptools" ,python-setuptools)
+       ("python-shellescape" ,python-shellescape)
+       ("python-typing-extensions" ,python-typing-extensions)))
+    (native-inputs
+     `(("python-arcp" ,python-arcp)
        ("python-cachecontrol" ,python-cachecontrol-0.11)
+       ("python-dateutil" ,python-dateutil)
+       ("python-humanfriendly" ,python-humanfriendly)
        ("python-lxml" ,python-lxml)
-       ("python-mypy-extensions" ,python-mypy-extensions)
-       ("python-mistune" ,python-mistune)
+       ("python-mock" ,python-mock)
        ("python-networkx" ,python-networkx)
-       ("python-schema-salad" ,python-schema-salad)
-       ("python-html5lib" ,python-html5lib)
-       ("python-rdflib-jsonld" ,python-rdflib-jsonld)
-       ("python-scandir" ,python-scandir)
-       ("python-psutil" ,python-psutil)
-       ))
-    ; (arguments `(#:tests? #f)) ;; CWL includes no tests.
-    (arguments
-     `(;#:phases
-       ; (modify-phases %standard-phases
-       ;   (replace 'check
-       ;     (lambda* (#:key inputs outputs #:allow-other-keys)
-       ;       (invoke "python" "-m" "pytest")
-       ;       )))
-       #:tests? #f))   ; Disable for now
-
+       ("python-pytest" ,python-pytest)
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-pytest-mock" ,python-pytest-mock)
+       ("python-pytest-runner" ,python-pytest-runner)
+       ("python-rdflib-jsonld" ,python-rdflib-jsonld)))
     (home-page
-      "https://github.com/common-workflow-language/common-workflow-language")
-    (synopsis
-      "Common workflow language reference implementation")
+     "https://github.com/common-workflow-language/common-workflow-language")
+    (synopsis "Common workflow language reference implementation")
     (description
-      "Common workflow language reference implementation")
-    (license license:asl2.0))))
+     "Common workflow language reference implementation.")
+    (license license:asl2.0)))
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index 7be6b4f..3e6b60e 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -1176,6 +1176,29 @@ generation, and transformation to RDF.  Salad provides a bridge between document
 and record oriented data modeling and the Semantic Web.")
     (license license:asl2.0)))
 
+(define-public python-schema-salad-7
+  (package
+    (inherit python-schema-salad)
+    (name "python-schema-salad")
+    (version "7.0.20200612160654")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "schema-salad" version))
+        (sha256
+          (base32
+            "15ma3lb6fkfc6sj75hnmmg0jj8q3pc5yrlyx15lpdd4dcp2jc39s"))))
+    (propagated-inputs
+     `(("python-cachecontrol" ,python-cachecontrol)
+       ("python-lockfile" ,python-lockfile)
+       ("python-mistune" ,python-mistune)
+       ("python-rdflib" ,python-rdflib)
+       ("python-rdflib-jsonld" ,python-rdflib-jsonld)
+       ("python-requests" ,python-requests)
+       ("python-ruamel.yaml" ,python-ruamel.yaml)
+       ("python-setuptools" ,python-setuptools)
+       ("python-typing-extensions" ,python-typing-extensions)))))
+
 (define-public python-cfgraph
   (package
     (name "python-cfgraph")