Subject: [bug#59239] [PATCH] gnu: Add python-synapseclient.

From: Mădălin Ionel Patrașcu<[email-masked]>
Date: Sun, 13 Nov 2022 06:43:08 +0100

* gnu/packages/python-xyz.scm (python-synapseclient): New variable.
---
 gnu/packages/python-xyz.scm | 60 +++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e26656fa32..b599a2e4ed 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -10383,6 +10383,66 @@ (define-public python-sympy
 as possible in order to be comprehensible and easily extensible.")
     (license license:bsd-3)))
 
+(define-public python-synapseclient
+  (package
+    (name "python-synapseclient")
+    (version "2.7.0")
+    (source (origin
+              ;; git version contains tests
+              (method git-fetch)
+              (uri (git-reference
+                    (url
+                     "https://github.com/Sage-Bionetworks/synapsePythonClient")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0v2yyjpmxlxmbn1xbxzx1l1bs45ir9p4i51dlf847irnrrmifxcd"))))
+              ;;(method url-fetch)
+              ;;(uri (pypi-uri "synapseclient" version))
+              ;;(sha256
+              ;; (base32
+              ;;  "1g2n5bbq5vkvprk4ap3sbz2q39cjwl8igy3krlskg34c1q7if7r4"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'relax-version-requirements
+           (lambda _
+             (substitute* "setup.py"
+               (("keyring>=15,<23\\.5") "keyring>=15")
+               (("keyrings\\.alt==3\\.1") "keyrings.alt>=3.1"))))
+         (add-before 'build 'set-homeless-shelter
+           (lambda _
+             ;; could not create '/homeless-shelter': Permission denied
+             (setenv "HOME" "/tmp")))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; these tests require server authentification  SynapseNoCredentialsError
+               (delete-file-recursively "tests/integration/synapseclient")
+               (delete-file-recursively "tests/integration/synapseutils")
+               (invoke "pytest")))))))
+    (propagated-inputs
+     (list python-deprecated
+           python-keyring
+           python-keyrings.alt
+           python-requests))
+    (native-inputs
+     (list python-boto3
+           python-flake8-3.8
+           python-pandas
+           python-psutil
+           python-pytest
+           python-pytest-mock
+           python-pytest-xdist-next))
+    (home-page "https://www.synapse.org")
+    (synopsis "Client for Synapse, a collaborative compute space")
+    (description
+     "This package provides a client for @code{Synapse}, a collaborative compute
+space that allows scientists to share and analyze data together.")
+    (license license:asl2.0)))
+
 (define-public python-q
   (package
     (name "python-q")

base-commit: c4025af8c11c3e9ea0c2747b6c475c916fb61d80
-- 
2.38.1