Subject: [PATCH 4/5] gnu: Add python-conda

From: Muriithi Frederick Muriuki <[email-masked]>
Date: Tue, 18 Jul 2017 11:37:08 +0300

* gnu/packages/package-management.scm (python-conda, python2-conda): New
* variables.
* Add module (gnu packages serialization).
---
 gnu/packages/package-management.scm | 75 +++++++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index a16a49bd0..3f106a65e 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -52,6 +52,7 @@
   #:use-module (gnu packages tls)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages vim)
+  #:use-module (gnu packages serialization)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match))
 
@@ -618,3 +619,77 @@ environments.")
 
 (define-public python2-anaconda-client
   (package-with-python2 python-anaconda-client))
+
+(define-public python-conda
+  (package
+    (name "python-conda")
+    (version "4.3.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/conda/conda/archive/"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "1jq8hyrc5npb5sf4vw6s6by4602yj8f79vzpbwdfgpkn02nfk1dv"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-ruamel.yaml" ,python-ruamel.yaml)
+       ("python-requests" ,python-requests)
+       ("python-pycosat" ,python-pycosat)
+       ("python-pytest" ,python-pytest)
+       ("python-responses" ,python-responses)
+       ("python-pyyaml" ,python-pyyaml)
+       ("python-anaconda-client" ,python-anaconda-client)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'build
+             'create-version-file
+           (lambda* _
+             (let ((version-file (open-output-file "conda/.version")))
+               (display ,version version-file)
+               (close-output-port version-file)
+               #t)))
+         (add-before 'check
+             'remove-failing-tests
+           (lambda* _
+             ;; these tests require internet/network access
+             (delete-file "tests/test_cli.py")
+             (delete-file "tests/test_create.py")
+             (delete-file "tests/test_export.py")
+             (delete-file "tests/test_fetch.py")
+             (delete-file "tests/test_history.py")
+             (delete-file "tests/test_info.py")
+             (delete-file "tests/test_install.py")
+             (delete-file "tests/test_priority.py")
+             (delete-file "tests/conda_env/test_cli.py")
+             (delete-file "tests/conda_env/test_create.py")
+             (delete-file "tests/conda_env/specs/test_notebook.py")
+             (delete-file "tests/conda_env/utils/test_notebooks.py")
+             (delete-file "tests/core/test_index.py")
+             (delete-file "tests/core/test_repodata.py")
+             ;; This last test creates a file, then deletes it an
+             ;; tests that the file was deleted. For some reason
+             ;; it fails when building with guix, but does not when
+             ;; you run it in the directory left when you build with
+             ;; the --keep-failed option
+             (delete-file "tests/gateways/disk/test_delete.py")))
+         (replace 'check
+           (lambda* _
+             (and
+              (setenv "HOME" "/tmp")
+              (zero? (system* "py.test"))))))))
+    (home-page "https://github.com/conda/conda")
+    (synopsis
+     "Cross-platform, OS-agnostic, system-level binary package manager")
+    (description
+     "Conda is a cross-platform, Python-agnostic binary package manager.  It is
+the package manager used by Anaconda installations, but it may be used for other
+systems as well.  Conda makes environments first-class citizens, making it easy
+to create independent environments even for C libraries.  Conda is written
+entirely in Python, and is BSD licensed open source.")
+    (license bsd-3)))
+
+(define-public python2-conda
+  (package-with-python2 python-conda))
-- 
2.13.2