Subject: bug#32775: closed ([PATCH] gnu: Add gandi.cli.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 24 Sep 2018 20:28:01 +0000

Your bug report

#32775: [PATCH] gnu: Add gandi.cli.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
32775: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=32775
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: [PATCH] gnu: Add gandi.cli.
From: Tobias Geerinckx-Rice <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>, Leo Famulari <[email-masked]>
Date: Mon, 24 Sep 2018 22:27:05 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Leo, Ludo',

I pushed this patch as-is earlier today...

Ludo' wrote:
> Leo Famulari <[email-masked]> skribis:
>>> +    (name "gandi.cli")
>>
>> I prefer 'gandi-cli', but it's your call. The manual section 
>> Package
>> Naming only specifies how to replace underscores.

...having read this...

> I also have a slight preference to a hyphen, FWIW.  :-)

...but not this.

My vote's to follow upstream as long as upstream's not too silly, 
and not further restrict package names without good reason. Or is 
anyone's objection more than aesthetic?

Note that there are already other — mostly Python — packages that 
keep the '.' in their name. I checked before adding this one :-)

  $ ./pre-inst-env guix package -A '[^0-9]\.|\.[^0-9]' # and skip 
  some Go stuff
  proj.4	4.9.3	out	gnu/packages/geo.scm:294:2
  python{,2}-oslo.config	5.2.0	out 
  gnu/packages/openstack.scm:381:2
  python{,2}-oslo.context	2.20.0	out 
  gnu/packages/openstack.scm:423:2
  python{,2}-oslo.i18n	3.20.0	out 
  gnu/packages/openstack.scm:453:2
  python{,2}-oslo.log	3.36.0	out 
  gnu/packages/openstack.scm:486:2
  python{,2}-oslo.serialization	2.24.0	out 
  gnu/packages/openstack.scm:527:2
  python{,2}-oslo.utils	3.36.2	out 
  gnu/packages/openstack.scm:681:2
  python{,2}-rst.linker	1.10	out 
  gnu/packages/python.scm:2662:2
  python{,2}-ruamel.yaml	0.15.37	out 
  gnu/packages/serialization.scm:367:2
  python2-elib.intl	0.0.3	out 
  gnu/packages/python.scm:4052:2
  python2-ruamel.ordereddict	0.4.9	out 
  gnu/packages/python.scm:10965:2
  ruby-http-parser.rb	0.6.0	out 
  gnu/packages/ruby.scm:5754:2

Meh,

T G-R

Subject: [PATCH] gnu: Add gandi.cli.
From: Tobias Geerinckx-Rice <[email-masked]>
To: [email-masked]
Date: Wed, 19 Sep 2018 22:53:47 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/networking.scm (gandi.cli): New public variable.
---

Don't judge me.                                                                                                 

 gnu/packages/networking.scm | 50 +++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index abc616de3..f30d5a8da 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -87,6 +87,7 @@
   #:use-module (gnu packages perl-check)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages ssh)
@@ -673,6 +674,55 @@ send out a ping packet and move on to the next target in a round-robin
 fashion.")
     (license license:expat)))
 
+(define-public gandi.cli
+  (package
+    (name "gandi.cli")
+    (version "1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri name version))
+       (sha256
+        (base32 "0vfzkw1avybjkf6fwqpf5m4kjz4c0qkkmj62f3jd0zx00vh5ly1d"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'embed-store-file-names
+           (lambda _
+             (substitute* (list "gandi/cli/modules/cert.py"
+                                "gandi/cli/tests/commands/test_certificate.py")
+               (("openssl") (which "openssl")))
+             #t))
+         (add-after 'install 'install-documentation
+           ;; The included man page may be outdated but we install it anyway,
+           ;; since it's mentioned in 'gandi --help' and better than nothing.
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out  (assoc-ref outputs "out"))
+                    (man1 (string-append out "/share/man/man1")))
+               (mkdir-p man1)
+               (with-output-to-file (string-append man1 "/gandi.1")
+                 (lambda _
+                   (invoke "rst2man.py" "gandicli.man.rst")))
+               #t))))))
+    (native-inputs
+     `(("python-docutils" ,python-docutils)   ; for rst2man.py
+       ("python-pytest-cov" ,python-pytest-cov)
+       ("python-tox" ,python-tox)))
+    (inputs
+     `(("openssl" ,openssl)
+       ("python-click" ,python-click)
+       ("python-ipy" ,python-ipy)
+       ("python-pyyaml" ,python-pyyaml)
+       ("python-requests" ,python-requests)))
+    (home-page "https://cli.gandi.net")
+    (synopsis "Command-line interface to the Gandi.net API")
+    (description
+     "This package provides a command-line client (@command{gandi}) to buy,
+manage, and delete Internet resources from Gandi.net such as domain names,
+virtual machines, and certificates.")
+    (license license:gpl3+)))
+
 (define-public httping
   (package
     (name "httping")
-- 
2.18.0