diff mbox series

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

Message ID 20221113054308.5582-1-madalinionel.patrascu@mdc-berlin.de
State New
Headers show
Series [bug#59239] gnu: Add python-synapseclient. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success
cbaines/issue success View issue

Commit Message

Mădălin Ionel Patrașcu Nov. 13, 2022, 5:43 a.m. UTC
* gnu/packages/python-xyz.scm (python-synapseclient): New variable.
---
 gnu/packages/python-xyz.scm | 60 +++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)


base-commit: c4025af8c11c3e9ea0c2747b6c475c916fb61d80

Comments

Jonathan Brielmaier Nov. 17, 2022, 10:14 a.m. UTC | #1
Hi Mandalin,

I think there are some leftovers included in the patch:
https://issues.guix.gnu.org/59239#0-lineno29

~Jonathan
Ricardo Wurmus Nov. 17, 2022, 11:24 a.m. UTC | #2
Hi Mădălin,

> * gnu/packages/python-xyz.scm (python-synapseclient): New variable.
[…]

> +              ;;(method url-fetch)
> +              ;;(uri (pypi-uri "synapseclient" version))
> +              ;;(sha256
> +              ;; (base32
> +              ;;  "1g2n5bbq5vkvprk4ap3sbz2q39cjwl8igy3krlskg34c1q7if7r4"))))

Please remove this commented code.

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

Is this really a good idea?  Upper bounds usually exist for a reason.
We currently have version 23.9.  Can you please clear this with upstream
first?

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

We’re setting HOME, not homeless-shelter.

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

typo: “authentication”.  What exactly does this error mean?  Does it
talk to the internet?  How are these tests supposed to be run?

Is it possible to disable these tests with an option to pytest?  That
would seem better than conditionally deleting them.

Finally, I think the test files should be deleted unconditionally, so
that “tests?” only governs whether the tests are *run* instead of also
causing other side effects.
Maxim Cournoyer March 21, 2023, 1:06 p.m. UTC | #3
Hello Mădălin,

Ricardo Wurmus <rekado@elephly.net> writes:

> Hi Mădălin,
>
>> * gnu/packages/python-xyz.scm (python-synapseclient): New variable.
> […]
>
>> +              ;;(method url-fetch)
>> +              ;;(uri (pypi-uri "synapseclient" version))
>> +              ;;(sha256
>> +              ;; (base32
>> +              ;;  "1g2n5bbq5vkvprk4ap3sbz2q39cjwl8igy3krlskg34c1q7if7r4"))))
>
> Please remove this commented code.
>
>> +    (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")
>
> Is this really a good idea?  Upper bounds usually exist for a reason.
> We currently have version 23.9.  Can you please clear this with upstream
> first?
>
>> +               (("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")))
>
> We’re setting HOME, not homeless-shelter.
>
>> +         (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")))))))
>
> typo: “authentication”.  What exactly does this error mean?  Does it
> talk to the internet?  How are these tests supposed to be run?
>
> Is it possible to disable these tests with an option to pytest?  That
> would seem better than conditionally deleting them.
>
> Finally, I think the test files should be deleted unconditionally, so
> that “tests?” only governs whether the tests are *run* instead of also
> causing other side effects.

Genle ping.  Could you please send a v2 with the above suggested
changes?
diff mbox series

Patch

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