about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMuriithi Frederick Muriuki2018-12-14 16:22:08 +0300
committerMuriithi Frederick Muriuki2018-12-14 16:22:08 +0300
commit48670eaf1d59a6e52d8676bceb9f2cc996270228 (patch)
treebd486417687a3811e729ba6c4b9fc144ad16bf79
parent3825ddc719efb64c9194458b5d11a09156ded0c6 (diff)
parent9e84151973674af3cc31e0cbe5e6e1a9eeaa6ed4 (diff)
downloadguix-bioinformatics-48670eaf1d59a6e52d8676bceb9f2cc996270228.tar.gz
Merge branch 'master' of gitlab.com:genenetwork/guix-bioinformatics
-rw-r--r--gn/packages/cwl.scm90
-rw-r--r--gn/packages/genenetwork.scm1
-rw-r--r--gn/packages/python.scm279
3 files changed, 285 insertions, 85 deletions
diff --git a/gn/packages/cwl.scm b/gn/packages/cwl.scm
index 4f04f41..5a01dbf 100644
--- a/gn/packages/cwl.scm
+++ b/gn/packages/cwl.scm
@@ -3,9 +3,14 @@
 (define-module (gn packages cwl)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
+  #:use-module (gnu packages check)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
+  #: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 (gn packages python)
   #:use-module (guix download)
   #:use-module (guix packages)
@@ -16,55 +21,84 @@
   ; #:use-module (guix build-system trivial)
   #:use-module (srfi srfi-1))
 
-(define-public python-cwltool ; guix: needs work
+(define-public cwltool ; guix: needs work
+  (let ((commit "e12d36b6efbc5d4a6ff7b4fbfd7387bff8f72727"))
   (package
-    (name "python-cwltool")
-    (version "1.0.20150916041152")
+    (name "cwltool")
+    (version "1.0.20181012180214")
     (source
       (origin
-        (method url-fetch)
-        (uri (string-append
-               "https://pypi.python.org/packages/source/c/cwltool/cwltool-"
-               version
-               ".tar.gz"))
+        ; (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")
+               (commit commit)))
+         (file-name (git-file-name name version))
         (sha256
           (base32
-            "1kqxc6nvq4nr8qdv39ycdi6fhzaipgjpmbghsz94ij6jhf5r3dq2"))))
+            "1zhba1hfizrw3bxfmhpjds92pj79hyyv5k7sglw24z52kg1in67p"))))
     (build-system python-build-system)
