diff options
Diffstat (limited to 'gnu/packages/networking.scm')
-rw-r--r-- | gnu/packages/networking.scm | 143 |
1 files changed, 133 insertions, 10 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index fefb9a5bf8..5468398e40 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -97,6 +97,7 @@ #: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) @@ -135,12 +136,39 @@ #: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 axel + (package + (name "axel") + (version "2.17.9") + (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 "0m1smb9rmw9w2fcfcf0162qyffx6a1x0j612sg3fydflandlsdpi")))) + (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 @@ -321,7 +349,7 @@ supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.") (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 @@ -358,7 +386,7 @@ performance across unpredictable networks, such as the Internet.") (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 @@ -374,7 +402,7 @@ performance across unpredictable networks, such as the Internet.") (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)) (sha256 @@ -430,7 +458,7 @@ at the link-layer level.") (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 @@ -473,7 +501,7 @@ publish/subscribe, RPC-style request/reply, or service discovery.") (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 @@ -871,6 +899,7 @@ transparently check connection attempts against an access control list.") (base32 "18km71p77jm1w7wly2a5mxvphjb0f2l6s08cg382x55f6zdqb4lx")))) (build-system gnu-build-system) + (arguments '(#:configure-flags '("--disable-static"))) (home-page "https://zeromq.org") (synopsis "Library for message-based applications") (description @@ -1822,7 +1851,7 @@ private (reserved).") (define-public perl-net-dns (package (name "perl-net-dns") - (version "1.27") + (version "1.28") (source (origin (method url-fetch) @@ -1833,7 +1862,7 @@ private (reserved).") (string-append "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-" version ".tar.gz"))) (sha256 - (base32 "0hdx5ajr34f39rycai090y9w8gq9v0shgziynaaj0rzk21vjfdpk")))) + (base32 "0kh2qbhxv005pqb35mdk2bld7cg7xnxl12qvdwv30sgd91aqica7")))) (build-system perl-build-system) (inputs `(("perl-digest-hmac" ,perl-digest-hmac))) @@ -2141,14 +2170,14 @@ HTTP proxies.") (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))) @@ -3821,3 +3850,97 @@ stamps.") 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.15") + (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 + "0gk7gy8yq5nrnblv4imxzzm2hac4ri0hlw19ajfbc1zll5kj32gf")) + (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))) |