X-Git-Url: http://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/03833d041a5b42c2871e27a3ad9669d3f0fd5d94..f928abac369f699f425ddee925d0d0c2dc0a635d:/gnu/packages/networking.scm diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 5029eeb13e..e5ab7a4571 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2015, 2016, 2017, 2021 Stefan Reichör ;;; Copyright © 2016 Raimon Grau -;;; Copyright © 2016–2021 Tobias Geerinckx-Rice +;;; Copyright © 2016–2022 Tobias Geerinckx-Rice ;;; Copyright © 2016 John Darrington ;;; Copyright © 2016-2022 Nicolas Goaziou ;;; Copyright © 2016 Eric Bavier @@ -14,7 +14,7 @@ ;;; Copyright © 2016, 2017 Pjotr Prins ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017, 2020, 2021 Leo Famulari -;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner +;;; Copyright © 2017-2022 Efraim Flashner ;;; Copyright © 2017, 2018, 2019 Rutger Helling ;;; Copyright © 2017, 2019 Gábor Boskovits ;;; Copyright © 2017 Thomas Danckaert @@ -24,7 +24,7 @@ ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2018 Theodoros Foradis ;;; Copyright © 2018, 2020-2022 Marius Bakke -;;; Copyright © 2018, 2020, 2021 Oleg Pykhalov +;;; Copyright © 2018, 2020, 2021, 2022 Oleg Pykhalov ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer ;;; Copyright © 2019 Vasile Dumitrascu @@ -39,7 +39,8 @@ ;;; Copyright © 2020 Jakub Kądziołka ;;; Copyright © 2020 Jesse Dowell ;;; Copyright © 2020 Hamzeh Nasajpour -;;; Copyright © 2020 Michael Rohleder +;;; Copyright © 2020, 2022 Michael Rohleder +;;; Copyright © 2021 Fakhri Sajadi ;;; Copyright © 2021 Hartmut Goebel ;;; Copyright © 2021 Justin Veilleux ;;; Copyright © 2021 Vinicius Monego @@ -48,6 +49,11 @@ ;;; Copyright © 2021 Guillaume Le Vaillant ;;; Copyright © 2021 Maxime Devos ;;; Copyright © 2022 Simon South +;;; Copyright © 2022 Pavel Shlyak +;;; Copyright © 2022 Pierre Langlois +;;; Copyright © 2022 Petr Hodina +;;; Copyright © 2022 Manolis Fragkiskos Ragkousis +;;; Copyright © 2022 Reza Alizadeh Majd ;;; ;;; This file is part of GNU Guix. ;;; @@ -77,6 +83,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (guix build-system trivial) #:use-module (guix utils) #:use-module (gnu packages) @@ -86,6 +93,7 @@ #:use-module (gnu packages audio) #:use-module (gnu packages autogen) #:use-module (gnu packages autotools) + #:use-module (gnu packages assembly) #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) @@ -111,11 +119,14 @@ #: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 libevent) #:use-module (gnu packages libidn) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages kerberos) + #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages openldap) @@ -127,8 +138,10 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages pretty-print) + #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -179,6 +192,33 @@ 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 arp-scan + (package + (name "arp-scan") + (version "1.9.7") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/royhills/arp-scan/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1mf7a4f9vzvnkiavc87aqyciswggsb4fpy7j05jxnvjyyxv3l7gp")))) + (build-system gnu-build-system) + (inputs + (list libpcap)) + (native-inputs + (list autoconf automake libtool pkg-config)) + (propagated-inputs + (list perl-libwww)) + (home-page "https://github.com/royhills/arp-scan") + (synopsis "Discover and fingerprint IP hosts on the local network using ARP") + (description "Arp-scan is a tool that uses ARP to discover and fingerprint +IP hosts on the local network.") + (license license:gpl3+))) + (define-public axel (package (name "axel") @@ -206,38 +246,134 @@ on byte-critical systems. It supports HTTP, HTTPS, FTP and FTPS protocols.") (license license:gpl2+))) +(define-public lcrq + (package + (name "lcrq") + (version "0.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/librecast/lcrq") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jf7x3zcdbz5b99qz7liw4i90hn9s457zr82n0r8g9qsi81a1d8c")))) + (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")) + (home-page "https://librecast.net/lcrq.html") + (synopsis "librecast RaptorQ library") + (description + "C library implementation of RaptorQ Forward Error Correction for +Librecast. RFC6330 (IETF) describes the RaptorQ proposed standard, which LCRQ +more-or-less follows. The primary focus has been on building a fast, simple +and dependency-free FEC implementation for use with Librecast, and not on +strict standards compliance. The code does, however, fairly closely follow +the RFC.") + (license (list license:gpl2 license:gpl3)))) + +(define-public lcsync + (package + (name "lcsync") + (version "0.0.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 + "0s038b4xg9nlzhrganzjyfvc6n6cgd6kilnpik4axp62j2n5q11q")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-tests? #f + #:make-flags (let ((target ,(%current-target-system))) + (list ,(string-append "CC=" + (cc-for-target)) + ;; avoid running setcap in the install process + "SETCAP_PROGRAM=true" + (string-append "prefix=" + (assoc-ref %outputs "out")))) + #:test-target "test" + #:phases (modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-before 'check 'remove-network-tests + (lambda _ + ;; these tests require networking + (delete-file "./test/0000-0027.c") + (delete-file "./test/0000-0049.c") + (delete-file "./test/0000-0074.c"))) + (add-after 'unpack 'remove-immintrin.h + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Makefile" + (("CFLAGS :=") + (string-append "CFLAGS := -I" (search-input-directory + inputs "include/simde")))) + (substitute* (find-files "src") + ((".*immintrin\\.h.*") + (string-append "#include \n" + "#include \n")) + (("__m128i") "simde__m128i")))) + (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 librecast libsodium)) + (native-inputs (list simde)) + (home-page "https://librecast.net/lcsync.html") + (synopsis "librecast file and data syncing tool") + (description + "lcsync is a tool to sync files over IPv6 multicast or the +local filesystem. It splits the file into blocks, hashes them, and compares +them in order to efficiently transfer a minimal amount of data.") + (license (list license:gpl2 license:gpl3)))) + ;; This package does not have a release yet. ;; But this is required to provide a feature in PipeWire. (define-public libcamera (package (name "libcamera") - (version "0.0.0") + (version "0.0.0-1") (source (origin (method git-fetch) (uri (git-reference (url "git://linuxtv.org/libcamera.git") - (commit "74c8b508338ccdd0780aa1e067a1e8fcb9ee326b"))) + (commit "10be87fa7c3bfb097b21ca3d469c67e40c333f7e"))) (file-name (git-file-name name version)) (sha256 - (base32 "0d9lp8b9gyxh4jwfh55kp8zl1xyyg32z684v3y29378zpksncss1")))) + (base32 "0qgirhlalmk9f9v6piwz50dr2asb64rvbb9zb1vix7y9zh7m11by")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:configure-flags (list - "-Dv4l2=true") + "-Dv4l2=true" + ;; XXX: Requires bundled pybind11. + "-Dpycamera=disabled") #:phases (modify-phases %standard-phases (add-after 'unpack 'disable-failing-tests (lambda _ (substitute* "test/meson.build" (("\\['list-cameras', 'list-cameras.cpp'\\],") - "")) - #t)) + "") + ;; TODO: Why do the gstreamer tests fail. + (("^subdir\\('gstreamer'\\)") + "")))) (add-after 'install 'move-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -245,24 +381,26 @@ protocols.") (mkdir-p (string-append doc "/share")) (rename-file (string-append out "/share/doc") - (string-append doc "/share/doc")) - #t)))))) + (string-append doc "/share/doc")))))))) (native-inputs - `(("dot" ,graphviz) - ("doxygen" ,doxygen) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) - ("sphinx" ,python-sphinx) - ("yaml" ,python-pyyaml))) + (list graphviz ;for 'dot' + doxygen + pkg-config + python-wrapper + python-sphinx + python-pyyaml)) (inputs - `(("boost" ,boost) - ("glib" ,glib) - ("gstreamer" ,gst-plugins-base) - ("gnutls" ,gnutls) - ("libtiff" ,libtiff) - ("openssl" ,openssl) - ("qt5" ,qtbase-5) - ("udev" ,eudev))) + (list boost + eudev + glib + gst-plugins-base + gnutls + libtiff + libyaml + openssl + python-jinja2 + python-ply + qtbase-5)) (synopsis "Camera stack and framework") (description "LibCamera is a complex camera support library for GNU+Linux, Android, and ChromeOS.") @@ -344,6 +482,54 @@ GLib-based library, libnice, as well as GStreamer elements to use it.") license:lgpl2.1+ license:mpl1.1))))) +(define-public librecast + (package + (name "librecast") + (version "0.5.1") + (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 + "1zzdxawzsj0lxyxm8c2wdqx3b633f8ybvlg6szs4v0y42xg4a829")))) + (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" + #:phases (modify-phases %standard-phases + (add-before 'check 'remove-network-tests + (lambda _ + ;; these tests require networking + (delete-file "./test/0000-0010.c") + (delete-file "./test/0000-0012.c") + (delete-file "./test/0000-0013.c") + (delete-file "./test/0000-0014.c") + (delete-file "./test/0000-0015.c") + (delete-file "./test/0000-0016.c") + (delete-file "./test/0000-0018.c") + (delete-file "./test/0000-0019.c") + (delete-file "./test/0000-0021.c") + (delete-file "./test/0000-0028.c") + (delete-file "./test/0000-0036.c") + (delete-file "./test/0000-0037.c") + (delete-file "./test/0000-0038.c") + (delete-file "./test/0000-0039.c") + (delete-file "./test/0000-0040.c")))))) + (inputs (list libsodium lcrq)) + (synopsis "librecast IPv6 multicast library") + (description "Librecast is a C library which supports IPv6 multicast +networking.") + (home-page "https://librecast.net/librecast.html") + (license (list license:gpl2 license:gpl3)))) + (define-public rtmpdump ;; There are no tags in the repository, and the project is unlikely to ;; make new releases. Take a recent commit for multiple security fixes @@ -430,7 +616,7 @@ from any network device in any of three ASCII graph formats.") (define-public srt (package (name "srt") - (version "1.4.3") + (version "1.4.4") (source (origin (method git-fetch) @@ -440,7 +626,7 @@ from any network device in any of three ASCII graph formats.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1f60vlfxhh9bhafws82c3301whjlz5gy92jz9a9ymwfg5h53bv1j")))) + (base32 "1zr1l9zkai7rpw9cn5j9h4zrv08hgpfmwscwyscf2j4cgwf0rxrr")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -451,9 +637,7 @@ from any network device in any of three ASCII graph formats.") "-DENABLE_STATIC=OFF" "-DENABLE_UNITTESTS=ON"))) (native-inputs - `(("gtest" ,googletest) - ("pkg-config" ,pkg-config) - ("tclsh" ,tcl))) + (list googletest pkg-config tcl)) (propagated-inputs (list openssl)) (synopsis "Secure Reliable Transport") @@ -462,24 +646,6 @@ performance across unpredictable networks, such as the Internet.") (home-page "https://www.srtalliance.org/") (license license:mpl2.0))) -;; FFmpeg, GStreamer, and VLC don't support SRT 1.4.2 yet. -(define-public srt-1.4.1 - (package - (inherit srt) - (name "srt") - (version "1.4.1") - (source - (origin - (method git-fetch) - (uri - (git-reference - (url "https://github.com/Haivision/srt") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "01xaq44j95kbgqfl41pnybvqy0yq6wd4wdw88ckylzf0nzp977xz")))))) - (define-public lksctp-tools (package (name "lksctp-tools") @@ -545,6 +711,54 @@ It also includes some SCTP-related helper utilities.") SCTP-aware kernel (most are).") (license license:lgpl2.1+))) +(define-public kismet + (package + (name "kismet") + (version "2022-02") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://www.kismetwireless.net/git/kismet.git") + (commit (string-append "kismet-" version "-R1")))) + (file-name (git-file-name name version)) + (patches (search-patches "kismet-unbundle-boost.patch")) + (modules '((guix build utils))) + (snippet '(begin + ;; Drop bundled libraries. + (delete-file-recursively "boost"))) + (sha256 + (base32 + "01q86hrgpai433sc65dlnqy91qd26w5dwyp37adszqxfb6d2an1r")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-install + (lambda* _ + (substitute* "Makefile.in" + (("-o \\$\\(INSTUSR\\) -g \\$\\(SUIDGROUP\\)") "") + (("-o \\$\\(INSTUSR\\) -g \\$\\(INSTGRP\\)") ""))))))) + (home-page "https://www.kismetwireless.net/") + (native-inputs (list perl pkg-config python python-2)) + (inputs (list boost + libusb + libpcap + libwebsockets + openssl + protobuf + protobuf-c + sqlite + zlib)) + (synopsis "Wireless network and device detector") + (description + "This package provides a wireless network and device detector, sniffer, +wardriving tool, and WIDS (wireless intrusion detection) framework. Kismet +works with Wi-Fi interfaces, Bluetooth interfaces, some SDR +(software defined radio) hardware like the RTLSDR, and other specialized +capture hardware") + (license license:gpl2+))) + (define-public knockd (package (name "knockd") @@ -658,14 +872,14 @@ systems with no further dependencies.") (define-public blueman (package (name "blueman") - (version "2.2.3") + (version "2.3.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/blueman-project/blueman/releases" "/download/" version "/blueman-" version ".tar.xz")) (sha256 - (base32 "1s86w4mklzr8hvbgl3nkg8jycl6grww533dhzw8gdn5glqfpkpbf")))) + (base32 "0lh1aqpdq6vi4agrgmm7fifjbxz2s5qcs3hr7nfjrwrp2j1361n2")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags (list "--enable-polkit" @@ -733,30 +947,30 @@ systems with no further dependencies.") (map (lambda (prog) (string-append libexec prog)) '("mechanism" "rfcomm-watcher")))))))))) (native-inputs - `(("cython" ,python-cython) - ("glib:bin" ,glib "bin") - ("gobject-introspection" ,gobject-introspection) - ("gtk+:bin" ,gtk+ "bin") - ("intltool" ,intltool) - ("pkg-config" ,pkg-config))) + (list python-cython + `(,glib "bin") + gobject-introspection + `(,gtk+ "bin") + intltool + pkg-config)) (inputs - `(("bluez" ,bluez) - ("dbus" ,dbus) - ("librsvg" ,librsvg) - ("glib" ,glib) - ("gtk+" ,gtk+) - ("iproute2" ,iproute) - ("iptables" ,iptables) - ("net-tools" ,net-tools) - ("pango" ,pango) - ("polkit" ,polkit) - ("ppp" ,ppp) - ("pulseaudio" ,pulseaudio) - ("pycairo" ,python-pycairo) - ("pygobject" ,python-pygobject) - ("python" ,python-wrapper) - ("libappindicator" ,libappindicator) - ("libnm" ,network-manager))) + (list bluez + dbus + librsvg + glib + gtk+ + iproute + iptables + net-tools + pango + polkit + ppp + pulseaudio + python-pycairo + python-pygobject + python-wrapper + libappindicator + network-manager)) (synopsis "GTK+ Bluetooth manager") (description "Blueman is a Bluetooth management utility using the Bluez D-Bus backend. It is designed to be easy to use for most common Bluetooth @@ -764,6 +978,33 @@ tasks.") (home-page "https://github.com/blueman-project/blueman") (license license:gpl3+))) +(define-public nm-tray + (package + (name "nm-tray") + (version "0.5.0") + (home-page "https://github.com/palinek/nm-tray") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (sha256 + (base32 + "14i8sl0hrnyidlvqnxza0v4018f7p685ksn8419i2w7f9yqpvpiw")) + (file-name (git-file-name name version)))) + (build-system qt-build-system) + (arguments + (list #:tests? #f)) ;There are no tests upstream + (inputs (list qtbase-5 networkmanager-qt)) + (native-inputs (list qttools-5 pkg-config)) + (synopsis + "NetworkManager front-end with information icon residing in system tray") + (description + "nm-tray is a network connection management tool (NetworkManager +front-end) with an information icon residing in the system tray. Unlike +nm-applet, which is part of GNOME, this application is desktop-unaware.") + (license license:gpl2+))) + ;; The gnu.org ‘home’ for this GNU project is a directory listing with 1.6.0 as ;; the latest version. The author's git repository, mentioned in the 1.6.0 ;; README and otherwise legit-looking, contains a proper 1.7.0 release tarball @@ -839,14 +1080,14 @@ residing in IPv4-only networks, even when they are behind a NAT device.") (define-public ndisc6 (package (name "ndisc6") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "https://www.remlab.net/files/ndisc6/ndisc6-" version ".tar.bz2")) (sha256 (base32 - "0lgkbnnll8nrr7h63ywd42sg8fiv6jhhymd7rnml8a3yqjgjz4rn")))) + "1yrw8maj1646d498ax8xi0jmzk80idrc5x0913x5rwg1kc7224x7")))) (build-system gnu-build-system) (home-page "https://www.remlab.net/ndisc6/") (synopsis "IPv6 diagnostic tools") @@ -981,7 +1222,7 @@ or server shell scripts with network connections.") (define-public mbuffer (package (name "mbuffer") - (version "20211018") + (version "20220418") (source (origin (method url-fetch) (uri (string-append @@ -989,7 +1230,7 @@ or server shell scripts with network connections.") version ".tgz")) (sha256 (base32 - "1qxnbpyly00kml3sjan9iqg6pqacsi3yqq66x25w455cwkjc2h72")))) + "1iq0lcl350r7qja7yyv911aay26d0dd8n0h33mfl84gzypwh2n3f")))) (build-system gnu-build-system) (native-inputs (list which)) @@ -1169,7 +1410,7 @@ between different versions of ØMQ.") (native-inputs (list pkg-config)) (inputs - (list catch-framework2 zeromq)) + (list catch2 zeromq)) (home-page "https://zeromq.org") (synopsis "C++ bindings for the ØMQ messaging library") (description @@ -1461,7 +1702,7 @@ test_parse_format_ipv(4(|_listen_all|_mapped_ipv6)|6)\\);") (string-append "prefix=" (assoc-ref %outputs "out"))) #:test-target "test")) (inputs (list net-tools zlib)) - (native-inputs (list check-0.14 pkg-config)) + (native-inputs (list check pkg-config)) (home-page "https://code.kryo.se/iodine/") (synopsis "Tunnel IPv4 data through a DNS server") (description "Iodine tunnels IPv4 data through a DNS server. This @@ -1519,27 +1760,29 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.6.2") + (version "4.0.0") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "03n34jh4318y3q14jclxfxi4r7b9l393w9fw9bq57ydff9aim42x")))) + (base32 "1vddvizywy6kfxg0i3m0627f675i7sdp7k3ld9sjlp78hppjbh9x")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-failing-test - ;; 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_extcaps" all) (string-append "# " all)))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + ;; 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.' + (when tests? + (invoke "ctest" + "-E" + (string-join (list "suite_unittests" "suite_extcaps") + "|")))))) ;; Build process chokes during `validate-runpath' phase. ;; ;; Errors are like the following: @@ -1568,9 +1811,10 @@ of the same name.") mit-krb5 `(,nghttp2 "lib") minizip + pcre2 qtbase-5 - qtmultimedia - qtsvg + qtmultimedia-5 + qtsvg-5 sbc snappy zlib @@ -1583,7 +1827,7 @@ of the same name.") perl pkg-config python-wrapper - qttools)) + qttools-5)) (synopsis "Network traffic analyzer") (description "Wireshark is a network protocol analyzer, or @dfn{packet sniffer}, that lets you capture and interactively browse the contents of @@ -1594,14 +1838,14 @@ network frames.") (define-public fping (package (name "fping") - (version "5.0") + (version "5.1") (source (origin (method url-fetch) (uri (string-append "https://fping.org/dist/fping-" version ".tar.gz")) (sha256 - (base32 "1f2prmii4fyl44cfykp40hp4jjhicrhddh9v3dfs11j6nsww0f7d")))) + (base32 "1zh9fkyn0bixgn77v9z6ayv446nqwx960hmly9m68xix0s62dr8y")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-ipv6"))) (home-page "https://fping.org/") @@ -1654,7 +1898,7 @@ round-robin fashion.") (propagated-inputs (list openssh)) ; used by gandi/cli/modules/iass.py (inputs - (list openssl python-click python-ipy python-pyyaml python-requests)) + (list openssl python-click-7 python-ipy python-pyyaml python-requests)) (home-page "https://cli.gandi.net") (synopsis "Command-line interface to the Gandi.net Web API") (description @@ -1691,8 +1935,8 @@ handling network namespaces in Go.") (define-public go-sctp ;; docker-libnetwork-cmd-proxy requires this exact commit. ;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf. - (let ((commit "6e2cb1366111dcf547c13531e3a263a067715847") - (revision "2")) + (let ((commit "f2269e66cdee387bd321445d5d300893449805be") + (revision "3")) (package (name "go-sctp") (version (git-version "0.0.0" revision commit)) @@ -1704,7 +1948,7 @@ handling network namespaces in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "1ba90fmpdwxa1ba4hrsjhi3gfy3pwmz7x8amw1p5dc9p5a7nnqrb")))) + "04463rnn9y9psp11ac5di6wrwxlhymw5h9hfhhhnxqwla90ikp0g")))) (build-system go-build-system) (arguments `(#:tests? #f ; Test suite is flakey. @@ -1801,7 +2045,7 @@ TCP connection, TLS handshake and so on) in the terminal.") '(#:configure-flags ;; disable -march=native in build for reproducibility; see ;; https://wiki.squid-cache.org/KnowledgeBase/IllegalInstructionError - (list "--disable-arch-native") + (list "--disable-arch-native" "--with-openssl") #:phases (modify-phases %standard-phases (add-before 'build 'fix-true-path @@ -1863,19 +2107,22 @@ live network and disk I/O bandwidth monitor.") (define-public aircrack-ng (package (name "aircrack-ng") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) (uri (string-append "https://download.aircrack-ng.org/aircrack-ng-" version ".tar.gz")) (sha256 - (base32 "0ix2k64qg7x3w0bzdsbk1m50kcpq1ws59g3zkwiafvpwdr4gs2sg")))) + (base32 "1hsq1gwmafka4bahs6rc8p98yi542h9a502h64bjlygpr3ih99q5")))) (build-system gnu-build-system) (native-inputs - (list autoconf automake libtool pkg-config which)) + (list autoconf automake libtool pkg-config which + ;; For tests. + expect)) (inputs - (list libgcrypt + (list `(,hwloc "lib") ; speed boost on SMP machines + libgcrypt libnl libpcap ethtool @@ -1894,16 +2141,14 @@ live network and disk I/O bandwidth monitor.") ;; ‘patch-shebangs’ phase has had a chance to run. (substitute* "evalrev" (("/bin/sh") - (which "sh"))) - #t)) + (which "sh"))))) (add-after 'build 'absolutize-tools (lambda* (#:key inputs #:allow-other-keys) (let ((ethtool (search-input-file inputs "/sbin/ethtool"))) (substitute* "scripts/airmon-ng" (("ethtool ") - (string-append ethtool " "))) - #t)))))) + (string-append ethtool " "))))))))) (home-page "https://www.aircrack-ng.org") (synopsis "Assess WiFi network security") (description @@ -2296,14 +2541,14 @@ libproxy only have to specify which proxy to use.") (define-public proxychains-ng (package (name "proxychains-ng") - (version "4.15") + (version "4.16") (source (origin (method url-fetch) (uri (string-append "http://ftp.barfooze.de/pub/sabotage/tarballs/" "proxychains-ng-" version ".tar.xz")) (sha256 - (base32 "10ch6rmbw2lwrq1bc9w4glxkws7hvsy5ihasvzf3yg053xzsn1rj")))) + (base32 "04k80jbv1wcr7ccsa0qyly33syw275kvkvzyihwwqmsqk4yria9p")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are no tests @@ -2421,7 +2666,7 @@ that block port 22.") (define-public iperf (package (name "iperf") - (version "3.10.1") + (version "3.12") (source (origin (method git-fetch) @@ -2430,7 +2675,7 @@ that block port 22.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0svkrmxki6ckn2a8xysh5x0bw68mqnvl3w64j6d45fxs97dca2vq")))) + (base32 "0bkmlah8lsm9vciaa9k84x3g1fd0k6nwnsrzp8y04piyiplrvpsi")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -2450,7 +2695,7 @@ the bandwidth, loss, and other parameters.") (define-public nethogs (package (name "nethogs") - (version "0.8.6") + (version "0.8.7") (source (origin (method git-fetch) @@ -2459,7 +2704,7 @@ the bandwidth, loss, and other parameters.") (commit (string-append "v" version)))) (hash (content-hash - (base32 "0sn1sdp86akwlm4r1vmkxjjl50c0xaisk91bbz57z7kcsaphxna9") + (base32 "10shdwvfj90lp2fxz9260342a1c2n1jbw058qy5pyq5kh3xwr9b8") sha256)) (file-name (git-file-name name version)))) (build-system gnu-build-system) @@ -2521,7 +2766,7 @@ procedure calls (RPCs).") (define-public openvswitch (package (name "openvswitch") - (version "2.16.1") + (version "3.0.0") (source (origin (method url-fetch) (uri (string-append @@ -2529,7 +2774,7 @@ procedure calls (RPCs).") version ".tar.gz")) (sha256 (base32 - "1x0k0pw6jykrfgb8rq56bp2ghxd433d55pmr8mxy9gbzw1nc1vbi")))) + "17hr7x9iahhmskp70pv59v4bsn86r2jmbaw37vs03jsz3k1a57gs")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -2537,22 +2782,30 @@ procedure calls (RPCs).") "--disable-static" ; XXX still installs libopenvswitchavx512.a "--localstatedir=/var" "--with-dbdir=/var/lib/openvswitch") + ;; Tests fail in different ways, on different x86_64-linux hardware: + ;; 25. bfd.at:268: 25. bfd - bfd decay (bfd.at:268): FAILED (bfd.at:397) + ;; 1040. dpif-netdev - meters (dpif-netdev.at:269): FAILED (dpif-netdev.at:376) + #:tests? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'use-absolute-/bin/sh (lambda* (#:key inputs #:allow-other-keys) - (let* ((bash (assoc-ref inputs "bash-minimal"))) + (let ((/bin/sh (search-input-file inputs "bin/sh"))) (substitute* "ovsdb/ovsdb-server.c" - (("/bin/sh") (string-append bash "/bin/sh")))))) + (("/bin/sh") /bin/sh))))) (add-before 'check 'adjust-tests (lambda* (#:key inputs #:allow-other-keys) - (let* ((bash (assoc-ref inputs "bash-minimal")) - (/bin/sh (string-append bash "/bin/sh"))) + (let ((/bin/sh (search-input-file inputs "bin/sh"))) (with-fluids ((%default-port-encoding "ISO-8859-1")) (substitute* (find-files "tests" ".*(run|testsuite)$") (("#! /bin/sh") (string-append "#! " /bin/sh)) + ;; grep 3.8 emits a warning for 'egrep' which breaks + ;; expected output; adjust accordingly. + (("egrep") + "grep -E") + ;; The tests use 'kill -0' to check whether a test has ;; completed, but it does not work in the build container ;; because zombies are not reaped automatically (PID 1 is @@ -2579,13 +2832,14 @@ ps --no-header -p $1 -o state= | grep -qv '^Z$'" "DBDIR=/tmp" "install")))))) (native-inputs - `(("perl" ,perl) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) - ;; for testing - ("bash" ,bash) ;for 'compgen' - ("procps" ,procps) - ("util-linux" ,util-linux))) + (list perl + pkg-config + python-wrapper + + ;; For testing. + bash ;for 'compgen' + procps + util-linux)) (inputs (list bash-minimal libcap-ng openssl)) (synopsis "Virtual network switch") @@ -2595,6 +2849,8 @@ ps --no-header -p $1 -o state= | grep -qv '^Z$'" massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag).") + (properties + '((release-monitoring-url . "https://www.openvswitch.org/download/"))) (license ; see debian/copyright for detail (list license:lgpl2.1 ; xenserver and utilities/bugtool license:gpl2 ; datapath @@ -2619,9 +2875,6 @@ handling for most notations in use for IPv4 and IPv6 addresses and networks.") (license license:bsd-3))) -(define-public python2-ipy - (package-with-python2 python-ipy)) - (define-public speedtest-cli (package (name "speedtest-cli") @@ -2772,6 +3025,12 @@ updates to the zebra daemon.") #:tests? #f ; No test suite. #:phases (modify-phases %standard-phases + (add-after 'unpack 'use-source-date-epoch-in-manpages + ;; For reproducible builds + (lambda _ + (substitute* "Makefile" + (("date --iso-8601") + "date --iso-8601 --utc --date=@$(SOURCE_DATE_EPOCH)")))) (delete 'configure) ; No ./configure script. (add-before 'build 'patch-paths (lambda _ @@ -2843,6 +3102,11 @@ interface and a programmable text output for scripting.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-manpage-date + (lambda _ + ;; Replace current date with specific date to build reproducibly + (substitute* "doc/fixmanpages.in" + (("pod2man -d .* -n") "pod2man -d \"1970-01-01\" -n")))) (add-before 'build 'build-doc (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "-C" "doc" "doc" @@ -2872,8 +3136,9 @@ can be whipped up with little effort.") (sha256 (base32 "0haanralbvd12pvkyihgkmx9ld74dnzm1s7mzparfandl416ibff")))) (build-system gnu-build-system) + (native-inputs (list pkg-config)) (inputs - (list libcap ncurses)) + (list jansson libcap ncurses)) (arguments `(#:tests? #f)) ; tests require network access (home-page "https://www.bitwizard.nl/mtr/") @@ -2973,7 +3238,7 @@ networks using zeromq. It has these key characteristics: (define-public libsocketcan (package (name "libsocketcan") - (version "0.0.11") + (version "0.0.12") (source (origin (method git-fetch) (uri (git-reference @@ -2982,8 +3247,13 @@ networks using zeromq. It has these key characteristics: (file-name (git-file-name name version)) (sha256 (base32 - "17z2y2r9xkixhr9bxr50m77fh710afl30s7jdhbxrvf56vmal2jr")))) + "0nrav2yqxgb7jwnhrwirnxs9ycqqh90sqgv5a8lns837jf385jvq")))) (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + ;; Upstream already puts (more) files in share/doc/libsocketcan. + (delete 'install-license-files)))) (native-inputs (list autoconf automake libtool)) (home-page "https://git.pengutronix.de/cgit/tools/libsocketcan") @@ -3035,14 +3305,14 @@ eight bytes) tools (define-public asio (package (name "asio") - (version "1.20.0") + (version "1.22.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/asio/asio/" version " (Stable)/asio-" version ".tar.bz2")) (sha256 - (base32 "0335kyxdnwnp96sh9p3jq1s87qnfmp5l7hzlcdxbbwfzrb9p8hr0")))) + (base32 "0v5w9j4a02j2rkc7mrdj3ms0kfpqbgq2ipkixlz2l0p8xs0vfsvp")))) (build-system gnu-build-system) (inputs (list boost openssl)) @@ -3103,20 +3373,19 @@ Features: (define-public net-snmp (package (name "net-snmp") - (version "5.9.1") + (version "5.9.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/net-snmp/net-snmp/" version "/net-snmp-" version ".tar.gz")) (sha256 (base32 - "0gwcyi9qk707jgfsgmdr9w2w3r892fnqaam9v7zxpkg69njd8zzb")) + "02pgl89s8qll5zhdp61rbn6vpl084gx55bjb1cqg3wqvgsdz55r0")) (modules '((guix build utils))) (snippet '(begin ;; Drop bundled libraries. - (delete-file-recursively "snmplib/openssl") - #t)))) + (delete-file-recursively "snmplib/openssl"))))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -3146,8 +3415,7 @@ Features: ;; These tests require network access. (for-each delete-file '("testing/fulltests/default/T070com2sec_simple" - "testing/fulltests/default/T071com2sec6_simple")) - #t)) + "testing/fulltests/default/T071com2sec6_simple")))) (add-after 'unpack 'patch-Makefile.PL (lambda* (#:key outputs #:allow-other-keys) (substitute* "Makefile.in" @@ -3155,8 +3423,7 @@ Features: (string-append "Makefile.PL PREFIX=" (assoc-ref outputs "out") " INSTALLDIRS=site" " NO_PERLLOCAL=1" - " -NET"))) - #t))))) + " -NET")))))))) (inputs (list libnl ncurses ; for the ‘apps’ openssl perl)) @@ -3221,7 +3488,7 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.") (define-public hcxtools (package (name "hcxtools") - (version "5.2.0") + (version "6.2.7") (source (origin (method git-fetch) @@ -3229,19 +3496,22 @@ Ethernet and TAP interfaces is supported. Packet capture is also supported.") (url "https://github.com/ZerBea/hcxtools") (commit version))) (sha256 - (base32 "0k2qlq9hz5zc21nyc6yrnfqzga7hydn5mm0x3rpl2fhkwl81lxcn")) + (base32 "0460dxbc04w60l3g06rk007yyb6qprgyii59y2zdki0vy7q63m8b")) (file-name (git-file-name name version)))) (build-system gnu-build-system) - (inputs - (list curl libpcap openssl zlib)) + (native-inputs (list pkg-config)) + (inputs (list curl libpcap openssl zlib)) (arguments - `(#:make-flags - (list ,(string-append "CC=" (cc-for-target)) - (string-append "INSTALLDIR=" (assoc-ref %outputs "out") "/bin")) - #:tests? #f ; no test suite - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + (list #:make-flags + #~(list (string-append "CC=" + #$(cc-for-target)) "LDFLAGS+=-lcrypto" + "LDFLAGS+=-lcurl" "LDFLAGS+=-lz" + (string-append "PREFIX=" + #$output)) + #:tests? #f ;no test suite + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) (home-page "https://github.com/ZerBea/hcxtools") (synopsis "Capture wlan traffic to hashcat and John the Ripper") (description @@ -3359,7 +3629,7 @@ communication over HTTP.") (define-public restinio (package (name "restinio") - (version "0.6.14") + (version "0.6.15") (source (origin (method git-fetch) (uri (git-reference @@ -3368,11 +3638,11 @@ communication over HTTP.") (file-name (git-file-name name version)) (sha256 (base32 - "0j44mglsljwkw49583hcsrl5ck2g56n9srnm10kpbsz2dx5apx98")))) + "1f8d5nfm8jqhspzsslwb1b7j4glipz31i9vszrcnkx3clc39nj2n")))) (build-system cmake-build-system) (inputs ; TODO: Need to force-keep references on some inputs, e.g. boost. (list zlib - catch-framework2 + catch2 openssl boost pcre @@ -3396,92 +3666,99 @@ and targeted primarily for asynchronous processing of HTTP-requests.") (license license:bsd-3))) (define-public opendht - ;; The version/commit is kept in sync with what Jami uses in its daemon - ;; contrib build system (see: - ;; https://review.jami.net/plugins/gitiles/jami-daemon/+/refs/heads/master/contrib/src/opendht/rules.mak). - (let ((commit "dbbfdaab0f4119abf79646313e0dbc52881dcd56") - (revision "0")) - (package - (name "opendht") - (version (git-version "2.3.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/savoirfairelinux/opendht") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07x8vw999qpfl6qwj5k5l2mcjy1vp32sd567f6imbsnh9vlx2bdv")))) - (outputs '("out" "tools" "debug")) - (build-system gnu-build-system) - (arguments - (list - #:imported-modules `((guix build python-build-system) ;for site-packages - ,@%gnu-build-system-modules) - #:modules '(((guix build python-build-system) #:prefix python:) - (guix build gnu-build-system) - (guix build utils)) - #:tests? #f ;tests require networking - #:configure-flags - #~(list "--enable-tests" - "--enable-proxy-server" - "--enable-push-notifications" - "--enable-proxy-server-identity" - "--enable-proxy-client") - #:phases - #~(modify-phases %standard-phases - (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 - ;; site-packages directory. - (lambda _ - (substitute* "python/Makefile.am" - (("--root=\\$\\(DESTDIR)/") - (string-append "--root=/ --single-version-externally-managed " - "--prefix=" #$output))))) - (add-after 'unpack 'specify-runpath-for-python-module - (lambda _ - (substitute* "python/setup.py.in" - (("extra_link_args=\\[(.*)\\]" _ args) - (string-append "extra_link_args=[" args - ", '-Wl,-rpath=" #$output "/lib']"))))) - (add-after 'install 'move-and-wrap-tools - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((tools (assoc-ref outputs "tools")) - (dhtcluster (string-append tools "/bin/dhtcluster")) - (site-packages (python:site-packages inputs outputs))) - (mkdir tools) - (rename-file (string-append #$output "/bin") - (string-append tools "/bin")) - ;; TODO: Contribute a patch to python/Makefile.am to - ;; automate this. - (copy-file "python/tools/dhtcluster.py" dhtcluster) - (chmod dhtcluster #o555) - (wrap-program dhtcluster - `("GUIX_PYTHONPATH" prefix (,site-packages))))))))) - (inputs (list bash-minimal fmt readline)) - (propagated-inputs - (list msgpack ;included in several installed headers - restinio ;included in opendht/http.h - ;; The following are listed in the 'Requires.private' field of - ;; opendht.pc: - argon2 - gnutls - jsoncpp - nettle - openssl)) ;required for the DHT proxy - (native-inputs - (list autoconf - automake - pkg-config - python - python-cython - libtool - cppunit)) - (home-page "https://github.com/savoirfairelinux/opendht/") - (synopsis "Lightweight Distributed Hash Table (DHT) library") - (description "OpenDHT provides an easy to use distributed in-memory data + (package + (name "opendht") + (version "2.4.10") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/savoirfairelinux/opendht") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kcc9vmi4swvahq2gikflgba9xfmix80dr9wa3v6xcj1ba2fjd6s")))) + (outputs '("out" "tools" "debug")) + (build-system gnu-build-system) + (arguments + (list + #:imported-modules `((guix build python-build-system) ;for site-packages + ,@%gnu-build-system-modules) + #:modules '(((guix build python-build-system) #:prefix python:) + (guix build gnu-build-system) + (guix build utils)) + #:configure-flags + #~(list "--enable-tests" + "--enable-proxy-server" + "--enable-push-notifications" + "--enable-proxy-server-identity" + "--enable-proxy-client") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-problematic-tests + (lambda _ + ;; The dhtrunnertester test suite includes 'testListen', which + ;; is sensitive to the performance/load of the machine it runs + ;; on, introducing nondeterminism (see: + ;; https://github.com/savoirfairelinux/opendht/issues/626). + (substitute* "tests/Makefile.am" + (("\\bdhtrunnertester\\.(h|cpp)\\b") + "")))) + (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 + ;; site-packages directory. + (lambda _ + (substitute* "python/Makefile.am" + (("--root=\\$\\(DESTDIR)/") + (string-append "--root=/ --single-version-externally-managed " + "--prefix=" #$output))))) + (add-after 'unpack 'specify-runpath-for-python-module + (lambda _ + (substitute* "python/setup.py.in" + (("extra_link_args=\\[(.*)\\]" _ args) + (string-append "extra_link_args=[" args + ", '-Wl,-rpath=" #$output "/lib']"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "tests/opendht_unit_tests")))) + (add-after 'install 'move-and-wrap-tools + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((tools (assoc-ref outputs "tools")) + (dhtcluster (string-append tools "/bin/dhtcluster")) + (site-packages (python:site-packages inputs outputs))) + (mkdir tools) + (rename-file (string-append #$output "/bin") + (string-append tools "/bin")) + ;; TODO: Contribute a patch to python/Makefile.am to + ;; automate this. + (copy-file "python/tools/dhtcluster.py" dhtcluster) + (chmod dhtcluster #o555) + (wrap-program dhtcluster + `("GUIX_PYTHONPATH" prefix (,site-packages))))))))) + (inputs (list bash-minimal fmt readline)) + (propagated-inputs + (list msgpack ;included in several installed headers + restinio ;included in opendht/http.h + ;; The following are listed in the 'Requires.private' field of + ;; opendht.pc: + argon2 + gnutls + jsoncpp + nettle + openssl)) ;required for the DHT proxy + (native-inputs + (list autoconf + automake + pkg-config + python + python-cython + libtool + cppunit)) + (home-page "https://github.com/savoirfairelinux/opendht/") + (synopsis "Lightweight Distributed Hash Table (DHT) library") + (description "OpenDHT provides an easy to use distributed in-memory data store. Every node in the network can read and write values to the store. Values are distributed over the network, with redundancy. It includes the following features: @@ -3504,7 +3781,7 @@ library (get, put, etc.) with text values. @item dhtchat A very simple IM client working over the DHT. @end table") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public frrouting (package @@ -3532,14 +3809,14 @@ protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP.") (define-public bird (package (name "bird") - (version "2.0.8") + (version "2.0.10") (source (origin (method url-fetch) (uri (string-append "ftp://bird.network.cz/pub/bird/bird-" version ".tar.gz")) (sha256 (base32 - "1xp7f0im1v8pqqx3xqyfkd1nsxk8vnbqgrdrwnwhg8r5xs1xxlhr")))) + "0npx3zgbjnhm4905zmj2qkz3d13s8hakassq6sbzm1ywv3fl3lvy")))) (inputs (list libssh readline)) (native-inputs @@ -3721,18 +3998,19 @@ service is available at @url{https://pagekite.net/}, or you can run your own.") (define-public ipcalc (package (name "ipcalc") - (version "0.41") - (source (origin - (method url-fetch) - (uri (string-append "http://jodies.de/ipcalc-archive/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "12if9sm8h2ac0pgwkw835cgyqjxm6h27k4kfn2vfas9krrqwbafx")))) - (inputs `(("perl" ,perl) - ("tar" ,tar) - ("gzip" ,gzip) - ("tarball" ,source))) + (version "0.51") + (source + (origin + (method git-fetch) + (uri (git-reference + ;; This is the IPv6-capable continuation of the unmaintained + ;; . + (url "https://github.com/kjokjo/ipcalc") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cnygb69vjmp3by75jcd2z4y3ybp1s7x4nl3d32xa49h8lkhdbfv")))) + (inputs `(("perl" ,perl))) (build-system trivial-build-system) ;no Makefile.PL (arguments `(#:modules ((guix build utils)) @@ -3743,25 +4021,21 @@ service is available at @url{https://pagekite.net/}, or you can run your own.") (let* ((source (assoc-ref %build-inputs "source")) (perl (string-append (assoc-ref %build-inputs "perl") "/bin")) - (tar (assoc-ref %build-inputs "tar")) - (gz (assoc-ref %build-inputs "gzip")) (out (assoc-ref %outputs "out")) (bin (string-append out "/bin")) (doc (string-append out "/share/doc/ipcalc"))) - (setenv "PATH" (string-append gz "/bin")) - (invoke (string-append tar "/bin/tar") "xvf" source) - (chdir (string-append ,name "-" ,version)) + (copy-recursively source "source") + (chdir "source") (install-file "ipcalc" bin) - (patch-shebang (string-append bin "/ipcalc") (list perl)) - #t)))) + (patch-shebang (string-append bin "/ipcalc") (list perl)))))) (synopsis "Simple IP network calculator") (description "ipcalc takes an IP address and netmask and calculates the resulting broadcast, network, Cisco wildcard mask, and host range. By giving a second netmask, you can design subnets and supernets. It is also intended to be a teaching tool and presents the subnetting results as easy-to-understand binary values.") - (home-page "http://jodies.de/ipcalc") + (home-page "https://github.com/kjokjo/ipcalc") (license license:gpl2+))) (define-public tunctl @@ -3928,11 +4202,11 @@ cables.") (list lua openssl pcre2 zlib)) (home-page "https://www.haproxy.org/") (synopsis "Reliable, high performance TCP/HTTP load balancer") - (description "HAProxy is a free, very fast and reliable solution offering -high availability, load balancing, and proxying for TCP and HTTP-based -applications. It is particularly suited for web sites crawling under very -high loads while needing persistence or Layer7 processing. Supporting tens of -thousands of connections is clearly realistic with today's hardware.") + (description "HAProxy offers @acronym{HA, high availability}, load +balancing, and proxying for TCP and HTTP-based applications. It is particularly +suited to Web sites crawling under very high loads while needing persistence or +Layer 7 processing. Supporting tens of thousands of connections is clearly +realistic with today's hardware.") (license (list license:gpl2+ license:lgpl2.1 license:lgpl2.1+)))) @@ -3940,32 +4214,30 @@ thousands of connections is clearly realistic with today's hardware.") (define-public lldpd (package (name "lldpd") - (version "1.0.13") + (version "1.0.15") (source (origin (method url-fetch) (uri (string-append "https://media.luffy.cx/files/lldpd/lldpd-" version ".tar.gz")) (sha256 - (base32 "00a7v24qhxw80yk2v79wrkfn7br4r8pcajyrpz8j0xx2v1zq4ffn")) + (base32 "09iidaan6gq384n7ykdwwsll3vmq6q7zd7j7j721k2p91c9kmzpp")) (modules '((guix build utils))) (snippet '(begin ;; Drop bundled library. - (delete-file-recursively "libevent") - #t)))) + (delete-file-recursively "libevent"))))) (arguments - `(#:configure-flags - (list - "--with-privsep-user=nobody" - "--with-privsep-group=nogroup" - "--localstatedir=/var" - "--enable-pie" - "--disable-static" - "--without-embedded-libevent" - (string-append "--with-systemdsystemunitdir=" - (assoc-ref %outputs "out") - "/lib/systemd/system")))) + (list #:configure-flags + #~(list + "--with-privsep-user=nobody" + "--with-privsep-group=nogroup" + "--localstatedir=/var" + "--enable-pie" + "--disable-static" + "--without-embedded-libevent" + (string-append "--with-systemdsystemunitdir=" + #$output "/lib/systemd/system")))) (build-system gnu-build-system) (inputs (list libevent libxml2 openssl readline)) @@ -4030,14 +4302,14 @@ stamps.") (define-public nbd (package (name "nbd") - (version "3.23") + (version "3.24") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/nbd/nbd/" version "/nbd-" version ".tar.xz")) (sha256 - (base32 "1d2phi0m9x32p9zddv9fpkhj1rbhlvq93wsn9niy7i3aavn71x6y")))) + (base32 "036ib2d5722sx9nn7jydqfpl5ici5if2z7g8xrskzcx74dniaxv8")))) (build-system gnu-build-system) (inputs (list glib)) @@ -4053,7 +4325,7 @@ network.") (define-public yggdrasil (package (name "yggdrasil") - (version "0.4.1") + (version "0.4.3") (source (origin (method git-fetch) @@ -4064,7 +4336,7 @@ network.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "1ajhn0z58ap9jldip7mqj78drmgg4645zfsxsy004cfkm60fasnx")) + (base32 "0jp6998a45xi8pbi8p84chvpm1mhhcvcxm1avi1c1gjjp4jqm3vl")) (patches (search-patches "yggdrasil-extra-config.patch")))) (build-system go-build-system) (arguments @@ -4166,7 +4438,7 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send (define-public putty (package (name "putty") - (version "0.76") + (version "0.77") (source (origin (method url-fetch) @@ -4175,18 +4447,26 @@ on hub/switched networks. It is based on @acronym{ARP} packets, it will send (string-append "http://www.putty.be/" version "/putty-" version ".tar.gz"))) (sha256 - (base32 "0gvi8phabszqksj2by5jrjmshm7bpirhgavz0dqyz1xaimxdjz2l")))) - (build-system gnu-build-system) + (base32 "1rgabc447a5aa9h16krpg3x78vh5jf4l6hkbqzr4bz9qabs7d6j1")))) + (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'configure 'chdir - (lambda _ - (chdir "unix")))))) + (replace 'check + ;; As ‘documented’ in ./Buildscr and the 0.76 Makefile.in. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "PUTTY_TESTCRYPT" "./testcrypt") + (invoke (string-append "../putty-" ,version + "/test/cryptsuite.py")))))))) (inputs (list gtk+)) (native-inputs - (list pkg-config python)) ; for tests + (list perl + pkg-config + + ;; For tests. + python)) (synopsis "Graphical @acronym{SSH, Secure SHell} and telnet client") (description "PuTTY is a graphical text terminal client. It supports @acronym{SSH, Secure SHell}, telnet, and raw socket connections with good