diff mbox

[1/3] gnu: Add sshuttle.

Message ID 20161207032000.8120-1-me@tobias.gr
State New
Headers show

Commit Message

Tobias Geerinckx-Rice Dec. 7, 2016, 3:19 a.m. UTC
* gnu/packages/vpn.scm (sshuttle): New variable.
---
 gnu/packages/vpn.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

Comments

Tobias Geerinckx-Rice Dec. 7, 2016, 3:25 a.m. UTC | #1
On 07/12/16 04:19, Tobias Geerinckx-Rice wrote:
> +    (native-inputs
> +     `(("python-pytest-runner" ,python-pytest-runner)
> +       [...]
> +       ;; For tests only.
> +       [...]

Sic, by the way. Even ‘#:tests? #f’ builds fail without pytest-runner.

Kind regards,

T G-R
Hartmut Goebel Dec. 7, 2016, 9:44 a.m. UTC | #2
Am 07.12.2016 um 04:19 schrieb Tobias Geerinckx-Rice:
> +    (native-inputs
> +     `(("python-pytest-runner" ,python-pytest-runner)
> +       ("python-setuptools-scm" ,python-setuptools-scm)
> +
> +       ;; For tests only.
> +       ("python-mock" ,python-mock)
> +       ("python-pytest" ,python-pytest)))

I wonder why pytest-runner in not below the comment "For tests only"?

Also I'd not put an empty line in front of the comment.

Please check the license. The LICENCE file says LGPL 2.1+ as you said,
but https://pypi.python.org/pypi/sshuttle/ says it is GPL2+. Can you
please verify which one is correct. Thanks.
Tobias Geerinckx-Rice Dec. 7, 2016, 4:26 p.m. UTC | #3
Hartmut,

On 07/12/16 10:44, Hartmut Goebel wrote:
> The LICENCE file says LGPL 2.1+ as you said, but
> https://pypi.python.org/pypi/sshuttle/ says it is GPL2+.

I know :-) That would be because of this gem, copied from...

    head -n 5 setup.py
    #!/usr/bin/env python

    # Copyright 2012-2014 Brian May
    #
    # This file is part of python-tldap.

Which appears never to have been updated.

> Can you please verify which one is correct.

I have as much information as you...

I've filed a bug report, with the suggested fix to add LGPL2+ licence
headers to the source files to remove any confusion.

Since the last commit was in March, and considering there is a LICENSE
file present, I propose we add the package as LGPL2 (conservatively,
license:lgpl2.0) until further notice.

Kind regards,

T G-R
diff mbox

Patch

diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 6d50304..a856d69 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -4,6 +4,7 @@ 
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
 ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@ 
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
   #:use-module (gnu packages)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
@@ -32,6 +34,7 @@ 
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages xml))
 
@@ -201,3 +204,34 @@  traversing network address translators (NATs) and firewalls.")
      "Tinc is a VPN that uses tunnelling and encryption to create a secure
 private network between hosts on the internet.")
     (license license:gpl2+)))
+
+(define-public sshuttle
+  (package
+    (name "sshuttle")
+    (version "0.78.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri name version))
+       (sha256
+        (base32
+         "0g1dpqigz02vafzh84z5990lnj9d95raknav0xmf0va7rr41d9q3"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-pytest-runner" ,python-pytest-runner)
+       ("python-setuptools-scm" ,python-setuptools-scm)
+
+       ;; For tests only.
+       ("python-mock" ,python-mock)
+       ("python-pytest" ,python-pytest)))
+    (home-page "https://github.com/sshuttle/sshuttle")
+    (synopsis "VPN that transparently forwards connections over SSH")
+    (description "sshuttle creates an encrypted virtual private network (VPN)
+connection to any remote server to which you have secure shell (SSH) access.
+The only requirement is a suitable version of Python on the server;
+administrative privileges are required only on the client.  Unlike most VPNs,
+sshuttle forwards entire sessions, not packets, using kernel transparent
+proxying.  This makes it faster and more reliable than SSH's own tunneling and
+port forwarding features.  It can forward both TCP and UDP traffic, including
+DNS domain name queries.")
+    (license license:lgpl2.1+)))