diff mbox series

[bug#41431] gnu: Add protonvpn-cli.

Message ID 20200521032943.26115-1-rprior@protonmail.com
State Accepted
Headers show
Series [bug#41431] gnu: Add protonvpn-cli. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

guix--- via Guix-patches via May 21, 2020, 3:29 a.m. UTC
* gnu/packages/vpn.scm (protonvpn-cli): New variable.
---
 gnu/packages/vpn.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

Comments

Ludovic Courtès May 23, 2020, 2:17 p.m. UTC | #1
Hi,

Ryan Prior <rprior@protonmail.com> skribis:

> * gnu/packages/vpn.scm (protonvpn-cli): New variable.

Overall LGTM, with minor issues:

> +    (arguments '(#:tests? #f))

When enabling the tests, I get:

--8<---------------cut here---------------start------------->8---
starting phase `check'
running "python setup.py" with command "test" and parameters ()
running test
running egg_info
writing protonvpn_cli.egg-info/PKG-INFO
writing dependency_links to protonvpn_cli.egg-info/dependency_links.txt
writing entry points to protonvpn_cli.egg-info/entry_points.txt
writing requirements to protonvpn_cli.egg-info/requires.txt
writing top-level names to protonvpn_cli.egg-info/top_level.txt
reading manifest file 'protonvpn_cli.egg-info/SOURCES.txt'
writing manifest file 'protonvpn_cli.egg-info/SOURCES.txt'
running build_ext
error: [Errno 13] Permission denied: '/.pvpn-cli'
command "python" "-c" "import setuptools, tokenize;__file__='setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\\r\\n', '\\n');f.close();exec(compile(code, __file__, 'exec'))" "test" failed with status 1
--8<---------------cut here---------------end--------------->8---

So there are definitely tests, but for some reason they’re not working
as expected.  Could you take a look?  (In general we don’t disable tests
unless there’s a compelling reason to do so.)

> +    (description
> +     "ProtonVPN is a secure point-to-point virtual private networking service
> +with a gratis tier.")
> +    (home-page "https://github.com/ProtonVPN/linux-cli")
> +    (license license:gpl3)))

This is ‘gpl3+’ AFAICS since nothing says “version 3 only.”

Could you send an updated patch?

Bonus points if you expound the description a bit.  :-)

Thanks,
Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index da881493bf..b47cad2ae0 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -12,6 +12,7 @@ 
 ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -55,6 +56,7 @@ 
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages python-web)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xml))
 
@@ -311,6 +313,38 @@  security protocol that utilizes SSL/TLS for key exchange.  It is capable of
 traversing network address translators (@dfn{NAT}s) and firewalls.")
     (license license:gpl2)))
 
+(define-public protonvpn-cli
+  (package
+    (name "protonvpn-cli")
+    (version "2.2.2")
+    (source
+     (origin
+       ;; PyPI has a ".whl" file but not a proper source release.
+       ;; Thus, fetch code from Git.
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ProtonVPN/linux-cli.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ixjb02kj4z79whm1izd8mrn2h0rp9cmw4im1qvp93rahqxdd4n8"))))
+    (build-system python-build-system)
+    (arguments '(#:tests? #f))
+    (native-inputs
+     `(("docopt" ,python-docopt)))
+    (inputs
+     `(("pythondialog" ,python-pythondialog)
+       ("requests" ,python-requests)))
+    (propagated-inputs
+     `(("openvpn" ,openvpn)))
+    (synopsis "Command-line client for ProtonVPN")
+    (description
+     "ProtonVPN is a secure point-to-point virtual private networking service
+with a gratis tier.")
+    (home-page "https://github.com/ProtonVPN/linux-cli")
+    (license license:gpl3)))
+
 (define-public tinc
   (package
     (name "tinc")