summaryrefslogtreecommitdiff
path: root/gnu/packages/networking.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/networking.scm')
-rw-r--r--gnu/packages/networking.scm220
1 files changed, 173 insertions, 47 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 64e32f78f2..3a743730a6 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -62,6 +62,8 @@
;;; Copyright © 2023 Zheng Junjie <[email protected]>
;;; Copyright © 2023 Artyom V. Poptsov <[email protected]>
;;; Copyright © 2024 Tomas Volf <[email protected]>
+;;; Copyright © 2022 Dominic Martinez <[email protected]>
+;;; Copyright © 2024 Alexey Abramov <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -125,7 +127,11 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
+ #:use-module (gnu packages golang-check)
+ #:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web)
+ #:use-module (gnu packages golang-xyz)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
@@ -173,6 +179,7 @@
#:use-module (gnu packages valgrind)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
+ #:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
@@ -274,13 +281,12 @@ protocols.")
"1m29p4bsafzbchnkidyrnglfdf1c9pnq6akkmivi23qdv9kj51dg"))))
(build-system gnu-build-system)
(arguments
- `(#:parallel-tests? #f
- #:make-flags (let ((target ,(%current-target-system)))
- (list ,(string-append "CC="
- (cc-for-target))
- (string-append "PREFIX="
- (assoc-ref %outputs "out"))))
- #:test-target "test"))
+ (list
+ #:parallel-tests? #f
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:test-target "test"))
(home-page "https://librecast.net/lcrq.html")
(synopsis "Librecast RaptorQ library")
(description
@@ -345,13 +351,11 @@ Unix Domain Sockets, SCTP for both IPv4 and IPv6.")
(base32 "1rhk80ybd2zranay76z1ysifnnm786lg9kiiijcwv76qy95in9ks"))))
(build-system gnu-build-system)
(arguments
- `(#:parallel-tests? #f
- #:configure-flags (list (string-append "--prefix="
- (assoc-ref %outputs "out")))
- #:make-flags (let ((target ,(%current-target-system)))
- (list ,(string-append "CC="
- (cc-for-target))))
- #:test-target "test"))
+ (list
+ #:parallel-tests? #f
+ #:configure-flags #~(list (string-append "--prefix=" #$output))
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
+ #:test-target "test"))
(inputs (list lcrq librecast libsodium libbsd))
(home-page "https://librecast.net/lcsync.html")
(synopsis "Librecast file and data syncing tool")
@@ -525,13 +529,12 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(base32 "01m0q4n2hy3csbzil8ivjyzb1mh4w9jlh9iiv6z53kasl7aas27i"))))
(build-system gnu-build-system)
(arguments
- `(#:parallel-tests? #f
- #:make-flags (let ((target ,(%current-target-system)))
- (list ,(string-append "CC="
- (cc-for-target))
- (string-append "PREFIX="
- (assoc-ref %outputs "out"))))
- #:test-target "test"))
+ (list
+ #:parallel-tests? #f
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" #$output))
+ #:test-target "test"))
(inputs (list libsodium lcrq libbsd))
(synopsis "IPv6 multicast library")
(description "Librecast is a C library which supports IPv6 multicast
@@ -832,7 +835,7 @@ at the link-layer level.")
(substitute* "src/supplemental/websocket/CMakeLists.txt"
(("nng_test\\(wssfile_test\\)") "")))))))
(native-inputs (list oksh))
- (inputs (list mbedtls-apache))
+ (inputs (list mbedtls-lts))
(synopsis "Lightweight messaging library")
(description "NNG project is a rewrite of the scalability protocols library
known as libnanomsg, and adds significant new capabilities, while retaining
@@ -1768,23 +1771,23 @@ of the same name.")
(define-public wireshark
(package
(name "wireshark")
- (version "4.0.7")
+ (version "4.2.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz"))
(sha256
- (base32 "0xw7iagh37y02qgzgmb2xf1qagbphv5lpgra8lq3x0pzrc27p7x7"))))
- (build-system cmake-build-system)
+ (base32 "04aqg5w8yfikqc1446c2zr2h4yyd5napwkhskdvr2galdycxb2wm"))))
+ (build-system qt-build-system)
(arguments
(list
;; This causes the plugins to register runpaths for the wireshark
;; libraries, which would otherwise cause the validate-runpath phase to
;; fail.
- #:configure-flags #~(list (string-append "-DCMAKE_MODULE_LINKER_FLAGS="
- "-Wl,-rpath=" #$output "/lib")
- "-DUSE_qt6=ON")
+ #:qtbase qtbase
+ #:configure-flags
+ #~(list (string-append "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath=" #$output "/lib"))
#:phases
#~(modify-phases %standard-phases
(replace 'check
@@ -1793,11 +1796,7 @@ of the same name.")
(invoke "ctest" "-VV"
"-j" (if parallel-tests?
(number->string (parallel-job-count))
- "1")
- ;; Skip the suite_extcaps.case_extcaps.test_sdjournal
- ;; test as it requires sdjournal (from systemd) and
- ;; fails.
- "-E" "suite_extcaps")))))))
+ "1"))))))))
(inputs
(list c-ares
glib
@@ -1810,7 +1809,7 @@ of the same name.")
libssh
libxml2
lz4
- lua
+ lua-5.2
mit-krb5
`(,nghttp2 "lib")
minizip
@@ -1821,6 +1820,7 @@ of the same name.")
qtsvg
sbc
snappy
+ speexdsp
zlib
`(,zstd "lib")))
(native-inputs
@@ -1836,7 +1836,7 @@ of the same name.")
(description "Wireshark is a network protocol analyzer, or @dfn{packet
sniffer}, that lets you capture and interactively browse the contents of
network frames.")
- (home-page "https://www.wireshark.org/")
+ (home-page "https://www.wireshark.org")
(license license:gpl2+)))
(define-public fping
@@ -2624,6 +2624,45 @@ library remains flexible, portable, and easily embeddable.")
(home-page "http://enet.bespin.org")
(license license:expat)))
+(define-public enet-moonlight
+ (let ((commit "4cde9cc3dcc5c30775a80da1de87f39f98672a31")
+ (revision "1"))
+ (package
+ (inherit enet)
+ (name "enet")
+ (version (git-version "1.3.17" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cgutman/enet")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07sr32jy989ja23fwg8bvrq2slgm7bhfw6v3xq7yczbw86c1dndv"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f ;no test suite
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'build-share-lib
+ (lambda* _
+ ;; -DBUILD_SHARED_LIBS=ON not working
+ (substitute* "CMakeLists.txt"
+ (("STATIC")
+ "SHARED"))))
+ (replace 'install
+ (lambda* (#:key outputs source #:allow-other-keys)
+ (let* ((include (string-append #$output
+ "/include"))
+ (lib (string-append #$output "/lib")))
+ (mkdir-p include)
+ (mkdir-p lib)
+ (copy-recursively (string-append source
+ "/include")
+ include)
+ (install-file "libenet.so" lib)))))))
+ (native-inputs (list pkg-config)))))
+
(define-public sslh
(package
(name "sslh")
@@ -3947,8 +3986,8 @@ A very simple IM client working over the DHT.
(define-public dhtnet
;; There is no tag nor release; use the latest available commit.
- (let ((revision "0")
- (commit "8b6e99fd34f150fde5f21f3a57e0e9f28174c70c"))
+ (let ((revision "1")
+ (commit "41848a2c770d7eb0940d731014b81643f85e0d07"))
(package
(name "dhtnet")
;; The base version is taken from the CMakeLists.txt file.
@@ -3961,7 +4000,7 @@ A very simple IM client working over the DHT.
(file-name (git-file-name name version))
(sha256
(base32
- "1yhygsimcl9j6hbww1b77am1kgbcriczslcrfb838nbfh18n1780"))))
+ "18v2pjrxfrd26p2z27s90marx7b593nz1xwi47lnp2ja7lm1pj4m"))))
(outputs (list "out" "debug"))
(build-system cmake-build-system)
(arguments
@@ -3992,7 +4031,8 @@ A very simple IM client working over the DHT.
opendht
libupnp
pjproject-jami
- readline))
+ readline
+ yaml-cpp))
(home-page "https://github.com/savoirfairelinux/dhtnet/")
(synopsis "OpenDHT network library for C++")
(description "The @code{dhtnet} is a C++ library providing abstractions
@@ -4511,7 +4551,7 @@ network.")
(define-public ngtcp2
(package
(name "ngtcp2")
- (version "1.1.0")
+ (version "1.3.0")
(source
(origin
(method url-fetch)
@@ -4519,14 +4559,14 @@ network.")
"releases/download/v" version "/"
"ngtcp2-" version ".tar.xz"))
(sha256
- (base32 "1pppl6s25hz91w6321g1q7dqvfy4vccz9mmc5r8sfdvdc95fngl0"))))
+ (base32 "16qkik9185ygkr351a7q59l1rv6dzw51j4f7vkzfvzh385kqdqy3"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
;; openssl package does not support QUIC interface, so just gnutls
#~(list "--with-gnutls")))
- (native-inputs (list cunit pkg-config))
+ (native-inputs (list pkg-config))
(inputs (list gnutls))
(home-page "https://nghttp2.org/ngtcp2/")
(synopsis "QUIC protocol implementation")
@@ -4538,7 +4578,7 @@ QUIC protocol.")
(define-public yggdrasil
(package
(name "yggdrasil")
- (version "0.5.4")
+ (version "0.5.5")
(source
(origin
(method git-fetch)
@@ -4549,7 +4589,7 @@ QUIC protocol.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "1vfzzj9vxsc41dkaasz4fg3mz8iab86xyy925mp51zqmvx79ggx2"))
+ (base32 "0yzgs4b0q945ygrqlc5hnmh78awl5p35azx83fz61bzfg20d52b4"))
(patches (search-patches "yggdrasil-extra-config.patch"))))
(build-system go-build-system)
(arguments
@@ -4630,6 +4670,91 @@ IPv6 Internet connectivity - it also works over IPv4.")
;; which apply to the Application, with which you must still comply
license:lgpl3)))
+(define-public nebula
+ (package
+ (name "nebula")
+ (version "1.8.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/slackhq/nebula")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0ly1axgmskrkmxhzymqis6gxf2wd7rvhycm94wfb8k0hirndvg5m"))
+ ;; Remove windows-related binary blobs and files
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ (delete-file-recursively "dist/windows")
+ (delete-file-recursively "wintun")))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:go go-1.20
+ #:import-path "github.com/slackhq/nebula"
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key import-path #:allow-other-keys)
+ ;; Suggested option to provide build time flags is not supported
+ ;; in Guix for go-build-system.
+ ;; -ldflags "-X main.Build=SOMEVERSION"
+ (substitute* (string-append "src/" import-path "/cmd/nebula/main.go")
+ (("Version: ")
+ (string-append "Version: " #$version)))
+ ;; Build nebula and nebula-cert
+ (let* ((dir "github.com/slackhq/nebula")
+ (nebula-cmd (string-append dir "/cmd/nebula"))
+ (cert-cmd (string-append dir "/cmd/nebula-cert")))
+ (invoke "go" "build" nebula-cmd)
+ (invoke "go" "build" cert-cmd))))
+ (replace 'install
+ (lambda _
+ (let* ((out #$output)
+ (bindir (string-append out "/bin")))
+ (install-file "nebula" bindir)
+ (install-file "nebula-cert" bindir)))))))
+ (inputs
+ (list go-dario-cat-mergo
+ go-github-com-anmitsu-go-shlex
+ go-github-com-armon-go-radix
+ go-github-com-cespare-xxhash
+ go-github-com-cyberdelia-go-metrics-graphite
+ go-github-com-flynn-noise
+ go-github-com-gogo-protobuf
+ go-github-com-google-gopacket
+ go-github-com-miekg-dns
+ go-github-com-nbrownus-go-metrics-prometheus
+ go-github-com-prometheus-client-golang
+ go-github-com-prometheus-client-model
+ go-github-com-prometheus-procfs
+ go-github-com-rcrowley-go-metrics
+ go-github-com-sirupsen-logrus
+ go-github-com-skip2-go-qrcode
+ go-github-com-songgao-water
+ go-github-com-stretchr-testify
+ go-golang-org-x-crypto
+ go-golang-org-x-net
+ go-golang-org-x-sys
+ go-golang-org-x-term
+ go-google-golang-org-protobuf
+ go-gopkg-in-yaml-v2
+ go-netlink
+ go-netns))
+ (home-page "https://github.com/slackhq/nebula")
+ (synopsis "Scalable, peer-to-peer overlay networking tool")
+ (description
+ "Nebula is a peer-to-peer networking tool based on the
+@url{https://noiseprotocol.org/, Noise Protocol Framework}. It is not a fully
+decentralized network, but instead uses central discovery nodes and a
+certificate authority to facilitate direct, encrypted peer-to-peer connections
+from behind most firewalls and @acronym{NAT, Network Address Translation}
+layers.")
+ (license license:expat)))
+
(define-public netdiscover
(package
(name "netdiscover")
@@ -4661,7 +4786,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send
(define-public phantomsocks
(package
(name "phantomsocks")
- (version "0.0.0-20231031033204-8b0ac27fc450")
+ (version "0.0.0-20240125140126-2576269ca69a")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4670,10 +4795,10 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send
(file-name (git-file-name name version))
(sha256
(base32
- "1q4i8pgj6hzry9wzlczx729dmmgqdqfb26rfaim2ngmp1dyy9drl"))))
+ "1kbcr6580a9pi0a3wssnfr3mnxqq2k9w1fg4khikn82lqaljab2f"))))
(build-system go-build-system)
(arguments
- (list #:go go-1.20
+ (list #:go go-1.21
#:install-source? #f
#:import-path "github.com/macronut/phantomsocks"
#:build-flags #~'("-tags" #$(if (target-linux?)
@@ -4739,6 +4864,7 @@ implementations.")
(home-page "https://www.chiark.greenend.org.uk/~sgtatham/putty/")
(license license:expat)))
+
(define-public vnstat
(package
(name "vnstat")