;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2013, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
+;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages autotools)
#: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 nss)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
(home-page "http://www.unix-ag.uni-kl.de/~massar/vpnc/")))
(define-public vpnc-scripts
- (let ((commit "07c3518dd6b8dc424e9c3650a62bed994a4dcbe1"))
+ (let ((commit "1000e0f6dd7d6bff163169a46359211c1fc3a6d2"))
(package
(name "vpnc-scripts")
- (version (string-append "20180226." (string-take commit 7)))
+ (version (string-append "20190116." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri
(file-name (git-file-name name version))
(sha256
(base32
- "02d29nrmnj6kfa889cavqn1pkn9ssb5gyp4lz1v47spwx7abpdi7"))))
+ "1g41yarz2bl0f73kbjqnywr485ghanbp7nmspklfb0n07yp0z6ak"))))
(build-system gnu-build-system)
(inputs `(("coreutils" ,coreutils)
("grep" ,grep)
(name "ocproxy")
(version "1.60")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/cernekee/ocproxy/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cernekee/ocproxy.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1b4rg3xq5jnrp2l14sw0msan8kqhdxmsd7gpw9lkiwvxy13pcdm7"))))
+ "03323nnhb4y9nzwva04mq7xg03dvdrgp689g89f69jqc261skcqx"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(inputs
`(("libevent" ,libevent)))
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'autogen
- (lambda _ (invoke "sh" "autogen.sh"))))))
(home-page "https://github.com/cernekee/ocproxy")
(synopsis "OpenConnect proxy")
(description
(define-public openconnect
(package
(name "openconnect")
- (version "8.02")
+ (version "8.05")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.infradead.org/pub/openconnect/"
"openconnect-" version ".tar.gz"))
- (sha256 (base32
- "04p0vzc1791h68hd9803wsyb64zrwm8qpdqx0szhj9pig71g5a0w"))))
+ (sha256
+ (base32 "14i9q727c2zc9xhzp1a9hz3gzb5lwgsslbhircm84dnbs192jp1k"))))
(build-system gnu-build-system)
- (inputs
+ (propagated-inputs
`(("libxml2" ,libxml2)
("gnutls" ,gnutls)
- ("vpnc-scripts" ,vpnc-scripts)
("zlib" ,zlib)))
+ (inputs
+ `(("vpnc-scripts" ,vpnc-scripts)))
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(define-public openvpn
(package
(name "openvpn")
- (version "2.4.7")
+ (version "2.4.8")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "0j7na936isk9j8nsdrrbw7wmy09inmjqvsb8mw8az7k61xbm6bx4"))))
+ "149z3agjy03i66mcj5bplim2mh45s2ps1wmxbxczyzw0nxmsd37v"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-iproute2=yes")))
(define-public tinc
(package
(name "tinc")
- (version "1.0.35")
+ (version "1.0.36")
(source (origin
(method url-fetch)
(uri (string-append "https://tinc-vpn.org/packages/"
- name "-" version ".tar.gz"))
+ "tinc-" version ".tar.gz"))
(sha256
(base32
- "0pl92sdwrkiwgll78x0ww06hfljd07mkwm62g8x17qn3gha3pj0q"))))
+ "021i2sl2mjscbm8g59d7vs74iw3gf0m48wg7w3zhwj6czarkpxs0"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
;; This project contains a bundled lwIP. lwIP is also released under the
;; 3-clause BSD license.
(license license:bsd-3)))
+
+(define-public wireguard
+ (package
+ (name "wireguard")
+ (version "0.0.20191127")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/"
+ "WireGuard-" version ".tar.xz"))
+ (sha256
+ (base32
+ "01ixdhbvx5yiq07msd60f98685wdksss4pfhdn1d8r25z2k80kkx"))))
+ (build-system gnu-build-system)
+ (outputs '("out" ; The WireGuard userspace tools
+ "kernel-patch")) ; A patch to build Linux with WireGuard support
+ (arguments
+ `(#:tests? #f ; No tests available.
+ #:make-flags
+ (list "CC=gcc"
+ "WITH_BASHCOMPLETION=yes"
+ ;; Build and install the helper script wg-quick(8).
+ "WITH_WGQUICK=yes"
+ (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "SYSCONFDIR=" (assoc-ref %outputs "out") "/etc"))
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 popen)
+ (ice-9 textual-ports))
+ #:phases
+ (modify-phases %standard-phases
+ ;; There is no ./configure script.
+ (delete 'configure)
+ ;; Until WireGuard is added to the upstream Linux kernel, it is
+ ;; distributed as a kernel patch generated by this script.
+ (add-after 'patch-source-shebangs 'make-patch
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((output (string-append (assoc-ref outputs "kernel-patch")
+ "/wireguard.patch"))
+ (patch-builder "./contrib/kernel-tree/create-patch.sh")
+ (port (open-input-pipe patch-builder))
+ (str (get-string-all port)))
+ (close-pipe port)
+ (mkdir-p (dirname output))
+ (call-with-output-file output
+ (lambda (port)
+ (format port "~a" str))))
+ #t))
+ (add-after 'make-patch 'chdir
+ (lambda _
+ (chdir "src/tools")
+ #t))
+ ;; Otherwise the 'install-license-file' phase installs nothing.
+ ;; <https://bugs.gnu.org/34703>
+ (add-after 'install 'reset-cwd
+ (lambda _
+ (chdir "../..")
+ #t)))))
+ (inputs
+ `(("libmnl" ,libmnl)))
+ (home-page "https://www.wireguard.com/")
+ (synopsis "Tools for configuring WireGuard")
+ (description "This package provides the userspace tools for setting and
+retrieving configuration of WireGuard network tunnel interfaces, and a patch
+that can be applied to a Linux kernel source tree in order to build it with
+WireGuard support.")
+ (license license:gpl2)))
+
+(define-public xl2tpd
+ (package
+ (name "xl2tpd")
+ (version "1.3.15")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xelerance/xl2tpd")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ppwza8nwm1av1vldw40gin9wrjrs4l9si50jad414js3k8ycaag"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "PREFIX=" %output)
+ "CC=gcc")
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)) ; no configure script
+ #:tests? #f)) ; no tests provided
+ (inputs `(("libpcap" ,libpcap)))
+ (home-page "https://www.xelerance.com/software/xl2tpd/")
+ (synopsis "Layer 2 Tunnelling Protocol Daemon (RFC 2661)")
+ (description
+ "xl2tpd is an implementation of the Layer 2 Tunnelling Protocol (RFC 2661).
+L2TP allows you to tunnel PPP over UDP.")
+ (license license:gpl2)))