summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan Prior <rprior@protonmail.com>2020-12-23 03:38:08 +0000
committerLeo Famulari <leo@famulari.name>2020-12-24 16:20:12 -0500
commitbcfa8b4a285c4948b61bc7297ade28a7c0e59e2c (patch)
treedf23d33ca6c4a02db8c0378a7cc5a28dceba1bc2
parent88795880d79993e18e0ea5b2c90a3dcf7488d16b (diff)
downloadguix-bcfa8b4a285c4948b61bc7297ade28a7c0e59e2c.tar.gz
gnu: protonvpn-cli: Stop propagating inputs.
* gnu/packages/vpn.scm (protonvpn-cli)[inputs]: Add dialog, iproute2, iptables,
ncurses, openvpn, procps, python-requests, and which.
[arguments]: Add a 'wrap-wrapper' phase.

Signed-off-by: Leo Famulari <leo@famulari.name>
-rw-r--r--gnu/packages/vpn.scm38
1 files changed, 32 insertions, 6 deletions
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index c1f0b65e84..8b5da1316b 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -364,16 +364,42 @@ traversing network address translators (@dfn{NAT}s) and firewalls.")
        (sha256
         (base32 "0y7v9ikrmy5dbjlpbpacp08gy838i8z54m8m4ps7ldk1j6kyia3n"))))
     (build-system python-build-system)
-    (arguments '(#:tests? #f)) ; no tests in repo
+    (arguments
+     '(#:tests? #f ; no tests in repo
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'wrap 'wrap-wrapper
+           ;; Wrap entrypoint with paths to its hard dependencies.
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((entrypoint (string-append (assoc-ref outputs "out")
+                                              "/bin/.protonvpn-real")))
+               (wrap-program entrypoint
+                            `("PATH" ":" prefix
+                              ,(map (lambda (name)
+                                      (let ((input (assoc-ref inputs name)))
+                                        (string-append input "/bin:"
+                                                       input "/sbin")))
+                                    (list "dialog"
+                                          "iproute2"
+                                          "iptables"
+                                          "ncurses"
+                                          "openvpn"
+                                          "procps"
+                                          "which")))))
+             #t)))))
     (native-inputs
      `(("python-docopt" ,python-docopt)))
     (inputs
-     `(("python-jinja2" ,python-jinja2)
+     `(("dialog" ,dialog)
+       ("iproute2" ,iproute)
+       ("iptables" ,iptables)
+       ("ncurses" ,ncurses)
+       ("openvpn" ,openvpn)
+       ("procps" ,procps)
+       ("python-jinja2" ,python-jinja2)
        ("python-pythondialog" ,python-pythondialog)
-       ("python-requests" ,python-requests)))
-    (propagated-inputs
-     `(("openvpn" ,openvpn)
-       ("dialog" ,dialog)))
+       ("python-requests" ,python-requests)
+       ("which" ,which)))
     (synopsis "Command-line client for ProtonVPN")
     (description
      "This is the official command-line interface for ProtonVPN, a secure