Subject: [bug#59792] [PATCH] gnu: Add python-pynetdicom.

From: Maxim Cournoyer <[email-masked]>
Date: Mon, 16 Jan 2023 09:53:09 -0500

Hi again,

Antero Mejr <[email-masked]> writes:

> * gnu/packages/python-science.scm (python-pynetdicom): New variable.
> ---
>  gnu/packages/python-science.scm | 41 +++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)
>
> diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
> index 00bba25a4a..d45bcd9bca 100644
> --- a/gnu/packages/python-science.scm
> +++ b/gnu/packages/python-science.scm
> @@ -1702,6 +1702,47 @@ (define-public python-pydicom
>  in a pythonic way.")
>      (license license:expat)))
>  
> +(define-public python-pynetdicom
> +  (package
> +    (name "python-pynetdicom")
> +    (version "2.0.2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (pypi-uri "pynetdicom" version))
> +              (sha256
> +               (base32
> +                "0farmgviaarb3f4xn751card3v0lza57vwgl5azxxq65p7li44i3"))))
> +    (build-system python-build-system)
> +    (arguments
> +     (list  #:phases #~(modify-phases %standard-phases
> +                         (replace 'check
> +                           (lambda* (#:key tests? #:allow-other-keys)
> +                             (when tests?
> +                               (invoke "pytest" "-vv" "-k"
> +                                       ;; network tests, 2977/3283 pass
> +                                       (string-append
> +                                        " not TestFindSCP"
> +                                        " and not TestQRGetServiceClass"
> +                                        " and not TestQRMoveServiceClass"
> +                                        " and not TestStoreSCP"
> +                                        " and not test_ae.py"
> +                                        " and not test_echoscp.py"
> +                                        " and not test_qrscp_echo.py"
> +                                        " and not test_storescp.py"
> +                                        " and not test_pr_level_patient"
> +                                        " and not test_pr_level_series"
> +                                        " and not test_scp_cancelled"))))))))

The same tip as offered earlier should work here too (using
pyproject-build-system and its #:test-flags argument).

> +    (native-inputs (list python-pyfakefs python-pytest))
> +    (propagated-inputs (list python-pydicom python-sqlalchemy))
> +    (home-page "https://github.com/pydicom/pynetdicom")
> +    (synopsis "Python implementation of the DICOM networking protocol")
> +    (description
> +     "@code{pynetdicom} is a Python package that implements the DICOM
> +networking protocol.  Working with @code{pydicom}, it allows the easy creation
> +of DICOM @acronym{SCUs,Service Class Users} and
> +@acronym{SCPs,Service Class Providers}.")
> +    (license license:expat)))

I'd drop the "Working with @code{pydicom}, " and start the sentence
directly from "It allows the creation of [...]".

-- 
Thanks,
Maxim