diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2020-09-05 21:56:34 +0300 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2020-09-05 22:30:04 +0300 |
commit | de3c03a47160dec355d9b19ad5ca210d90c15fd7 (patch) | |
tree | 4ca6dc05b5fc9530d812bbb269f1c61ab9efccf3 /gnu/packages/networking.scm | |
parent | ab6fe9d362046231ad6f46eccfd1ea2c9c80b401 (diff) | |
parent | b8477cab7bccc4191ed3dfa3f149aec7917834d8 (diff) | |
download | guix-de3c03a47160dec355d9b19ad5ca210d90c15fd7.tar.gz guix-de3c03a47160dec355d9b19ad5ca210d90c15fd7.zip |
Merge remote-tracking branch 'origin/master' into staging
Diffstat (limited to 'gnu/packages/networking.scm')
-rw-r--r-- | gnu/packages/networking.scm | 432 |
1 files changed, 406 insertions, 26 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index a686db83b2..6e865c28f9 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2019, 2020 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> @@ -95,6 +95,8 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages libevent) @@ -106,6 +108,7 @@ #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages openldap) + #:use-module (gnu packages onc-rpc) #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -119,18 +122,368 @@ #: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) + #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) + #:use-module (gnu packages tcl) #: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)) +;; 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") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "git://linuxtv.org/libcamera.git") + (commit "74c8b508338ccdd0780aa1e067a1e8fcb9ee326b"))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "0d9lp8b9gyxh4jwfh55kp8zl1xyyg32z684v3y29378zpksncss1")))) + (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") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + (substitute* "test/meson.build" + (("\\['list-cameras', 'list-cameras.cpp'\\],") + "")) + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t)))))) + (native-inputs + `(("dot" ,graphviz) + ("doxygen" ,doxygen) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("sphinx" ,python-sphinx) + ("yaml" ,python-pyyaml))) + (inputs + `(("boost" ,boost) + ("glib" ,glib) + ("gstreamer" ,gst-plugins-base) + ("gnutls" ,gnutls) + ("libtiff" ,libtiff) + ("openssl" ,openssl) + ("qt5" ,qtbase) + ("udev" ,eudev))) + (synopsis "Camera stack and framework") + (description "LibCamera is a complex camera support library for GNU+Linux, +Android, and ChromeOS.") + (home-page "https://libcamera.org/") + (license license:lgpl2.1+))) + +(define-public libnice + (package + (name "libnice") + (version "0.1.17") + (source + (origin + (method url-fetch) + (uri + (string-append "https://libnice.freedesktop.org/releases/" + name "-" version ".tar.gz")) + (sha256 + (base32 "09lm0rxwvbr53svi3inaharlq96iwbs3s6957z69qp4bqpga0lhr")))) + (build-system meson-build-system) + (outputs '("out" "doc")) + (arguments + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:configure-flags + (list + "-Dgtk_doc=enabled") + #: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")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t)))))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config))) + (inputs + `(("gnutls" ,gnutls) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) + ("libnsl" ,libnsl))) + (propagated-inputs + `(("glib" ,glib) + ("glib-networking" ,glib-networking))) + (synopsis "GLib ICE implementation") + (description "LibNice is a library that implements the Interactive +Connectivity Establishment (ICE) standard (RFC 5245 & RFC 8445). It provides a +GLib-based library, libnice, as well as GStreamer elements to use it.") + (home-page "https://libnice.freedesktop.org/") + (license + ;; This project is dual-licensed. + (list + license:lgpl2.1+ + license:mpl1.1)))) + +(define-public rtmpdump + (package + (name "rtmpdump") + (version "2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.ffmpeg.org/rtmpdump") + (commit "c28f1bab7822de97353849e7787b59e50bbb1428"))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n3kdip83nvvs4sin30zpcdr5q711mqhq2lxrv5vgbc6lskpwzlj")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags + (list + ;; The ‘validate-runpath’ phase fails to find librtmp.so.0. + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib") + (string-append "prefix=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'omit-static-library + (lambda _ + (substitute* "librtmp/Makefile" + (("cp librtmp\\.a .*") ; don't install it + "") + (("librtmp\\.a ") ; don't build it + "")) + #t)) + (delete 'configure)))) + (inputs + `(("openssl" ,openssl-1.0) + ("zlib" ,zlib))) + (synopsis "Tools and library for handling RTMP streams") + (description "RTMPdump is a toolkit for RTMP streams. All forms of RTMP are +supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.") + (home-page "https://rtmpdump.mplayerhq.hu/") + (license + (list + ;; Library. + license:lgpl2.1+ + ;; Others. + license:gpl2+)))) + +(define-public srt + (package + (name "srt") + (version "1.4.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/Haivision/srt.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01xaq44j95kbgqfl41pnybvqy0yq6wd4wdw88ckylzf0nzp977xz")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list + (string-append "-DCMAKE_INSTALL_BINDIR=" + (assoc-ref %outputs "out") "/bin") + (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") "/lib") + (string-append "-DINSTALL_SHARED_DIR=" + (assoc-ref %outputs "out") "/lib") + (string-append "-DCMAKE_INSTALL_INCLUDEDIR=" + (assoc-ref %outputs "out") "/include") + "-DENABLE_UNITTESTS=ON" + "-DENABLE_CODE_COVERAGE=ON"))) + (native-inputs + `(("git" ,git-minimal) + ("gtest" ,googletest) + ("pkg-config" ,pkg-config) + ("tclsh" ,tcl))) + (propagated-inputs + `(("openssl" ,openssl))) + (synopsis "Secure Reliable Transport") + (description "SRT is a transport technology that optimizes streaming +performance across unpredictable networks, such as the Internet.") + (home-page "https://www.srtalliance.org/") + (license license:mpl2.0))) + +(define-public lksctp-tools + (package + (name "lksctp-tools") + (version "1.0.18") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/sctp/lksctp-tools.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1x4fwzrlzvfa3vcpja97m8w5g9ir2zrh4zs7zksminrnmdrs0dsr")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("linux-headers" ,linux-libre-headers))) + (synopsis "Linux SCTP helper library") + (description "Lksctp-tools project provides a user space library for SCTP +(libsctp) including C language header files (netinet/sctp.h) for accessing SCTP +specific application programming interfaces not provided by the standard +sockets, and also some helper utilities around SCTP.") + (home-page "http://lksctp.sourceforge.net/") + (license + (list + ;; Library. + license:lgpl2.1+ + ;; Others. + license:gpl2+)))) + +(define-public knockd + (package + (name "knockd") + (version "0.7") + (source (origin + (method url-fetch) + (uri (string-append "https://www.zeroflux.org/proj/knock/files/knock-" + version ".tar.gz")) + (sha256 + (base32 + "193qcpsy7v51c6awhg9652l5blyz8vp6n7y6fi7l4rhh6af4ff4r")))) + (build-system gnu-build-system) + (inputs + `(("libpcap" ,libpcap))) + (home-page "https://www.zeroflux.org/projects/knock") + (synopsis "Small port-knock daemon") + (description "@command{knockd} is a port-knock daemon. It listens to all traffic on +an ethernet or PPP interface, looking for special \"knock\" sequences of @dfn{port-hits} +(UDP/TCP packets sent to a server port). This port need not be open, since knockd listens +at the link-layer level.") + (license license:gpl2+))) + +(define-public nng + (package + (name "nng") + (version "1.3.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nanomsg/nng.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0a4jg8alh2h0rw6fb4dqpvk4hgl2a7h76mq7g34fy89qh9sgg1a4")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list "-DNNG_ENABLE_COVERAGE=ON" + "-DNNG_ENABLE_TLS=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-failing-tests + (lambda _ + ;; These tests require network access. + (substitute* "tests/CMakeLists.txt" + (("add_nng_test1\\(httpclient 60 NNG_SUPP_HTTP\\)") "") + (("add_nng_test1\\(resolv 10 NNG_STATIC_LIB\\)") "") + (("add_nng_test\\(tls 60\\)") "")) + #t))))) + (native-inputs + `(("ksh" ,oksh))) + (inputs + `(("mbedtls" ,mbedtls-apache))) + (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 +compatibility with the original. It is a lightweight, broker-less library, +offering a simple API to solve common recurring messaging problems, such as +publish/subscribe, RPC-style request/reply, or service discovery.") + (home-page "https://nng.nanomsg.org/") + (license license:expat))) + +(define-public nanomsg + (package + (name "nanomsg") + (version "1.1.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/nanomsg/nanomsg.git") + (commit version))) + (file-name (git-file-name name version)) + (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))) + (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, +and easy to use. Implemented in C, it works on a wide range of operating +systems with no further dependencies.") + (home-page "https://nanomsg.org/") + (license (license:non-copyleft "file:///COPYING")))) + (define-public blueman (package (name "blueman") @@ -668,14 +1021,14 @@ receiving NDP messages.") (define-public ethtool (package (name "ethtool") - (version "5.7") + (version "5.8") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/network/" "ethtool/ethtool-" version ".tar.xz")) (sha256 (base32 - "0f9w0pqkvwn540rasmj6c8897g9gj2hmjnbkhpi9yf1s7jyvhkkj")))) + "0ikmz36bdfwxscsfcgjmyzg70hwr8i3wpdhcp1vmk3q4ip858frg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -916,14 +1269,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.2.5") + (version "3.2.6") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0h69m9maq6w5gik4gamv4kfqrr37hmi4kpwh225y1k36awm0b2dx")))) + (base32 "1wmlbrym6l5fkvic596yx74jz1pn4pfjihsx341fxv5w76zfxcgb")))) (build-system cmake-build-system) (arguments `(#:phases @@ -985,14 +1338,14 @@ network frames.") (define-public fping (package (name "fping") - (version "4.3") + (version "5.0") (source (origin (method url-fetch) (uri (string-append "https://fping.org/dist/fping-" version ".tar.gz")) (sha256 - (base32 "0b9ppwibc0dx2ns95m0z1b28939af1c8yvgjbhnr9f7p8bl0l14j")))) + (base32 "1f2prmii4fyl44cfykp40hp4jjhicrhddh9v3dfs11j6nsww0f7d")))) (build-system gnu-build-system) (home-page "https://fping.org/") (synopsis "Send ICMP ECHO_REQUEST packets to network hosts") @@ -1176,14 +1529,14 @@ TCP connection, TLS handshake and so on) in the terminal.") (define-public squid (package (name "squid") - (version "4.12") + (version "4.13") (source (origin (method url-fetch) (uri (string-append "http://www.squid-cache.org/Versions/v4/squid-" version ".tar.xz")) (sha256 - (base32 "05z34ysy2zn7as11vd365xxhh36bm1ysiwcbr0i0f0nwng406apl")))) + (base32 "1q1ywpic6s7dfjj3cwzcfgscc4zq0aih462gyas7j1z683ss14b8")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1779,7 +2132,7 @@ library remains flexible, portable, and easily embeddable.") (define-public sslh (package (name "sslh") - (version "1.21b") + (version "1.21c") (source (origin (method git-fetch) @@ -1788,7 +2141,7 @@ library remains flexible, portable, and easily embeddable.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1bws153l4x3vbwxshb92vqy3rnv8xfysmf7incp6hcmq43jsgjmr")))) + (base32 "19h32dn0076p3s7dn35qi5yp2xvnxw9sqphppmn72vyb8caxvw1z")))) (build-system gnu-build-system) (native-inputs `(;; Test dependencies. @@ -1848,14 +2201,14 @@ that block port 22.") (define-public iperf (package (name "iperf") - (version "3.7") + (version "3.9") (source (origin (method url-fetch) (uri (string-append "http://downloads.es.net/pub/iperf" "/iperf-" version ".tar.gz")) (sha256 (base32 - "033is7b5grfbiil98jxlz4ixp9shm44x6hy8flpsyz1i4h108inq")))) + "0f601avdmzpwsa3lbi0ppjhkrdipm5wifhhxy5czf99370k3mdi4")))) (build-system gnu-build-system) (synopsis "TCP, UDP and SCTP bandwidth measurement tool") (description @@ -2499,10 +2852,34 @@ networks using zeromq. It has these key characteristics: (home-page "https://github.com/zeromq/zyre") (license license:mpl2.0))) +(define-public libsocketcan + (package + (name "libsocketcan") + (version "0.0.11") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.pengutronix.de/cgit/tools/libsocketcan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17z2y2r9xkixhr9bxr50m77fh710afl30s7jdhbxrvf56vmal2jr")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "https://git.pengutronix.de/cgit/tools/libsocketcan") + (synopsis "SocketCAN user-space library") + (description "This library allows controlling basic functions in SocketCAN +from user-space. It requires a kernel built with SocketCAN support.") + (license license:lgpl2.1+))) + (define-public can-utils (package (name "can-utils") - (version "2018.02.0") + (version "2020.02.04") (source (origin (method git-fetch) (uri (git-reference @@ -2511,7 +2888,7 @@ networks using zeromq. It has these key characteristics: (file-name (git-file-name name version)) (sha256 (base32 - "0r0zkm67bdcmbfypjr7z041d4zp0xzb379dyl8cvhmflh12fd2jb")))) + "1a3j1mmnb7pvgc8r7zzp6sdp7903in2hna6bmpraxln7cwlzn4l6")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests exist. @@ -2602,14 +2979,14 @@ Features: (define-public net-snmp (package (name "net-snmp") - (version "5.8") + (version "5.9") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/net-snmp/net-snmp/" version "/net-snmp-" version ".tar.gz")) (sha256 (base32 - "1pvajzj9gmj56dmwix0ywmkmy2pglh6nny646hkm7ghfhh03bz5j")) + "0wb0vyafpspw3mcifkjjmf17r1r80kjvslycscb8nvaxz1k3lc04")) (modules '((guix build utils))) (snippet '(begin @@ -2656,12 +3033,15 @@ Features: " -NET"))) #t))))) (inputs - `(("perl" ,perl) + `(("libnl" ,libnl) + ("ncurses" ,ncurses) ; for the ‘apps’ ("openssl" ,openssl) - ("libnl" ,libnl))) - ;; These inputs are only needed for tests. + ("perl" ,perl))) (native-inputs - `(("net-tools" ,net-tools) + `(("pkg-config" ,pkg-config) + + ;; For tests only. + ("net-tools" ,net-tools) ("coreutils" ,coreutils) ("grep" ,grep))) (home-page "http://www.net-snmp.org/") @@ -2926,20 +3306,20 @@ and targeted primarily for asynchronous processing of HTTP-requests.") ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug? (build-system cmake-build-system) (inputs - `(("gnutls" ,gnutls) + `(("argon2" ,argon2) ("nettle" ,nettle) ("readline" ,readline) ("jsoncpp" ,jsoncpp) - ("openssl" ,openssl) + ("openssl" ,openssl) ;required for the DHT proxy ("fmt" ,fmt))) (propagated-inputs - `(("argon2" ,argon2) ; TODO: Needed for the pkg-config .pc file to work? + `(("gnutls" ,gnutls) ;included in opendht/crypto.h ("msgpack" ,msgpack))) ;included in several installed headers (native-inputs `(("autoconf" ,autoconf) - ("pkg-config" ,pkg-config) - ("restinio" ,restinio) ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("restinio" ,restinio) ;headers only library ("libtool" ,libtool) ("cppunit" ,cppunit))) (arguments |