* [bug#48514] [PATCH] gnu: Add python-domain-connect-dyndns.
@ 2021-05-19 2:19 Mekeor Melire
2021-05-23 7:34 ` Xinglu Chen
0 siblings, 1 reply; 3+ messages in thread
From: Mekeor Melire @ 2021-05-19 2:19 UTC (permalink / raw)
To: 48514
[-- Attachment #1: Type: text/plain, Size: 669 bytes --]
Hello Guix!
It's been long time since my last contribution. (Namely, almost 4
years!) But now I got three little package declarations for you, which
can be used to update DNS records of domains from certain
domain-providers. For example, I'm using a well known, pretty common
German domain-provider and found this python-script to be most
comfortable to use. It is based on a new, open standard, called "Domain
Connect", developed, used and supported by many common DNS/domain
providers (see <https://www.domainconnect.org/dns-providers/>). That was
just to argue why I think these packages have a value for the public
(and not just my private self).
See you
Mekeor
[-- Attachment #2: 0001-gnu-Add-python-domain-connect-dyndns.patch --]
[-- Type: text/x-patch, Size: 5491 bytes --]
From 488d77b3a6542598264ba964a723cf2c7d6e646f Mon Sep 17 00:00:00 2001
From: Mekeor Melire <mekeor@posteo.de>
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.
---
gnu/packages/python-web.scm | 103 ++++++++++++++++++++++++++++++++++++
1 file changed, 103 insertions(+)
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index b7411d21fa..41c8971c8c 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -42,6 +42,7 @@
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2021 Mekeor Melire <mekeor@posteo.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -4066,6 +4067,108 @@ List. Forked from and using the same API as the publicsuffix package.")
(define-public python2-publicsuffix2
(package-with-python2 python-publicsuffix2))
+(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))
+ (synopsis "Parse the Public Suffix List")
+ (description "Parse and use a given list of public suffix domains.")
+ (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
+ #: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"))))))))
+ (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
+ #: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"))))))))
+ (propagated-inputs
+ `(("python-certifi" ,python-certifi)
+ ("python-cffi" ,python-cffi)
+ ("python-chardet" ,python-chardet)
+ ("python-cryptography" ,python-cryptography)
+ ("python-dnspython" ,python-dnspython)
+ ("python-domain-connect" ,python-domain-connect)
+ ("python-future" ,python-future)
+ ("python-idna" ,python-idna)
+ ("python-publicsuffix" ,python-publicsuffix)
+ ("python-pycparser" ,python-pycparser)
+ ("python-requests" ,python-requests)
+ ("python-six" ,python-six)
+ ("python-urllib3" ,python-urllib3)
+ ("python-validators" ,python-validators)))
+ (synopsis "Update DNS record of a domain per Domain Connect standard")
+ (description "This package provides a client for the open standard
+\"Domain Connect\" which can be used to update DNS records of domains.")
+ (license license:expat)))
+
(define-public python-werkzeug
(package
(name "python-werkzeug")
--
2.30.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#48514] [PATCH] gnu: Add python-domain-connect-dyndns.
2021-05-19 2:19 [bug#48514] [PATCH] gnu: Add python-domain-connect-dyndns Mekeor Melire
@ 2021-05-23 7:34 ` Xinglu Chen
2021-06-29 20:43 ` Mekeor Melire
0 siblings, 1 reply; 3+ messages in thread
From: Xinglu Chen @ 2021-05-23 7:34 UTC (permalink / raw)
To: Mekeor Melire, 48514
[-- Attachment #1: Type: text/plain, Size: 4364 bytes --]
On Wed, May 19 2021, Mekeor Melire wrote:
> From 488d77b3a6542598264ba964a723cf2c7d6e646f Mon Sep 17 00:00:00 2001
> From: Mekeor Melire <mekeor@posteo.de>
> 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!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug#48514] [PATCH] gnu: Add python-domain-connect-dyndns.
2021-05-23 7:34 ` Xinglu Chen
@ 2021-06-29 20:43 ` Mekeor Melire
0 siblings, 0 replies; 3+ messages in thread
From: Mekeor Melire @ 2021-06-29 20:43 UTC (permalink / raw)
To: Xinglu Chen; +Cc: 48514
Hi and thank you for reviewing the patch!
2021-05-23 / 09:34 / public@yoctocell.xyz:
> [[PGP Signed Part:Undecided]]
> On Wed, May 19 2021, Mekeor Melire wrote:
>
>> From 488d77b3a6542598264ba964a723cf2c7d6e646f Mon Sep 17 00:00:00 2001
>> From: Mekeor Melire <mekeor@posteo.de>
>> 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?
I tried to get the tests working. But I'm not sure how to fix this
error: "ImportError: Failed to import test module: domainconnect". The
full logs are here: http://ix.io/3rvK
It probably originates in this line:
https://github.com/Domain-Connect/domainconnect_python/blob/d5a3a2935be36a61985e0a86eab7e2a6098493d5/domainconnect/tests/test_domainConnect.py#L11
If I understand correctly, the package's tests try to import the package
itself (which makes sense). I'm not sure why it does not work though.
Any ideas?
I will get the other change-requests done after fixing 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!
>
> [[End of PGP Signed Part]]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-06-29 21:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-19 2:19 [bug#48514] [PATCH] gnu: Add python-domain-connect-dyndns Mekeor Melire
2021-05-23 7:34 ` Xinglu Chen
2021-06-29 20:43 ` Mekeor Melire
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).