Subject: [bug#48514] [PATCH] gnu: Add python-domain-connect-dyndns.

From: Xinglu Chen <[email-masked]>
Date: Sun, 23 May 2021 09:34:01 +0200

On Wed, May 19 2021, Mekeor Melire wrote:

> From 488d77b3a6542598264ba964a723cf2c7d6e646f Mon Sep 17 00:00:00 2001
> From: Mekeor Melire <[email-masked]>
> Date: Wed, 19 May 2021 03:45:08 +0200
> Subject: [PATCH] gnu: Add python-domain-connect-dyndns.
>
> * gnu/packages/python-web.scm (python-publicsuffixlist, python-domain-connect,
> python-domain-connect-dyndns): New variables.

This should be split into three separate commits, you can use the
etc/committer.scm script to automatically create commits for unstaged
changes.

> +(define-public python-publicsuffixlist
> +  (package
> +    (name "python-publicsuffixlist")
> +    (version "0.7.7")
> +    (home-page "https://github.com/ko-zu/psl")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url home-page)
> +                    (commit "bff8d6a87b6bd3f6894e9211a9ee3c995ccfdcfc")))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32 "1nzvw6n702y1v1z5b62lv2rnlqjr3hjpal2750sg8s713fxvxlzz"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:tests? #f))

What’s the reason for disabling the tests?

> +    (synopsis "Parse the Public Suffix List")
> +    (description "Parse and use a given list of public suffix domains.")

The description should contain one or more full sentences.

> +    (license license:mpl2.0)))
> +
> +(define-public python-domain-connect
> +  (package
> +    (name "python-domain-connect")
> +    (version "0.0.9")
> +    (home-page "https://github.com/Domain-Connect/domainconnect_python")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url home-page)
> +                    (commit (string-append "v" version))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32 "1xji0svamw961c7zgs1453cw2b9w94mk5qrfvqyb592l6yhmmm62"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:tests? #f

Same as above (why are tests disabled?).

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'only-single-number-versions
> +           (lambda _
> +             (substitute* '("setup.py" "requirements.txt")
> +               (("(.*)([0-9]+)\\.[0-9]+\\.[0-9]+(.*)" all begin number end)
> +                (string-append begin number end "\n"))))))))

Is the newline necessary?

> +    (propagated-inputs
> +     `(("python-cffi" ,python-cffi)
> +       ("python-cryptography" ,python-cryptography)
> +       ("python-dnspython" ,python-dnspython)
> +       ("python-future" ,python-future)
> +       ("python-publicsuffix" ,python-publicsuffix)
> +       ("python-publicsuffixlist" ,python-publicsuffixlist)
> +       ("python-pycparser" ,python-pycparser)
> +       ("python-six" ,python-six)))
> +    (synopsis "Update DNS record of a domain per Domain Connect standard")
> +    (description "This library provides \"Domain Connect\" for Python, which
> +can be used to update DNS records of domains.")
> +    (license license:expat)))
> +
> +(define-public python-domain-connect-dyndns
> +  (package
> +    (name "python-domain-connect-dyndns")
> +    (version "0.0.9")
> +    (home-page "https://github.com/Domain-Connect/DomainConnectDDNS-Python")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri
> +        (git-reference
> +         (url home-page)
> +          (commit (string-append "v" version))))
> +       (file-name (git-file-name name version))
> +       (sha256
> +        (base32 "024wxhfifl14j8s973lg6ls6s80grf9sm417kd2rpy1a90p89dnk"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:tests? #f

Same as the comment for python-domain-connect.

> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'only-single-number-versions
> +           (lambda _
> +             (substitute* '("setup.py" "requirements.txt")
> +               (("(.*)([0-9]+)\\.[0-9]+\\.[0-9]+(.*)" all begin number end)
> +                (string-append begin number end "\n"))))))))

Same as the comment for python-domain-connect.

otherwise LGTM!