;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
;;; Copyright © 2020 Hamzeh Nasajpour <h.nasajpour@pantherx.org>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
- #:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
+(define-public usrsctp
+ (package
+ (name "usrsctp")
+ (version "0.9.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/sctplab/usrsctp")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10ndzkip8blgkw572n3dicl6mgjaa7kygwn3vls80liq92vf1sa9"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)
+ ("which" ,which)))
+ (home-page "https://github.com/sctplab/usrsctp/")
+ (synopsis "SCTP user-land implementation")
+ (description "UsrSCTP is a portable SCTP userland stack. SCTP is a message
+oriented, reliable transport protocol with direct support for multihoming that
+runs on top of IP or UDP, and supports both v4 and v6 versions.")
+ (license license:bsd-3)))
+
+(define-public axel
+ (package
+ (name "axel")
+ (version "2.17.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/axel-download-accelerator/axel/"
+ "releases/download/v" version "/"
+ "axel-" version ".tar.xz"))
+ (sha256
+ (base32 "0kmlqk04sgkshsll4r9w3k0rvrgz0gpk987618r50khwl484zss6"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libressl" ,libressl)))
+ (home-page "https://github.com/axel-download-accelerator/axel")
+ (synopsis "Light command line download accelerator")
+ (description
+ "Axel tries to accelerate the download process by using multiple
+connections per file, and can also balance the load between different
+servers. It tries to be as light as possible, so it might be useful
+on byte-critical systems. It supports HTTP, HTTPS, FTP and FTPS
+protocols.")
+ (license license:gpl2+)))
+
;; This package does not have a release yet.
;; But this is required to provide a feature in PipeWire.
(define-public libcamera
(define-public libnice
(package
(name "libnice")
- (version "0.1.17")
+ (version "0.1.18")
(source
(origin
(method url-fetch)
(string-append "https://libnice.freedesktop.org/releases/"
name "-" version ".tar.gz"))
(sha256
- (base32 "09lm0rxwvbr53svi3inaharlq96iwbs3s6957z69qp4bqpga0lhr"))))
+ (base32 "1x3kj9b3dy9m2h6j96wgywfamas1j8k2ca43k5v82kmml9dx5asy"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
"-Dgtk_doc=enabled")
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'disable-failing-test
+ (lambda _
+ (substitute* "tests/meson.build"
+ ;; ‘test-set-port-range.c:66:main: assertion failed:
+ ;; (nice_agent_gather_candidates (agent, stream1))’
+ (("'test-set-port-range'") "#"))
+ #t))
(add-after 'install 'move-docs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(native-inputs
`(("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
- ("gtk-doc" ,gtk-doc)
+ ("gtk-doc" ,gtk-doc/stable)
("pkg-config" ,pkg-config)))
(inputs
- `(("gnutls" ,gnutls)
- ("gstreamer" ,gstreamer)
+ `(("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("libnsl" ,libnsl)))
(propagated-inputs
`(("glib" ,glib)
- ("glib-networking" ,glib-networking)))
+ ("glib-networking" ,glib-networking)
+ ("gnutls" ,gnutls)))
(synopsis "GLib ICE implementation")
(description "LibNice is a library that implements the Interactive
Connectivity Establishment (ICE) standard (RFC 5245 & RFC 8445). It provides a
license:mpl1.1))))
(define-public rtmpdump
- (package
- (name "rtmpdump")
- (version "2.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.ffmpeg.org/rtmpdump")
- (commit "c28f1bab7822de97353849e7787b59e50bbb1428")))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1n3kdip83nvvs4sin30zpcdr5q711mqhq2lxrv5vgbc6lskpwzlj"))))
- (build-system gnu-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags
- (list
- ;; The ‘validate-runpath’ phase fails to find librtmp.so.0.
- (string-append "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib")
- (string-append "prefix=" (assoc-ref %outputs "out")))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'omit-static-library
- (lambda _
- (substitute* "librtmp/Makefile"
- (("cp librtmp\\.a .*") ; don't install it
- "")
- (("librtmp\\.a ") ; don't build it
- ""))
- #t))
- (delete 'configure))))
- (inputs
- `(("openssl" ,openssl-1.0)
- ("zlib" ,zlib)))
- (synopsis "Tools and library for handling RTMP streams")
- (description "RTMPdump is a toolkit for RTMP streams. All forms of RTMP are
+ ;; There are no tags in the repository, and the project is unlikely to
+ ;; make new releases. Take a recent commit for multiple security fixes
+ ;; as well as GnuTLS compatibility.
+ (let ((commit "c5f04a58fc2aeea6296ca7c44ee4734c18401aa3")
+ (revision "0")
+ (version "2.4")) ;as mentioned in README and man pages
+ (package
+ (name "rtmpdump")
+ (version (git-version version revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.ffmpeg.org/rtmpdump")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07ias612jgmxpam9h418kvlag32da914jsnjsfyafklpnh8gdzjb"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags
+ (list
+ ;; The ‘validate-runpath’ phase fails to find librtmp.so.0.
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib")
+ (string-append "prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'omit-static-library
+ (lambda _
+ (substitute* "librtmp/Makefile"
+ (("cp librtmp\\.a .*") ; don't install it
+ "")
+ (("librtmp\\.a ") ; don't build it
+ ""))
+ #t))
+ (add-after 'unpack 'prefer-gnutls
+ (lambda _
+ (substitute* '("Makefile" "librtmp/Makefile")
+ (("CRYPTO=OPENSSL")
+ "#CRYPTO=OPENSSL")
+ (("#CRYPTO=GNUTLS")
+ "CRYPTO=GNUTLS"))))
+ (delete 'configure))))
+ (inputs
+ `(("gnutls" ,gnutls)
+ ("zlib" ,zlib)))
+ (synopsis "Tools and library for handling RTMP streams")
+ (description "RTMPdump is a toolkit for RTMP streams. All forms of RTMP are
supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.")
- (home-page "https://rtmpdump.mplayerhq.hu/")
- (license
- (list
- ;; Library.
- license:lgpl2.1+
- ;; Others.
- license:gpl2+))))
+ (home-page "https://rtmpdump.mplayerhq.hu/")
+ (license
+ (list
+ ;; Library.
+ license:lgpl2.1+
+ ;; Others.
+ license:gpl2+)))))
(define-public srt
(package
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Haivision/srt.git")
+ (url "https://github.com/Haivision/srt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(list
(string-append "-DCMAKE_INSTALL_BINDIR="
(assoc-ref %outputs "out") "/bin")
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- (assoc-ref %outputs "out") "/lib")
- (string-append "-DINSTALL_SHARED_DIR="
- (assoc-ref %outputs "out") "/lib")
- (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
- (assoc-ref %outputs "out") "/include")
- "-DENABLE_UNITTESTS=ON"
- "-DENABLE_CODE_COVERAGE=ON")))
+ "-DCMAKE_INSTALL_INCLUDEDIR=include"
+ "-DENABLE_STATIC=OFF"
+ "-DENABLE_UNITTESTS=ON")))
(native-inputs
- `(("git" ,git-minimal)
- ("gtest" ,googletest)
+ `(("gtest" ,googletest)
("pkg-config" ,pkg-config)
("tclsh" ,tcl)))
(propagated-inputs
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/Haivision/srt.git")
+ (url "https://github.com/Haivision/srt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/sctp/lksctp-tools.git")
+ (url "https://github.com/sctp/lksctp-tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
+ (patches
+ (search-patches "lksctp-tools-1.0.18-fix-header-file-name.patch"))
(sha256
(base32 "1x4fwzrlzvfa3vcpja97m8w5g9ir2zrh4zs7zksminrnmdrs0dsr"))))
(build-system gnu-build-system)
;; Others.
license:gpl2+))))
+(define-public python-pysctp
+ (package
+ (name "python-pysctp")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pysctp" version))
+ (sha256
+ (base32 "14h2qlmfi24bizhvvqkfqfa78pzm3911ibrzy9k94i97xy1978dy"))))
+ (build-system python-build-system)
+ (inputs
+ `(("lksctp-tools" ,lksctp-tools)))
+ (arguments
+ `(#:tests? #f ;; tests require network
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ (substitute* "setup.py"
+ (("include_dirs\\s*=.*")
+ (string-append "include_dirs = ['.'] + '"
+ (getenv "C_INCLUDE_PATH") "'.split(':'),"))
+ (("library_dirs\\s*=.*")
+ (string-append "library_dirs = '"
+ (getenv "LIBRARY_PATH") "'.split(':'),"))))))))
+ (home-page "https://github.com/p1sec/pysctp")
+ (synopsis "Python module for the SCTP protocol stack and library")
+ (description "@code{pysctp} implements the SCTP socket API. You need a
+SCTP-aware kernel (most are).")
+ (license license:lgpl2.1+)))
+
(define-public knockd
(package
(name "knockd")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/nanomsg/nng.git")
+ (url "https://github.com/nanomsg/nng")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(method git-fetch)
(uri
(git-reference
- (url "https://github.com/nanomsg/nanomsg.git")
+ (url "https://github.com/nanomsg/nanomsg")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public blueman
(package
(name "blueman")
- (version "2.1.3")
+ (version "2.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/blueman-project/blueman/releases"
"/download/" version "/blueman-" version ".tar.xz"))
(sha256
- (base32 "1pngqbwapbvywhkmflapqvs0wa0af7d1a87wy56l5hg2r462xl1v"))))
+ (base32 "1nk46s1s8yrlqv37sc7la05nnn7sdgqhkrcdm98qin34llwkv70x"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags (list "--enable-polkit"
"0j9ilig570snbmj48230hf7ms8kvcwi2wblycqrmhh85lksd49ps"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ '(#:configure-flags
+ (list "--localstatedir=/var")
+ #:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'do-not-create-/run
+ (lambda _
+ (substitute* (find-files "src" "Makefile.*")
+ (("^.+install_sh.+/run.+$")
+ "\ttrue"))
+ #t))
+ (add-after 'unpack 'patch-iproute2
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((iproute (assoc-ref inputs "iproute"))
+ (ip (string-append iproute "/sbin/ip")))
+ (substitute* "misc/client-hook.iproute"
+ (("/sbin/ip") ip))
+ #t)))
;; The checkconf test in src/ requires network access.
(add-before
'check 'disable-checkconf-test
(substitute* "src/Makefile"
(("^TESTS = .*") "TESTS = \n"))
#t)))))
+ (inputs
+ `(("iproute" ,iproute)))
(home-page "https://www.remlab.net/miredo/")
(synopsis "Teredo IPv6 tunneling software")
(description
(define-public socat
(package
(name "socat")
- (version "1.7.3.4")
+ (version "1.7.4.1")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "1z7xgnwiqpcv1j6aghhj9nqbx7cg3gpc4n9j7vi9hm7nhv5788wp"))))
+ "1sbmqqvni3ss9wyay6ik5v81kxffkra80mh4ypgj74g82iba5b1z"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; no test suite
(inputs `(("openssl" ,openssl)))
(define-public zeromq
(package
(name "zeromq")
- (version "4.3.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/zeromq/libzmq/releases"
- "/download/v" version "/zeromq-" version ".tar.gz"))
- (sha256
- (base32
- "18km71p77jm1w7wly2a5mxvphjb0f2l6s08cg382x55f6zdqb4lx"))))
+ (version "4.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/zeromq/libzmq/releases"
+ "/download/v" version "/zeromq-" version ".tar.gz"))
+ (sha256
+ (base32 "1rf3jmi36ms8jh2g5cvi253h43l6xdfq0r7mvp95va7mi4d014y5"))))
(build-system gnu-build-system)
+ (arguments '(#:configure-flags '("--disable-static")))
(home-page "https://zeromq.org")
(synopsis "Library for message-based applications")
(description
(define-public czmq
(package
(name "czmq")
- (version "4.2.0")
+ (version "4.2.1")
(source (origin
(method url-fetch)
(uri (string-append
"/" name "-" version ".tar.gz"))
(sha256
(base32
- "1szciz62sk3fm4ga9qjpxz0n0lazvphm32km95bq92ncng12kayg"))))
+ "0fdclvd7fcwixp0k57ccv7d159v3slasyhvndxfn8n1a9hh0lwjx"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--enable-drafts")
#:phases (modify-phases %standard-phases
(add-before 'check 'patch-tests
(lambda _
- ;; XXX FIXME: Disable the zproc test, which fails on some
- ;; hardware: <https://github.com/zeromq/czmq/issues/2007>.
(substitute* "src/czmq_selftest.c"
+ ;; Disable the zproc test, which fails on some hardware
+ ;; (see: https://github.com/zeromq/czmq/issues/2007).
(("\\{ \"zproc\", zproc_test.*")
+ "")
+ ;; Also disable the zarmour test, which fails as well
+ ;; (see: https://github.com/zeromq/czmq/issues/2125).
+ (("\\{ \"zarmour\", zarmour_test.*")
""))
#t)))))
(inputs
(define-public ethtool
(package
(name "ethtool")
- (version "5.9")
+ (version "5.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/network/"
"ethtool/ethtool-" version ".tar.xz"))
(sha256
(base32
- "0vwam1ay184z237vnl8ivb0rdjjbljp9pj3kjzhc6yzq180k4aai"))))
+ "1kygjg6g90017k53b8342i59cpwgidalqpa3gdilqyrhm6b56zc1"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(define-public whois
(package
(name "whois")
- (version "5.5.6")
+ (version "5.5.8")
(source
(origin
- (method url-fetch)
- (uri (string-append "mirror://debian/pool/main/w/whois/"
- "whois_" version ".tar.xz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rfc1036/whois")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "0kpi981zjczvdcxfcq455c529vlaxa73x8kbm530z5b01h0fk8fb"))))
+ (base32 "12lhl2q1pa1qkbv0l1cpy8hn4wh5i99bqc68rlm4f7jyqlj2l82r"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
- #:make-flags (list "CC=gcc"
+ #:make-flags (list (string-append "CC=" ,(cc-for-target))
+ (string-append "PKG_CONFIG=" ,(pkg-config-for-target))
(string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(define-public wireshark
(package
(name "wireshark")
- (version "3.2.7")
+ (version "3.4.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz"))
(sha256
- (base32 "1nkhglzxj05hwhgzrgan4glv0z67rmasf9djx1dmqicwdnw2z0xy"))))
+ (base32 "0aad3m8nh4i75dgjs68217135bzqmhmlgjklmpjh1ihmjwgd373j"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-test
- ;; Test 31/32 fails with errors like "Program reassemble_test is
- ;; not available". Skipping it for now.
+ ;; Skip test suite failing with "Program reassemble_test is not
+ ;; available" and alike errors. Also skip test suite failing with
+ ;; "AssertionError: Program extcap/sdjournal is not available"
+ ;; error.'
(lambda _
(substitute* "CMakeLists.txt"
- (("suite_unittests" all) (string-append "# " all)))
+ (("suite_unittests" all) (string-append "# " all))
+ (("suite_extcaps" all) (string-append "# " all)))
#t)))
;; Build process chokes during `validate-runpath' phase.
;;
(define-public gandi.cli
(package
(name "gandi.cli")
- (version "1.5")
+ (version "1.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
- (base32 "110wc9zgxsrvw4yzp21p0ian5lcf7vhcpxhnmsc4fg9pzl2bwxd5"))))
+ (base32 "1h36jahbp7273wn3yd747kbiwjc0bm3sja67bcxdsd54ln0vyndg"))))
(build-system python-build-system)
(arguments
`(#:phases
#t))))))
(native-inputs
`(("python-docutils" ,python-docutils) ; for rst2man.py
+ ("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-tox" ,python-tox)))
+ (propagated-inputs
+ `(("openssh" ,openssh))) ; used by gandi/cli/modules/iass.py
(inputs
`(("openssl" ,openssl)
("python-click" ,python-click)
(define-public httpstat
(package
(name "httpstat")
- (version "1.2.1")
+ (version "1.3.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "httpstat" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/reorx/httpstat")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1chw2nk56vaq87aba012a270k9na06hfx1pfbsrc3jfvlc2kb9hb"))))
+ (base32 "0cw8299a080m42slsimz31xs0gjnh833gpbj2dsr4hkcinrn4iyd"))))
(build-system python-build-system)
(inputs `(("curl" ,curl)))
(arguments
(("ENV_CURL_BIN.get\\('curl'\\)")
(string-append "ENV_CURL_BIN.get('"
(assoc-ref inputs "curl")
- "/bin/curl')")))
+ "/bin/curl')"))
+ ;; "curl -w time_*" units seems to have
+ ;; changed from seconds to nanoseconds.
+ (("d\\[k\\] \\* 1000") "d[k] / 1000"))
#t)))))
(home-page "https://github.com/reorx/httpstat")
(synopsis "Visualize curl statistics")
(define-public squid
(package
(name "squid")
- (version "4.13")
+ (version "4.14")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.squid-cache.org/Versions/v4/squid-"
version ".tar.xz"))
(sha256
- (base32 "1q1ywpic6s7dfjj3cwzcfgscc4zq0aih462gyas7j1z683ss14b8"))))
+ (base32 "1z4zf98q24ps19fq840n0hwh6z1la65rf061kcapr29lcjm7s2gi"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
+ '(#:configure-flags
+ ;; disable -march=native in build for reproducibility; see
+ ;; https://wiki.squid-cache.org/KnowledgeBase/IllegalInstructionError
+ (list "--disable-arch-native")
+ #:phases
(modify-phases %standard-phases
(add-before 'build 'fix-true-path
(lambda* (#:key inputs #:allow-other-keys)
(define-public bwm-ng
(package
(name "bwm-ng")
- (version "0.6.2")
+ (version "0.6.3")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0k906wb4pw3dcqpcwnni78lahzi3bva483f8c17sjykic7as4y5n"))))
+ (base32 "1gpp2l3w479h1w5skjra5xy0gxd24kvmk6i4psbkafnv2399la4k"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(define-public perl-data-validate-ip
(package
(name "perl-data-validate-ip")
- (version "0.27")
+ (version "0.30")
(source
(origin
(method url-fetch)
"mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-IP-"
version ".tar.gz"))
(sha256
- (base32 "1mmppyzsh1w2z2h86kvzqxy56wxgs62a3kf8nvcnz76bblir5ap1"))))
+ (base32 "074adrlvkiahj1fdc9nvb95dpfyjzm2jzhi90m8xaw4bw5ipcbzy"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-requires" ,perl-test-requires)))
(define-public perl-net-dns
(package
(name "perl-net-dns")
- (version "1.27")
+ (version "1.30")
(source
(origin
(method url-fetch)
(string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-"
version ".tar.gz")))
(sha256
- (base32 "0hdx5ajr34f39rycai090y9w8gq9v0shgziynaaj0rzk21vjfdpk"))))
+ (base32 "1nm560xjg173wvv736ai3ib1gwssyy41gi0yv4j5fqamfav70ph5"))))
(build-system perl-build-system)
(inputs
`(("perl-digest-hmac" ,perl-digest-hmac)))
(define-public perl-net-cidr-lite
(package
(name "perl-net-cidr-lite")
- (version "0.21")
+ (version "0.22")
(source
(origin
(method url-fetch)
(uri (string-append
- "mirror://cpan/authors/id/D/DO/DOUGW/Net-CIDR-Lite-"
+ "mirror://cpan/authors/id/S/ST/STIGTSP/Net-CIDR-Lite-"
version
".tar.gz"))
(sha256
- (base32
- "14shj73zbqmfjbp0qz1fs9j4p2dpvz5hfkm4qfdjbydflbl2b8fg"))))
+ (base32 "05w57db2lx4djb4vixzdr6qgrzyzkk047nl812g7nq8s6k5xh5s3"))))
(build-system perl-build-system)
- (home-page
- "https://metacpan.org/release/Net-CIDR-Lite")
- (synopsis
- "Perl extension for merging IPv4 or IPv6 CIDR addresses")
+ (home-page "https://metacpan.org/release/Net-CIDR-Lite")
+ (synopsis "Perl extension for merging IPv4 or IPv6 CIDR addresses")
(description "Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses.")
(license license:gpl1+)))
-;; TODO: Use the geolite-mirror-simple.pl script from the example
-;; directory to stay current with the databases. How?
-(define-public perl-geo-ip
- (package
- (name "perl-geo-ip")
- (version "1.51")
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-"
- version
- ".tar.gz"))
- (sha256
- (base32
- "1fka8fr7fw6sh3xa9glhs1zjg3s2gfkhi7n7da1l2m2wblqj0c0n"))))
- (build-system perl-build-system)
- (home-page "https://metacpan.org/release/Geo-IP")
- (synopsis
- "Look up location and network information by IP Address in Perl")
- (description "The Perl module @code{Geo::IP}. It looks up location and
-network information by IP Address.")
- (license license:perl-license)))
-
(define-public perl-io-socket-inet6
(package
(name "perl-io-socket-inet6")
(define-public libproxy
(package
(name "libproxy")
- (version "0.4.15")
+ (version "0.4.17")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libproxy/libproxy/"
version ".tar.xz"))
(sha256
(base32
- "0kvdrazlzwia876w988cmlypp253gwy6idlh8mjk958c29jb8kb5"))))
+ "01cbgz6lc3v59sldqk96l1281kp2qxnsa2qwlf2ikvjlyr1gi2dw"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(define-public enet
(package
(name "enet")
- (version "1.3.16")
+ (version "1.3.17")
(source
(origin
(method url-fetch)
(uri (string-append "http://enet.bespin.org/download/"
"enet-" version ".tar.gz"))
(sha256
- (base32 "1lggc82rbzscci057dqqyhkbq4j6mr5k01hbrvn06jkzc2xpxdxv"))))
+ (base32 "1p6f9mby86af6cs7pv6h48032ip9g32c05cb7d9mimam8lchz3x3"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(define-public openvswitch
(package
(name "openvswitch")
- (version "2.13.0")
+ (version "2.13.3")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0cd5vmfr6zwgcnkwys6rag6cmz68v0librpaplianv734xs74pyx"))))
+ "1wc5zspy9aln7di7m9a1qy4lv3h05gmhgd1nffhb9nxdcxqgnpgp"))))
(build-system gnu-build-system)
(arguments
'(;; FIXME: many tests fail with:
(define-public speedtest-cli
(package
(name "speedtest-cli")
- (version "2.1.2")
+ (version "2.1.3")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1456yly6iym2c9bl6pi4sz8xbw34bm2dxm1vzpydsd6jazwpmy26"))))
+ (base32 "10fazl4kwf41mk7pnwpfms16n0ii0kg9pf8r3mz9xwnl9y04mv9x"))))
(build-system python-build-system)
(home-page "https://github.com/sivel/speedtest-cli")
(synopsis "Internet bandwidth tester")
(version "1.2.4")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://savannah/quagga/quagga-"
- version ".tar.gz"))
+ ;; Use archived sources; see <http://issues.guix.gnu.org/47123>.
+ (uri (string-append "https://fossies.org/linux/misc/"
+ "quagga-" version ".tar.gz"))
(sha256
(base32
"1lsksqxij5f1llqn86pkygrf5672kvrqn1kvxghi169hqf1c0r73"))
(define-public zyre
(package
(name "zyre")
- (version "2.0.0")
+ (version "2.0.1")
(source (origin
(method url-fetch)
(uri
version "/" name "-" version ".tar.gz"))
(sha256
(base32
- "0qz2730bng1gs9xbqxhkw88qbsmszgmmrl2g9k6xrg6r3bqvsdc7"))))
+ "13596507ma1474cjqzxym5jlvcshvw7sjhw80rdz788gyz6kz90b"))))
(build-system gnu-build-system)
(inputs `(("zeromq" ,zeromq)
("czmq" ,czmq)
;; Either BSD-3 or GPL-2 can be used.
(license (list license:bsd-3 license:gpl2))))
-(define-public asio
+;;; This is an old version required by rested.
+(define-public asio-1.12
(package
(name "asio")
(version "1.12.2")
asynchronous model using a modern C++ approach.")
(license license:boost1.0)))
+(define-public asio
+ (package
+ (inherit asio-1.12)
+ (version "1.18.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/asio/asio/"
+ version " (Stable)/asio-" version ".tar.bz2"))
+ (sha256
+ (base32 "04wi69d72l1p5c7d63z1dz06zn8pdqsbgx1if98dszs9ymfqgyaa"))))))
+
(define-public shadowsocks
;; There are some security fixes after the last release.
(let* ((commit "e332ec93e9c90f1cbee676b022bf2c5d5b7b1239")
(base32
"1idd9b4f2pnhcpk1bh030hqg5zq25gkwxd53xi3c0cj242w7sp2j"))
(file-name (git-file-name name version))))
+ (inputs
+ `(("openssl" ,openssl)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-crypto-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "shadowsocks/shell.py"
+ (("config\\.get\\('libopenssl', None\\)")
+ (format #f "config.get('libopenssl', ~s)"
+ (string-append
+ (assoc-ref inputs "openssl")
+ "/lib/libssl.so")))))))))
(build-system python-build-system)
(synopsis "Fast tunnel proxy that helps you bypass firewalls")
(description
(license (license:non-copyleft "file://LICENSE"))))
(define-public restbed
- (let ((commit "6eb385fa9051203f28bf96cc1844bbb5a9a6481f"))
- (package
- (name "restbed")
- (version (git-version "4.6" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Corvusoft/restbed/")
- (commit commit)))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "0k60i5drklqqrb4khb25fzkgz9y0sncxf1sp6lh2bm1m0gh0661n"))))
- (build-system cmake-build-system)
- (inputs
- `(("asio" ,asio)
- ("catch" ,catch-framework)
- ("openssl" ,openssl)))
- (arguments
- `(#:tests? #f
- #:configure-flags
- '("-DBUILD_TESTS=NO"
- "-DBUILD_EXAMPLES=NO"
- "-DBUILD_SSL=NO"
- "-DBUILD_SHARED=NO")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'apply-patches-and-fix-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((asio (assoc-ref inputs "asio"))
- (catch (assoc-ref inputs "catch"))
- (openssl (assoc-ref inputs "openssl")))
- (substitute* "cmake/Findasio.cmake"
- (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin)
- (string-append begin " \"" asio "/include\" )")))
- (substitute* "cmake/Findcatch.cmake"
- (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin)
- (string-append begin " \"" catch "/include\" )")))
- (substitute* "cmake/Findopenssl.cmake"
- (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin)
- (string-append begin " \"" openssl "/lib\" )"))
- (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin)
- (string-append begin " \"" openssl "/lib\" )"))
- (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin)
- (string-append begin " \"" openssl "/include\" )")))))))))
- (synopsis "Asynchronous RESTful functionality to C++11 applications")
- (description "Restbed is a comprehensive and consistent programming
+ (package
+ (name "restbed")
+ (version "4.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Corvusoft/restbed/")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "055qicb773a599dsqbcz5xf0xj1wpk33mdrkyi0fsmyjmn8d2p9d"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("asio" ,asio-1.12)
+ ("catch" ,catch-framework)
+ ("openssl" ,openssl)))
+ (arguments
+ `(#:tests? #f
+ #:configure-flags
+ '("-DBUILD_TESTS=NO"
+ "-DBUILD_EXAMPLES=NO"
+ "-DBUILD_SSL=NO"
+ "-DBUILD_SHARED=NO")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'apply-patches-and-fix-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((asio (assoc-ref inputs "asio"))
+ (catch (assoc-ref inputs "catch"))
+ (openssl (assoc-ref inputs "openssl")))
+ (substitute* "cmake/Findasio.cmake"
+ (("(find_path\\( asio_INCLUDE asio\\.hpp HINTS ).*$" all begin)
+ (string-append begin " \"" asio "/include\" )")))
+ (substitute* "cmake/Findcatch.cmake"
+ (("(find_path\\( catch_INCLUDE catch\\.hpp HINTS ).*$" all begin)
+ (string-append begin " \"" catch "/include\" )")))
+ (substitute* "cmake/Findopenssl.cmake"
+ (("(find_library\\( ssl_LIBRARY ssl ssleay32 HINTS ).*$" all begin)
+ (string-append begin " \"" openssl "/lib\" )"))
+ (("(find_library\\( crypto_LIBRARY crypto libeay32 HINTS ).*$" all begin)
+ (string-append begin " \"" openssl "/lib\" )"))
+ (("(find_path\\( ssl_INCLUDE openssl/ssl\\.h HINTS ).*$" all begin)
+ (string-append begin " \"" openssl "/include\" )")))))))))
+ (synopsis "Asynchronous RESTful functionality to C++11 applications")
+ (description "Restbed is a comprehensive and consistent programming
model for building applications that require seamless and secure
communication over HTTP.")
- (home-page "https://github.com/Corvusoft/restbed")
- (license license:agpl3+))))
+ (home-page "https://github.com/Corvusoft/restbed")
+ (license license:agpl3+)))
(define-public restinio
(package
(name "restinio")
- (version "0.6.1.1")
+ (version "0.6.13")
(source (origin
(method git-fetch)
(uri (git-reference
(file-name (git-file-name name version))
(sha256
(base32
- "141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5"))))
+ "0gb0yc88hdzwm08zdiviay6s08q427za33kfbygib7bdzp2wr2dm"))))
(build-system cmake-build-system)
(inputs ; TODO: Need to force-keep references on some inputs, e.g. boost.
`(("zlib" ,zlib)
(define-public opendht
(package
(name "opendht")
- (version "2.1.4")
+ (version "2.2.0rc4") ;jami requires >= 2.2.0
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/savoirfairelinux/opendht")
(commit version)))
(file-name (git-file-name name version))
- (patches (search-patches "opendht-fix-jami.patch"))
(sha256
(base32
- "1ax26ri1ifb6s8ppd28jmanka9yf8mw3np65q2h4djhhik0phhal"))))
+ "1wc0f6cnvnlmhxnx64nxqgsx93k4g7ljdaqjl40ml74jg3nqrzcl"))))
;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
(build-system cmake-build-system)
(inputs
`(("argon2" ,argon2)
- ("nettle" ,nettle)
+ ("nettle" ,nettle-3.7)
("readline" ,readline)
("jsoncpp" ,jsoncpp)
("openssl" ,openssl) ;required for the DHT proxy
("fmt" ,fmt)))
(propagated-inputs
`(("gnutls" ,gnutls) ;included in opendht/crypto.h
- ("msgpack" ,msgpack))) ;included in several installed headers
+ ("msgpack" ,msgpack) ;included in several installed headers
+ ("restinio" ,restinio))) ;included in opendht/http.h
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
- ("restinio" ,restinio) ;headers only library
("libtool" ,libtool)
("cppunit" ,cppunit)))
(arguments
`(#:tests? #f ; Tests require network connection.
#:configure-flags
- '(;; "-DOPENDHT_TESTS=on"
+ '(;;"-DOPENDHT_TESTS=on"
"-DOPENDHT_TOOLS=off"
"-DOPENDHT_PYTHON=off"
"-DOPENDHT_PROXY_SERVER=on"
(define-public frrouting
(package
(name "frrouting")
- (version "6.0.2")
+ (version "7.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FRRouting/frr/releases/"
".tar.xz"))
(sha256
(base32
- "0xfrvi62w8qlh46f504ka0skb7pm0g0p8vmdng4w90gsbirlzpdd"))))
+ "1a27wvxmc51sr0kchy0hjfpv19imlgrr3s9k48lik9k01g71yrdr"))))
(build-system gnu-build-system)
(inputs
`(("c-ares" ,c-ares)
("json-c" ,json-c)
+ ("libcap" ,libcap)
+ ("libyang" ,libyang)
("readline" ,readline)))
(native-inputs
`(("perl" ,perl)
maximum extent possible.")
(license license:lgpl2.1+)))
+(define-public libyang
+ (package
+ (name "libyang")
+ (version "1.0.215")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/CESNET/libyang")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mrs2ppmq77z8sbqgm2w0rl9bfgybd6bcxanakfww4chih6cy0dw"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list "-DENABLE_BUILD_TESTS=ON" "-DENABLE_LYD_PRIV=ON")))
+ (propagated-inputs `(("pcre" ,pcre)))
+ (native-inputs `(("cmocka" ,cmocka)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://github.com/CESNET/libyang")
+ (synopsis "YANG data modelling language library")
+ (description "libyang is a YANG data modelling language parser and toolkit
+written (and providing API) in C. Current implementation covers YANG 1.0 (RFC
+6020) as well as YANG 1.1 (RFC 7950).")
+ (license license:bsd-3)))
+
(define-public batctl
(package
(name "batctl")
- (version "2020.3")
+ (version "2020.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://downloads.open-mesh.org/batman/releases/batman-adv-"
version "/batctl-" version ".tar.gz"))
(sha256
- (base32 "0r2w2v4sy6wgr7mp9lc7yj9k4ldsbsm3425rjil7p0b17zmzf4rm"))))
+ (base32 "05rrpfbpdhxn5zgdps849qls2ifis6a94cjryb60d4y1nc2n0d7w"))))
(inputs
`(("libnl" ,libnl)))
(native-inputs
(define-public lldpd
(package
(name "lldpd")
- (version "1.0.6")
+ (version "1.0.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://media.luffy.cx/files/lldpd/lldpd-"
version ".tar.gz"))
(sha256
- (base32 "1v5fd8vwxracvzvgrsswvhppwyx5c4srj89g1cnvy73w831mpq95"))
+ (base32 "08kppk49f9wmdf2gw29sm8pi027g54gzrqa07p8fpwvy0dv2sns4"))
(modules '((guix build utils)))
(snippet
'(begin
"--with-privsep-group=nogroup"
"--localstatedir=/var"
"--enable-pie"
+ "--disable-static"
"--without-embedded-libevent"
(string-append "--with-systemdsystemunitdir="
(assoc-ref %outputs "out")
(define-public nbd
(package
(name "nbd")
- (version "3.20")
+ (version "3.21")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/nbd/nbd/3.20/nbd-" version
- ".tar.xz"))
+ (uri (string-append "mirror://sourceforge/nbd/nbd/" version
+ "/nbd-" version ".tar.xz"))
(sha256
- (base32
- "1kfnyx52nna2mnw264njk1dl2zc8m78sz031yp65mbmpi99v7qg0"))))
+ (base32 "1ydylvvayi4w2d08flji9q03sl7y8hn0c26vsay3nwwikprqls77"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)))
client and server. It allows you to use remote block devices over a TCP/IP
network.")
(license license:gpl2)))
+
+(define-public yggdrasil
+ (package
+ (name "yggdrasil")
+ (version "0.3.16")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/yggdrasil-network/yggdrasil-go")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vyd7a333hwn6j1lv1g9sicw74a4qk982bsi3cfdhjlv6hsjwmil"))
+ (patches (search-patches "yggdrasil-extra-config.patch"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/yggdrasil-network/yggdrasil-go"
+ ;; TODO: figure out how tests are run
+ #:tests? #f
+ #:install-source? #f
+ #:phases (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (for-each
+ (lambda (c)
+ (invoke
+ "go" "build" "-v" "-ldflags=-s -w"
+ (string-append
+ "github.com/yggdrasil-network/yggdrasil-go/cmd/" c)))
+ (list "yggdrasil" "yggdrasilctl"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (doc (string-append out "/share/doc/yggdrasil/")))
+ (mkdir-p bin)
+ (for-each
+ (lambda (f)
+ (install-file f bin))
+ (list "yggdrasil" "yggdrasilctl"))
+ (mkdir-p doc)
+ (copy-recursively
+ (string-append
+ "src/github.com/yggdrasil-network/yggdrasil-go/"
+ "doc/yggdrasil-network.github.io")
+ doc))
+ #t)))))
+ ;; https://github.com/kardianos/minwinsvc is windows only
+ (propagated-inputs
+ `(("go-github-com-arceliar-phony" ,go-github-com-arceliar-phony)
+ ("go-github-com-cheggaaa-pb" ,go-github-com-cheggaaa-pb)
+ ("go-github-com-gologme-log" ,go-github-com-gologme-log)
+ ("go-github-com-hashicorp-go-syslog" ,go-github-com-hashicorp-go-syslog)
+ ("go-github-com-hjson-hjson-go" ,go-github-com-hjson-hjson-go)
+ ("go-github-com-kardianos-minwinsvc" ,go-github-com-kardianos-minwinsvc)
+ ("go-github-com-mitchellh-mapstructure"
+ ,go-github-com-mitchellh-mapstructure)
+ ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-golang-org-x-net" ,go-golang-org-x-net)
+ ("go-golang-org-x-text" ,go-golang-org-x-text)
+ ("go-golang-zx2c4-com-wireguard" ,go-golang-zx2c4-com-wireguard)
+ ("go-netlink" ,go-netlink)
+ ("go-netns" ,go-netns)))
+ (home-page "https://yggdrasil-network.github.io/blog.html")
+ (synopsis
+ "Experiment in scalable routing as an encrypted IPv6 overlay network")
+ (description
+ "Yggdrasil is an early-stage implementation of a fully end-to-end encrypted
+IPv6 network. It is lightweight, self-arranging, supported on multiple
+platforms and allows pretty much any IPv6-capable application to communicate
+securely with other Yggdrasil nodes. Yggdrasil does not require you to have
+IPv6 Internet connectivity - it also works over IPv4.")
+ (license
+ ;; As a special exception to the GNU Lesser General Public License
+ ;; version 3 ("LGPL3"), the copyright holders of this Library give you
+ ;; permission to convey to a third party a Combined Work that links
+ ;; statically or dynamically to this Library without providing any Minimal
+ ;; Corresponding Source or Minimal Application Code as set out in 4d or
+ ;; providing the installation information set out in section 4e, provided
+ ;; that you comply with the other provisions of LGPL3 and provided that you
+ ;; meet, for the Application the terms and conditions of the license(s)
+ ;; which apply to the Application. Except as stated in this special
+ ;; exception, the provisions of LGPL3 will continue to comply in full to
+ ;; this Library. If you modify this Library, you may apply this exception
+ ;; to your version of this Library, but you are not obliged to do so. If
+ ;; you do not wish to do so, delete this exception statement from your
+ ;; version. This exception does not (and cannot) modify any license terms
+ ;; which apply to the Application, with which you must still comply
+ license:lgpl3)))