Subject: [bug#33874] [PATCH] gnu: Add badvpn.

From: Meiyo Peng <[email-masked]>
Date: Wed, 26 Dec 2018 21:02:44 +0800

Hi,

I forgot to add a copyright notice for myself. Here is the new patch.

>From 00cfd4bd699a5863431504018725693257f6423f Mon Sep 17 00:00:00 2001
From: Meiyo Peng <[email-masked]>
Date: Mon, 24 Dec 2018 22:35:26 +0800
Subject: [PATCH] gnu: Add badvpn.

* gnu/packages/vpn.scm (badvpn): New variable.
---
 gnu/packages/vpn.scm | 47 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 1edd1ac56..8cc6a41d7 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -7,6 +7,7 @@
 ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <[email-masked]>
 ;;; Copyright © 2017 Julien Lepiller <[email-masked]>
 ;;; Copyright © 2018 Pierre Langlois <[email-masked]>
+;;; Copyright © 2018 Meiyo Peng <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -28,6 +29,7 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (gnu packages)
@@ -37,6 +39,7 @@
   #:use-module (gnu packages compression)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gnuzilla)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
@@ -400,3 +403,47 @@ DNS domain name queries.")
 @command{sshuttle} virtual private networks.  It supports flexible profiles
 with configuration options for most of @command{sshuttle}’s features.")
     (license license:gpl3+)))
+
+(define-public badvpn
+  (package
+    (name "badvpn")
+    (version "1.999.130")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ambrop72/badvpn.git")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0rm67xhi7bh3yph1vh07imv5y1pwyldvw3wa5bz471g8mnkc7d3c"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f))                    ; no tests
+    (inputs
+     `(("nspr" ,nspr)
+       ("nss" ,nss)
+       ("openssl" ,openssl)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/ambrop72/badvpn")
+    (synopsis "NCD scripting language, tun2socks proxifier, P2P VPN")
+    (description "@code{BadVPN} is a collection of VPN-related tools.  It
+includes:
+
+@enumerate
+@item NCD programming language.\n
+NCD (Network Configuration Daemon) is a daemon and programming/scripting
+language for configuration of network interfaces and other aspects of the
+operating system.
+@item Tun2socks network-layer proxifier.\n
+The tun2socks program socksifes TCP connections at the network layer.  It
+implements a TUN device which accepts all incoming TCP connections (regardless
+of destination IP), and forwards the connections through a SOCKS server.
+@item Peer-to-peer VPN.\n
+The Peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers
+(VPN nodes).
+@end enumerate")
+    ;; This project contains a bundled lwIP. lwIP is also released under the
+    ;; 3-clause BSD license.
+    (license license:bsd-3)))
-- 
2.20.1

--
Meiyo Peng
https://www.pengmeiyu.com/