-    (inputs
-     `(("python-setuptools" ,python-setuptools)
+    (propagated-inputs ; a lot of these are used for testing
+     `(("git" ,git)
+       ("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-prov" ,python-prov)
+       ("python-pytest-runner" ,python-pytest-runner)
+       ("python-rdflib" ,python-rdflib)
        ("python-pyparsing" ,python-pyparsing)
-       ))
-    (propagated-inputs
-     `(("python-schema-salad" ,python-schema-salad)
+       ("python-pytest-mock" ,python-pytest-mock)
+       ("python-mock" ,python-mock)
+       ("python-subprocess32" ,python-subprocess32)
+       ("python-ruamel.yaml" ,python-ruamel.yaml)
+       ("python-cachecontrol" ,python-cachecontrol)
+       ("python-lxml" ,python-lxml)
+       ("python-mypy-extensions" ,python-mypy-extensions)
+       ("python-mistune" ,python-mistune)
+       ("python-networkx" ,python-networkx)
+       ("python-schema-salad" ,python-schema-salad)
        ("python-html5lib" ,python-html5lib)
+       ("python-rdflib-jsonld" ,python-rdflib-jsonld)
+       ("python-typing-extensions" ,python-typing-extensions)
+       ("python-scandir" ,python-scandir)
+       ("python-psutil" ,python-psutil)
        ))
-    (arguments `(#:tests? #f)) ;; CWL includes no tests.
+    ; (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
+
     (home-page
       "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)))
-
-(define-public python2-cwltool
-  (package-with-python2 python-cwltool))
+    (license license:asl2.0))))
 
 (define-public python-schema-salad
   (package
     (name "python-schema-salad")
-    (version "1.0.2")
+    (version "3.0.20181129082112")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "https://pypi.python.org/packages/source/s/schema-salad/schema-salad-"
-               version
-               ".tar.gz"))
+        (uri (pypi-uri "schema-salad" version))
         (sha256
           (base32
-            "09axiiirq73s1cs21n8mkdslaca2gxc2mlayyl6yiaq98cfgfh37"))))
+            "1xg70v82q053vz1sg8sc99alnkrm2kk05w6698vgmngl1767sk97"))))
     (build-system python-build-system)
     (arguments `(#:tests? #f)) ;; CWL includes no tests.
     (inputs
@@ -73,7 +107,7 @@
        ("python-rdflib-jsonld" ,python-rdflib-jsonld)
        ("python-mistune" ,python-mistune)))
     (propagated-inputs
-     `(("python-rdflib-4.2" ,python-rdflib-4.2)
+     `(("python-rdflib" ,python-rdflib)
        ("python-avro" ,python-avro)
        ("python-pyyaml" ,python-pyyaml)
        ("python-requests" ,python-requests)
@@ -87,5 +121,5 @@
       "Schema Annotations for Linked Avro Data (SALAD)")
     (license license:asl2.0)))
 
-(define-public python2-schema-salad
-  (package-with-python2 python-schema-salad))
+; (define-public python2-schema-salad
+;  (package-with-python2 python-schema-salad))
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index a54b557..f4e1372 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -477,6 +477,7 @@ written in C")
 	("python-numpy" ,python-numpy)
 	("python-redis" ,python-redis)
 	("python-scipy" ,python-scipy)
+	("python-pillow" ,python-pillow)
 	("python-reaper" ,python-reaper)
 	("python-pyyaml" ,python-pyyaml)
 	("python-jinja2" ,python-jinja2)
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index 5ce44d6..75f7cab 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -11,6 +11,7 @@
   #:use-module (gnu packages ghostscript)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
@@ -26,6 +27,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tex)
@@ -131,6 +133,100 @@ functions.")
   (license license:expat))
 )
 
+(define-public python-bagit; guix candidate
+(package
+  (name "python-bagit")
+  (version "1.7.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri "https://files.pythonhosted.org/packages/ee/11/7a7fa81c0d43fb4d449d418eba57fc6c77959754c5c2259a215152810555/bagit-1.7.0.tar.gz")
+      (sha256
+        (base32
+          "1m6y04qmig0b5hzb35lnaw3d2yfydb7alyr1579yblvgs3da6j7j"))))
+  (build-system python-build-system)
+  (inputs
+     `(("python-setuptools-scm" ,python-setuptools-scm)
+      ("python-coverage" ,python-coverage)
+      ("python-mock" ,python-mock)
+      ))
+  (arguments `(#:tests? #f)) ;; No tests.
+  (home-page "https://pypi.python.org/pypi/bagit")
+  (synopsis
+    "Python bagit.")
+  (description
+    "Python bagit.")
+  (license license:gpl2))
+)
+
+(define-public python-prov ; guix candidate
+(package
+  (name "python-prov")
+  (version "1.5.3")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "prov" version))
+      (sha256
+        (base32
+          "1a9h406laclxalmdny37m0yyw7y17n359akclbahimdggq853jd0"))))
+  (build-system python-build-system)
+  (inputs
+       `(("python-rdflib" ,python-rdflib)
+       ("python-lxml" ,python-lxml)
+       ("python-networkx" ,python-networkx)
+       ("python-dateutil" ,python-dateutil)
+       ("python-pydot" ,python-pydot)
+       ("graphviz" ,graphviz) ; for testing
+       ))
+  (home-page "https://github.com/trungdong/prov")
+  (synopsis
+    "A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)")
+  (description
+    "A library for W3C Provenance Data Model supporting PROV-JSON, PROV-XML and PROV-O (RDF)")
+  (license license:expat)))
+
+(define-public python-typing-extensions; guix candidate
+(package
+  (name "python-typing-extensions")
+  (version "3.6.6")
+  (source
+    (origin
+      (method url-fetch)
+      (uri "https://files.pythonhosted.org/packages/fc/e6/3d2f306b12f01bde2861d67458d32c673e206d6fcc255537bf452db8f80c/typing_extensions-3.6.6.tar.gz")
+      (sha256
+        (base32
+          "07vhddjnd3mhdijyc3s0mwi9jgfjp3rr056nxqiavydbvkrvgrsi"))))
+  (build-system python-build-system)
+  (home-page "https://pypi.python.org/pypi/typing_extensions")
+  (synopsis
+    "Python typing_extensions.")
+  (description
+    "Python typing_extensions.")
+  (license license:gpl2))
+)
+
+(define-public python-subprocess32 ; guix candidate
+(package
+  (name "python-subprocess32")
+  (version "0.2.9")
+  (source
+    (origin
+      (method url-fetch)
+      (uri "https://files.pythonhosted.org/packages/be/2b/beeba583e9877e64db10b52a96915afc0feabf7144dcbf2a0d0ea68bf73d/subprocess32-3.5.3.tar.gz")
+      (sha256
+        (base32
+          "1hr5fan8i719hmlmz73hf8rhq74014w07d8ryg7krvvf6692kj3b"))))
+  (build-system python-build-system)
+  (arguments `(#:tests? #f)) ;; No tests.
+  (home-page "https://pypi.python.org/pypi/subprocess32")
+  (synopsis
+    "Python subprocess32.")
+  (description
+    "Python subprocess32.")
+  (license license:gpl2))
+)
+
 (define-public python-inotify ; guix candidate
 (package
   (name "python-inotify")
@@ -218,22 +314,20 @@ functions.")
 (define-public python-rdflib-jsonld ; guix ready
   (package
     (name "python-rdflib-jsonld")
-    (version "0.3")
+    (version "0.4.0")
     (source
       (origin
         (method url-fetch)
-        (uri (string-append
-               "https://pypi.python.org/packages/source/r/rdflib-jsonld/rdflib-jsonld-"
-               version
-               ".tar.gz"))
+        (uri (pypi-uri "rdflib-jsonld" version))
         (sha256
           (base32
-            "121a876k49xl85jvikyh4hzvm34456ikw66cra5dfyr15br1qjll"))))
+            "0bdw2pbjmpy1l4p6slsjn54bqy6crk5hk4san84xxirgd9w78iql"))))
     (build-system python-build-system)
     (inputs
       `(("python-setuptools" ,python-setuptools)))
     (propagated-inputs
-     `(("python-rdflib-4.2" ,python-rdflib-4.2)
+     `(("python-rdflib" ,python-rdflib)
+       ("python-isodate" ,python-isodate)
        ("python-pyparsing" ,python-pyparsing)
        ("python-html5lib" ,python-html5lib)
        ("python-nose" ,python-nose)
@@ -250,50 +344,6 @@ functions.")
   (package-with-python2 python-rdflib-jsonld))
 
 
-(define-public python-rdflib-4.2
-  (package
-    (name "python-rdflib-4.2")
-    (version "4.2.0")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-              "https://pypi.python.org/packages/source/r/rdflib/rdflib-"
-              version
-              ".tar.gz"))
-        (patches
-          ;; The patch has no effect under Python 3.
-          (list (search-patch "python2-rdflib-drop-sparqlwrapper.patch")))
-        (sha256
-          (base32
-            "1h3f8yl9frjz8rsykjdjk83qsrcvld3qa7pkzh69s91h97ydl83l"))))
-    (build-system python-build-system)
-    (inputs
-      `(("python-html5lib" ,python-html5lib)
-        ("python-isodate" ,python-isodate)
-        ("python-pyparsing" ,python-pyparsing)
-        ("python-setuptools" ,python-setuptools)))
-    (arguments `(#:tests? #f)) ;; No tests.
-    (home-page "https://github.com/RDFLib/rdflib")
-    (synopsis
-      "Python RDF library")
-    (description
-      "RDFLib is a Python library for working with RDF, a simple yet
-powerful language for representing information.")
-    (license (license:non-copyleft "file://LICENSE"
-                           "See LICENSE in the distribution."))))
-
-(define-public python2-rdflib-4.2
-  (let ((base (package-with-python2 python-rdflib-4.2)))
-    (package
-      (inherit base)
-      (inputs
-        (append (package-inputs base)
-                `(("python-nose" ,python-nose))))
-      (arguments
-        `(#:python ,python-2
-          #:tests? #f))))) ; 3 tests fail, also outside Guix
-
 (define-public python-rserve
   (package
    (name "python-rserve")
@@ -326,20 +376,62 @@ powerful language for representing information.")
 (define-public python2-rserve
   (package-with-python2 python-rserve))
 
+(define-public python-setuptools
+  (package
+    (name "python-setuptools")
+    (version "40.6.2")
+    (source
+     (origin
+      (method url-fetch)
+      (uri "https://files.pythonhosted.org/packages/37/1b/b25507861991beeade31473868463dad0e58b1978c209de27384ae541b0b/setuptools-40.6.3.zip"
+             )
+      (sha256
+       (base32
+        "1y085dnk574sxw9aymdng9gijvrsbw86hsv9hqnhv7y4d6nlsirv"))
+      (modules '((guix build utils)))
+      (snippet
+       '(begin
+          ;; Remove included binaries which are used to build self-extracting
+          ;; installers for Windows.
+          ;; TODO: Find some way to build them ourself so we can include them.
+          (for-each delete-file (find-files "setuptools" "^(cli|gui).*\\.exe$"))
+          #t))))
+    (build-system python-build-system)
+    ;; FIXME: Tests require pytest, which itself relies on setuptools.
+    ;; One could bootstrap with an internal untested setuptools.
+    (arguments
+     `(#:tests? #f))
+    (home-page "https://pypi.python.org/pypi/setuptools")
+    (synopsis
+     "Library designed to facilitate packaging Python projects")
+    (description
+     "Setuptools is a fully-featured, stable library designed to facilitate
+packaging Python projects, where packaging includes:
+Python package and module definitions,
+distribution package metadata,
+test hooks,
+project installation,
+platform-specific details,
+Python 3 support.")
+    ;; TODO: setuptools now bundles the following libraries:
+    ;; packaging, pyparsing, six and appdirs. How to unbundle?
+    (license (list license:psfl        ; setuptools itself
+                   license:expat       ; six, appdirs, pyparsing
+                   license:asl2.0      ; packaging is dual ASL2/BSD-2
+                   license:bsd-2))))
+
+
 (define-public python-avro ; guix ready - used by CWL
 (package
   (name "python-avro")
-  (version "1.7.7")
+  (version "1.8.2")
   (source
     (origin
       (method url-fetch)
-      (uri (string-append
-             "https://pypi.python.org/packages/source/a/avro/avro-"
-             version
-             ".tar.gz"))
+        (uri (pypi-uri "avro" version))
       (sha256
         (base32
-          "0n21lfclah7bmqnnqfqmpsrimz0s86qkxyn972jynq234n1lyynf"))))
+          "0nabn1hzj1880qsp7fkg7923c0xdqk4i35s15asmy2xp604f97lg"))))
   (build-system python-build-system)
   (inputs
     `(("python-setuptools" ,python-setuptools)))
@@ -619,3 +711,76 @@ the older versions.")
     (description "This is a python library for generating html from classes.")
     (home-page "https://github.com/srittau/python-htmlgen")
     (license license:expat)))
+
+(define-public python-version
+(let ((commit "e5aadc720bb74c535f29e5a2de5cd9697efe8d7c"))
+(package
+  (name "python-version")
+  (version "0.1.2")
+  (source
+    (origin
+      (method git-fetch)
+      (uri (git-reference
+      ; (url "https://github.com/genenetwork/pylmm.git")
+        (url "https://github.com/keleshev/version.git") ; version not in pypi
+        (commit commit)))
+      (file-name (string-append name "-" commit))
+      (sha256
+        (base32
+          "1rc8kf72v180qlygkh1y0jwv2fxqpx7n97bqfhbwgnn31iwai9g3"))))
+  (build-system python-build-system)
+  (build-system python-build-system)
+  (propagated-inputs
+    `(
+    ("python-more-itertools" ,python-more-itertools)
+    ("python-pytest" ,python-pytest)))
+  (home-page "http://github.com/halst/version")
+  (synopsis "Implementation of semantic version")
+  (description
+    "Implementation of semantic version")
+  (license license:expat)
+)))
+
+(define-public python-mypy-extensions
+(package
+  (name "python-mypy-extensions")
+  (version "0.4.1")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "mypy_extensions" version))
+      (sha256
+        (base32
+          "04h8brrbbx151dfa2cvvlnxgmb5wa00mhd2z7nd20s8kyibfkq1p"))))
+  (build-system python-build-system)
+  (propagated-inputs
+    `(("python-version" ,python-version)
+      ("python-typing" ,python-typing)))
+  (home-page "http://www.mypy-lang.org/")
+  (synopsis
+    "Experimental type system extensions for programs checked with the mypy typechecker.")
+  (description
+    "Experimental type system extensions for programs checked with the mypy typechecker.")
+  (license #f))
+)
+
+
+(define-public python-arcp
+(package
+  (name "python-arcp")
+  (version "0.2.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "arcp" version))
+      (sha256
+        (base32
+          "0h8sn0mlb6vb8wqqnqc4pxdklrkyx3p72afdhm7b9kyalrqzd7dd"))))
+  (build-system python-build-system)
+  (home-page "http://arcp.readthedocs.io/")
+  (synopsis
+    "arcp (Archive and Package) URI parser and generator")
+  (description
+    "arcp (Archive and Package) URI parser and generator")
+  (license license:asl2.0))
+)