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.scm524
1 files changed, 323 insertions, 201 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 86309e4ab3..64e32f78f2 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -26,7 +26,7 @@
;;; Copyright © 2018, 2020-2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
-;;; Copyright © 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2019, 2020, 2021, 2022, 2023, 2024 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>
@@ -60,6 +60,8 @@
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -112,6 +114,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dejagnu)
+ #:use-module (gnu packages dns)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
@@ -122,11 +125,13 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-web)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
+ #:use-module (gnu packages libbsd)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
#:use-module (gnu packages libusb)
@@ -154,7 +159,6 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
- #:use-module (gnu packages ruby)
#:use-module (gnu packages samba)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
@@ -162,8 +166,10 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tcl)
+ #:use-module (gnu packages telephony)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages upnp)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
@@ -327,42 +333,26 @@ Unix Domain Sockets, SCTP for both IPv4 and IPv6.")
(define-public lcsync
(package
(name "lcsync")
- (version "0.2.1")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://codeberg.org/librecast/lcsync")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0bsd3dkir2i647nmrmyb7skbv16v0f6f3gfwkpxz8g42978dlms5"))))
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/librecast/lcsync")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rhk80ybd2zranay76z1ysifnnm786lg9kiiijcwv76qy95in9ks"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f
- #:configure-flags
- (list
- (string-append "--prefix="
- (assoc-ref %outputs "out")))
+ #: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"
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'use-prefix-from-configure-in-doc-makefile
- ;; Use prefix from configure. Fixed upstream:
- ;; https://codeberg.org/librecast/lcsync/commit/4ba00f6
- ;; XXX: Remove for 0.2.2+
- (lambda _
- (substitute* "doc/Makefile.in"
- (("PREFIX .= /usr/local") "PREFIX ?= @prefix@"))))
- (add-before 'build 'add-library-paths
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((librecast (assoc-ref inputs "librecast")))
- (substitute* (list "./src/Makefile" "./test/Makefile")
- (("-llibrecast")
- (string-append "-L" librecast "/lib -llibrecast")))))))))
- (inputs (list lcrq librecast libsodium))
+ #:test-target "test"))
+ (inputs (list lcrq librecast libsodium libbsd))
(home-page "https://librecast.net/lcsync.html")
(synopsis "Librecast file and data syncing tool")
(description
@@ -523,16 +513,16 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(define-public librecast
(package
(name "librecast")
- (version "0.7.0")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://codeberg.org/librecast/librecast")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0y0km0fv39m3i227pyg7fcr7d94gbji51fkcywqyrjgmk4j1hp1n"))))
+ (version "0.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://codeberg.org/librecast/librecast")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01m0q4n2hy3csbzil8ivjyzb1mh4w9jlh9iiv6z53kasl7aas27i"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f
@@ -542,7 +532,7 @@ GLib-based library, libnice, as well as GStreamer elements to use it.")
(string-append "PREFIX="
(assoc-ref %outputs "out"))))
#:test-target "test"))
- (inputs (list libsodium lcrq))
+ (inputs (list libsodium lcrq libbsd))
(synopsis "IPv6 multicast library")
(description "Librecast is a C library which supports IPv6 multicast
networking.")
@@ -867,25 +857,9 @@ publish/subscribe, RPC-style request/reply, or service discovery.")
(sha256
(base32 "01ddfzjlkf2dgijrmm3j3j8irccsnbgfvjcnwslsfaxnrmrq5s64"))))
(build-system cmake-build-system)
- (outputs '("out" "doc"))
(arguments
`(#:configure-flags
- (list
- "-DNN_ENABLE_COVERAGE=ON")
- #:phases
- (modify-phases %standard-phases
- (add-after 'install 'move-docs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (assoc-ref outputs "doc")))
- (mkdir-p (string-append doc "/share/doc"))
- (rename-file
- (string-append out "/share/doc/nanomsg")
- (string-append doc "/share/doc/nanomsg"))
- #t))))))
- (native-inputs
- `(("asciidoctor" ,ruby-asciidoctor)
- ("pkg-config" ,pkg-config)))
+ (list "-DNN_ENABLE_COVERAGE=ON")))
(synopsis "Scalable socket library")
(description "Nanomsg is a socket library that provides several common
communication patterns. It aims to make the networking layer fast, scalable,
@@ -1444,39 +1418,50 @@ files contain direct mappings of the abstractions provided by the ØMQ C API.")
(license license:expat)))
(define-public libnatpmp
- (package
- (name "libnatpmp")
- (version "20230423")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "http://miniupnp.free.fr/files/"
- name "-" version ".tar.gz"))
- (sha256
- (base32
- "0w7wvf4yi8qv659dg9d3ndqvh3bqhgm21gd135spwhq6hhnfv106"))))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (delete 'check)) ; no tests
- #:make-flags
- (let* ((target ,(%current-target-system))
- (gcc (if target
- (string-append target "-gcc")
- "gcc")))
- (list
- (string-append "CC=" gcc)
- (string-append "INSTALLPREFIX=" (assoc-ref %outputs "out"))
- (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))))
- (home-page "http://miniupnp.free.fr/libnatpmp.html")
- (synopsis "C library implementing NAT-PMP")
- (description
- "@code{libnatpmp} is a portable and asynchronous implementation of
+ ;; Install the latest commit as it provides a pkg-config (.pc) file.
+ (let ((base-version "20230423")
+ (commit "6a850fd2bd9b08e6edc886382a1dbae2a7df55ec")
+ (revision "0"))
+ (package
+ (name "libnatpmp")
+ (version (git-version base-version revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/miniupnp/libnatpmp")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "18hf9a3i3mncl3w80nzi1684iac3by86bv0hgmbm1v2w8gbfjyw0"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-build-system
+ ;; Have CMake install the natpmp_declspec.h missing header file
+ ;; that is referenced by natpmp.h (see:
+ ;; https://github.com/miniupnp/libnatpmp/issues/41).
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("install\\(FILES natpmp.h")
+ "install(FILES natpmp.h natpmp_declspec.h"))))
+ (add-after 'unpack 'fix-version
+ (lambda _
+ (with-output-to-file "VERSION"
+ (lambda ()
+ (display #$base-version))))))))
+ (native-inputs (list which))
+ (home-page "https://miniupnp.tuxfamily.org/libnatpmp.html")
+ (synopsis "C library implementing NAT-PMP")
+ (description
+ "@code{libnatpmp} is a portable and asynchronous implementation of
the Network Address Translation - Port Mapping Protocol (NAT-PMP)
written in the C programming language.")
- (license license:bsd-3)))
+ (license license:bsd-3))))
(define-public librdkafka
(package
@@ -2708,7 +2693,7 @@ that block port 22.")
(define-public iperf
(package
(name "iperf")
- (version "3.15")
+ (version "3.16")
(source
(origin
(method git-fetch)
@@ -2717,7 +2702,7 @@ that block port 22.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "10fzz3j2kx36yhqd0mvwlawvhdbcm0qc41i3f6jf6a5whm70177q"))))
+ (base32 "0m8zhr050qgmkkaf0jgn2isrr7yyk8majx9c18pf1xsqpr00sxs6"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -3412,14 +3397,14 @@ eight bytes) tools
(define-public asio
(package
(name "asio")
- (version "1.22.2")
+ (version "1.28.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asio/asio/"
version " (Stable)/asio-" version ".tar.bz2"))
(sha256
- (base32 "0v5w9j4a02j2rkc7mrdj3ms0kfpqbgq2ipkixlz2l0p8xs0vfsvp"))))
+ (base32 "0cp2c4v0kz0ln4bays0s3fr1mcxl527ay2lp7s14qbxx38vc5pfh"))))
(build-system gnu-build-system)
(inputs
(list boost openssl))
@@ -3671,13 +3656,10 @@ and check if the WLAN key or the master key was transmitted unencrypted.")
(uri (string-append "https://www.inet.no/dante/files/dante-"
version ".tar.gz"))
(sha256
- (base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))))
+ (base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))
+ (patches (search-patches "dante-non-darwin.patch"))))
(build-system gnu-build-system)
- (arguments
- ;; XXX: The dynamic socks library doesn't work with 'libc.so' (GNU ld
- ;; script). When preloading is enabled, 'sockd' failed with:
- ;; … Failed to open library "libc.so": …: invalid ELF header
- '(#:configure-flags '("--disable-preload")))
+ (arguments '(#:configure-flags '("--with-libc=libc.so.6")))
(home-page "https://www.inet.no/dante/")
(synopsis "SOCKS server and client")
(description "Dante is a SOCKS client and server implementation. It can
@@ -3734,61 +3716,103 @@ communication over HTTP.")
(license license:agpl3+)))
(define-public restinio
- ;; Temporarily use an unreleased commit, which includes fixes to be able to
- ;; run the test suite in the resolver-less Guix build environment.
- (let ((revision "0")
- (commit "eda471ec3a2815965ca02ec93a1124a342b7601d"))
- (package
- (name "restinio")
- (version (git-version "0.6.18" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/Stiffstream/restinio")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0f4w7714r0ic7csgxydw2vzfh35ssk34pns9jycmc08dzc3r7whb"))))
- (build-system cmake-build-system)
- (arguments
- (list
- #:configure-flags #~(list "-DRESTINIO_FIND_DEPS=ON"
- "-DRESTINIO_INSTALL=ON"
- "-DRESTINIO_TEST=ON"
- "-DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON"
- "-DRESTINIO_USE_EXTERNAL_SOBJECTIZER=ON")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'change-directory
- (lambda _
- (chdir "dev"))))))
- (native-inputs
- (list catch2
- clara
- json-dto))
- (inputs
- (list openssl
- sobjectizer))
- (propagated-inputs
- ;; These are all #include'd by restinio's .hpp header files.
- (list asio
- fmt
- http-parser
- pcre
- pcre2
- zlib))
- (home-page "https://stiffstream.com/en/products/restinio.html")
- (synopsis "C++14 library that gives you an embedded HTTP/Websocket server")
- (description "RESTinio is a header-only C++14 library that gives you an embedded
+ (package
+ (name "restinio")
+ (version "0.7.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Stiffstream/restinio")
+ (commit (string-append "v." version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "06p9gcnzgynsgfxxa1lk58pq5755px7sn00x2xh21qjnspwld1sy"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "-DRESTINIO_INSTALL=ON"
+ "-DRESTINIO_TEST=ON"
+ "-DRESTINIO_DEP_LLHTTP=system"
+ "-DRESTINIO_DEP_FMT=system"
+ "-DRESTINIO_DEP_EXPECTED_LITE=system"
+ "-DRESTINIO_DEP_CATCH2=system"
+ ;; No support to use a system provided so_5
+ ;; (see:
+ ;; https://github.com/Stiffstream/restinio/issues/207).
+ "-DRESTINIO_WITH_SOBJECTIZER=OFF")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'change-directory
+ (lambda _
+ (chdir "dev")))
+ (add-after 'change-directory 'use-system-catch2
+ ;; It's not currently possible to select a system-provided catch2,
+ ;; so patch the build system (see:
+ ;; https://github.com/Stiffstream/restinio/issues/208).
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(catch2\\)")
+ "find_package(Catch2 REQUIRED)")))))))
+ (native-inputs
+ (list catch2-3
+ expected-lite
+ json-dto))
+ (inputs
+ (list openssl
+ sobjectizer))
+ (propagated-inputs
+ ;; These are all #include'd by restinio's .hpp header files.
+ (list asio
+ fmt
+ llhttp
+ pcre
+ pcre2
+ zlib))
+ (home-page "https://stiffstream.com/en/products/restinio.html")
+ (synopsis "C++14 library that gives you an embedded HTTP/Websocket server")
+ (description "RESTinio is a header-only C++14 library that gives you an embedded
HTTP/Websocket server. It is based on standalone version of ASIO
and targeted primarily for asynchronous processing of HTTP-requests.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
+
+(define-public restinio-0.6
+ (package
+ (inherit restinio)
+ (name "restinio")
+ (version "0.6.19")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Stiffstream/restinio")
+ (commit (string-append "v." version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qrb1qr075r5059w984c4slgpsiwv94j6fmi9naa5l48dbi1p7jz"))))
+ (arguments
+ (list
+ #:configure-flags #~(list "-DRESTINIO_FIND_DEPS=ON"
+ "-DRESTINIO_INSTALL=ON"
+ "-DRESTINIO_TEST=ON"
+ "-DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON"
+ "-DRESTINIO_USE_EXTERNAL_SOBJECTIZER=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'change-directory
+ (lambda _
+ (chdir "dev"))))))
+ (native-inputs (list catch2 clara json-dto))
+ ;; These are all #include'd by restinio's .hpp header files.
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs restinio)
+ (replace "llhttp" http-parser)))))
(define-public opendht
(package
(name "opendht")
- (version "2.4.12")
+ (version "3.1.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3797,7 +3821,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(file-name (git-file-name name version))
(sha256
(base32
- "0yji5pziqxfvyfizk3fn9j59bqlfdwfa1a0y9jjfknb2mmlwwb9w"))))
+ "15jx62fm1frbbvpkxysvvwz1a8d605xi53aacf0bvp4mb1dzpddn"))))
(outputs '("out" "python" "tools" "debug"))
(build-system gnu-build-system)
(arguments
@@ -3825,6 +3849,14 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(substitute* "tests/Makefile.am"
(("\\bdhtrunnertester\\.(h|cpp)\\b")
""))))
+ (add-after 'unupack 'relax-test-timeouts
+ (lambda _
+ ;; At least the 'test_send_json' has been seen to fail
+ ;; non-deterministically, but it seems hard to reproducible that
+ ;; failure.
+ (substitute* "tests/httptester.cpp"
+ (("std::chrono::seconds\\(10)")
+ "std::chrono::seconds(30)"))))
(add-after 'unpack 'fix-python-installation-prefix
;; Specify the installation prefix for the compiled Python module
;; that would otherwise attempt to installs itself to Python's own
@@ -3868,8 +3900,8 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
fmt
readline))
(propagated-inputs
- (list msgpack ;included in several installed headers
- restinio ;included in opendht/http.h
+ (list msgpack-cxx ;included in several installed headers
+ restinio-0.6 ;included in opendht/http.h
;; The following are listed in the 'Requires.private' field of
;; opendht.pc:
argon2
@@ -3913,6 +3945,60 @@ A very simple IM client working over the DHT.
@end table")
(license license:gpl3+)))
+(define-public dhtnet
+ ;; There is no tag nor release; use the latest available commit.
+ (let ((revision "0")
+ (commit "8b6e99fd34f150fde5f21f3a57e0e9f28174c70c"))
+ (package
+ (name "dhtnet")
+ ;; The base version is taken from the CMakeLists.txt file.
+ (version (git-version "0.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/savoirfairelinux/dhtnet")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1yhygsimcl9j6hbww1b77am1kgbcriczslcrfb838nbfh18n1780"))))
+ (outputs (list "out" "debug"))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:configure-flags #~(list "-DBUILD_DEPENDENCIES=OFF"
+ "-DBUILD_SHARED_LIBS=ON"
+ "-DBUILD_TESTING=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'delete-problematic-tests
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ ;; The connectionManager test currently segfaults (see:
+ ;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/18).
+ ((".*tests_connectionManager.*") "")
+ ;; The fileutils test fail, asserting an unexpected returned
+ ;; value for the removeAll call when the directory to be
+ ;; removed is missing (see:
+ ;; https://git.jami.net/savoirfairelinux/dhtnet/-/issues/17).
+ ((".*tests_fileutils.*") "")))))))
+ (native-inputs (list cppunit pkg-config))
+ ;; This library depends on the Jami fork of pjproject that adds ICE
+ ;; support.
+ (inputs
+ (list asio
+ fmt
+ msgpack-cxx
+ opendht
+ libupnp
+ pjproject-jami
+ readline))
+ (home-page "https://github.com/savoirfairelinux/dhtnet/")
+ (synopsis "OpenDHT network library for C++")
+ (description "The @code{dhtnet} is a C++ library providing abstractions
+for interacting with an OpenDHT distributed network.")
+ (license license:gpl3+))))
+
(define-public frrouting
(package
(name "frrouting")
@@ -3970,7 +4056,7 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
(define-public iwd
(package
(name "iwd")
- (version "2.8")
+ (version "2.12")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3979,10 +4065,10 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
(file-name (git-file-name name version))
(sha256
(base32
- "0bpksqyaqr624bj7zm9hi22rnp6wnjbngx4q08l7lbd0r7r93vcb"))))
+ "199pcs20054xhp5c0dnxf9ny5cf5cynkqpx68dpn46nq8ly76n2y"))))
(build-system gnu-build-system)
(inputs
- (list dbus ell (package-source ell) readline))
+ (list dbus ell (package-source ell) openresolv readline))
(native-inputs
(list autoconf
automake
@@ -3992,38 +4078,45 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
python-docutils
openssl))
(arguments
- `(#:configure-flags
- ,#~(list "--disable-systemd-service"
- "--enable-external-ell"
- "--enable-hwsim"
- "--enable-tools"
- "--enable-wired"
- "--localstatedir=/var"
- (string-append "--with-dbus-datadir=" #$output "/share/")
- (string-append "--with-dbus-busdir="
- #$output "/share/dbus-1/system-services"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'copy-ell-header-files
- ;; Copy into the source tree two of ell's private header files that
- ;; it shares with iwd, as is required to build with the
- ;; "--enable-external-ell" configure option.
- ;; See the definition of "ell_shared" in iwd's Makefile.am.
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((ell-header-dir (search-input-directory inputs "/ell"))
- (target-dir "ell"))
- (mkdir target-dir)
- (for-each
- (lambda (file-name)
- (copy-file (string-append ell-header-dir "/" file-name)
- (string-append target-dir "/" file-name)))
- '("asn1-private.h" "useful.h")))))
- (add-after 'configure 'patch-Makefile
- (lambda _
- (substitute* "Makefile"
- ;; Don't try to 'mkdir /var'.
- (("\\$\\(MKDIR_P\\) -m 700") "true")))))))
- (home-page "https://git.kernel.org/pub/scm/network/wireless/iwd.git/")
+ (list #:configure-flags
+ #~(list "--disable-systemd-service"
+ "--enable-external-ell"
+ "--enable-hwsim"
+ "--enable-tools"
+ "--enable-wired"
+ "--localstatedir=/var"
+ (string-append "--with-dbus-datadir=" #$output "/share/")
+ (string-append "--with-dbus-busdir="
+ #$output "/share/dbus-1/system-services"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-ell-header-files
+ ;; Copy into the source tree two of ell's private header files
+ ;; that it shares with iwd, as is required to build with the
+ ;; "--enable-external-ell" configure option. See the
+ ;; definition of "ell_shared" in iwd's Makefile.am.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((ell-header-dir (search-input-directory inputs "/ell"))
+ (target-dir "ell"))
+ (mkdir target-dir)
+ (for-each
+ (lambda (file-name)
+ (copy-file (string-append ell-header-dir "/" file-name)
+ (string-append target-dir "/" file-name)))
+ '("asn1-private.h" "useful.h")))))
+ (add-after 'unpack 'patch-resolvconf-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/resolve.c"
+ (("getenv\\(\"PATH\"\\)")
+ (format #f "\"~a\""
+ (dirname (search-input-file
+ inputs "sbin/resolvconf")))))))
+ (add-after 'configure 'patch-Makefile
+ (lambda _
+ (substitute* "Makefile"
+ ;; Don't try to 'mkdir /var'.
+ (("\\$\\(MKDIR_P\\) -m 700") "true")))))))
+ (home-page "https://iwd.wiki.kernel.org/")
(synopsis "iNet Wireless Daemon")
(description "iwd is a wireless daemon for Linux that aims to replace WPA
Supplicant. It optimizes resource utilization by not depending on any external
@@ -4226,7 +4319,7 @@ network. This must be enabled on the target host, usually in the BIOS.")
(define-public traceroute
(package
(name "traceroute")
- (version "2.1.2")
+ (version "2.1.5")
(source
(origin
(method url-fetch)
@@ -4234,7 +4327,7 @@ network. This must be enabled on the target host, usually in the BIOS.")
"traceroute-" version "/traceroute-"
version ".tar.gz"))
(sha256
- (base32 "07svkglyizxirgcmv6d4ih59f3ds8pnyprvkrqcf5d3p567jcz2h"))))
+ (base32 "17l5barragw0mfgsbjfndny3w4l7zs20l6s6rvim3azajq6jcv4w"))))
(build-system gnu-build-system)
(arguments
(list
@@ -4415,10 +4508,37 @@ client and server. It allows you to use remote block devices over a TCP/IP
network.")
(license license:gpl2)))
+(define-public ngtcp2
+ (package
+ (name "ngtcp2")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ngtcp2/ngtcp2/"
+ "releases/download/v" version "/"
+ "ngtcp2-" version ".tar.xz"))
+ (sha256
+ (base32 "1pppl6s25hz91w6321g1q7dqvfy4vccz9mmc5r8sfdvdc95fngl0"))))
+ (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))
+ (inputs (list gnutls))
+ (home-page "https://nghttp2.org/ngtcp2/")
+ (synopsis "QUIC protocol implementation")
+ (description
+ "The ngtcp2 project is an effort to implement the RFC9000 (IETF)
+QUIC protocol.")
+ (license license:expat)))
+
(define-public yggdrasil
(package
(name "yggdrasil")
- (version "0.4.7")
+ (version "0.5.4")
(source
(origin
(method git-fetch)
@@ -4429,8 +4549,8 @@ network.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "01mllfrsr55lnfivxwa57cfrjas6w4shsvx9k81pw8jixc124myk"))
- (patches (search-patches "yggdrasil-extra-config.patch"))))
+ (base32 "1vfzzj9vxsc41dkaasz4fg3mz8iab86xyy925mp51zqmvx79ggx2"))
+ (patches (search-patches "yggdrasil-extra-config.patch"))))
(build-system go-build-system)
(arguments
(list #:import-path "github.com/yggdrasil-network/yggdrasil-go"
@@ -4456,18 +4576,19 @@ network.")
(list "github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasil"
"github.com/yggdrasil-network/yggdrasil-go/cmd/yggdrasilctl"
"github.com/yggdrasil-network/yggdrasil-go/cmd/genkeys"))))))))
- ;; https://github.com/kardianos/minwinsvc is windows only
(propagated-inputs
- (list ;;("go-golang-zx2c4-com-wireguard-windows"
- ;; ,go-golang-zx2c4-com-wireguard-windows)
- go-golang-zx2c4-com-wireguard
+ (list go-golang-zx2c4-com-wireguard
go-golang-org-x-text
- go-golang-org-x-sys
go-golang-org-x-net
go-golang-org-x-crypto
go-golang-org-x-tools
+ go-golang-org-x-sys
go-netns
go-netlink
+ go-github-com-bits-and-blooms-bitset
+ go-github-com-bits-and-blooms-bloom
+ go-github-com-quic-go-quic-go
+ go-github-com-hjson-hjson-go
go-github-com-olekukonko-tablewriter
go-github-com-mitchellh-mapstructure
go-github-com-mattn-go-runewidth
@@ -4540,7 +4661,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-20230829023258-013a0002abe2")
+ (version "0.0.0-20231031033204-8b0ac27fc450")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4549,10 +4670,11 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send
(file-name (git-file-name name version))
(sha256
(base32
- "0pqq4mh6dr7fb7i001wggwkxpvavxq0ps9h2cmm4gv8ygh4v6f10"))))
+ "1q4i8pgj6hzry9wzlczx729dmmgqdqfb26rfaim2ngmp1dyy9drl"))))
(build-system go-build-system)
(arguments
- (list #:install-source? #f
+ (list #:go go-1.20
+ #:install-source? #f
#:import-path "github.com/macronut/phantomsocks"
#:build-flags #~'("-tags" #$(if (target-linux?)
"rawsocket"