diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-03-21 23:39:43 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-03-21 23:39:43 -0400 |
commit | a9429c8f2207841c649438187d6e19046d323a16 (patch) | |
tree | a06e4b8a87b6a42742cf6750276746a10b6c2139 /gnu/packages/messaging.scm | |
parent | f0136b36ae8c1e9c174043bd50e0e24413c0f345 (diff) | |
parent | 49b350fafc2c3ea1db66461b73d4e304cd13ec92 (diff) | |
download | guix-a9429c8f2207841c649438187d6e19046d323a16.tar.gz |
Merge branch 'staging' into core-updates.
Diffstat (limited to 'gnu/packages/messaging.scm')
-rw-r--r-- | gnu/packages/messaging.scm | 308 |
1 files changed, 219 insertions, 89 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 768642f119..f40c3a7e2c 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -32,6 +32,8 @@ ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org> +;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -121,6 +123,7 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages tcl) + #:use-module (gnu packages telephony) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) @@ -695,8 +698,15 @@ identi.ca and status.net).") (package/inherit bitlbee (name "bitlbee-purple") (synopsis "IRC to instant messaging gateway (using Pidgin's libpurple)") - (inputs `(("purple" ,pidgin) - ,@(package-inputs bitlbee))) + (inputs (modify-inputs (package-inputs bitlbee) + (prepend pidgin))) + (native-search-paths + (list (search-path-specification + (variable "PURPLE_PLUGIN_PATH") + ;; XXX: Should be (version-major (package-version pidgin)) but + ;; can't due to circular references. + (files (list (string-append "lib/purple-2") + "lib/pidgin"))))) (arguments (substitute-keyword-arguments (package-arguments bitlbee) ((#:phases phases '%standard-phases) @@ -713,44 +723,55 @@ identi.ca and status.net).") #f))))) (define-public bitlbee-discord - (package - (name "bitlbee-discord") - (version "0.4.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/sm00th/bitlbee-discord") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "00qgdvrp7hv02n0ns685igp810zxmv3adsama8601122al6x041n")))) - (build-system gnu-build-system) - (arguments - `(#:configure-flags - (let ((out (assoc-ref %outputs "out"))) - (list (string-append "--with-bdatadir=" out "/share/bitlbee/") - (string-append "--with-plugindir=" out "/lib/bitlbee/"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-autogen - (lambda _ - (let ((sh (which "sh"))) - (substitute* "autogen.sh" (("/bin/sh") sh)) - (setenv "CONFIG_SHELL" sh))))))) - (inputs (list glib)) - (native-inputs (list pkg-config - autoconf - automake - texinfo - libtool - bitlbee ; needs bitlbee headers - bash)) - (synopsis "Discord plugin for Bitlbee") - (description "Bitlbee-discord is a plugin for Bitlbee which provides + ;; Version 0.4.3 of bitlbee-discord was prepared to work for + ;; glib@2.68. However, version 2.69 of glib introduced a breaking change + ;; causing bitlbee-discord to throw: + ;; + ;; discord - Login error: Failed to switch to websocket mode + ;; + ;; This makes the plugin unable to connect and therefore unusable: + ;; https://github.com/sm00th/bitlbee-discord/issues/226 + ;; The specified commit fixes incompatibility with glib@2.69 and newer. + (let ((commit "607f9887ca85f246e970778e3d40aa5c346365a7") + (revision "1")) + (package + (name "bitlbee-discord") + (version (git-version "0.4.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sm00th/bitlbee-discord") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jkwhx2walx2ay0vc9x13q0j1qq4r5x30ss03a3j7ks28xvsnxc7")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "--with-bdatadir=" out "/share/bitlbee/") + (string-append "--with-plugindir=" out "/lib/bitlbee/"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-autogen + (lambda _ + (let ((sh (which "sh"))) + (substitute* "autogen.sh" (("/bin/sh") sh)) + (setenv "CONFIG_SHELL" sh))))))) + (inputs (list glib)) + (native-inputs (list pkg-config + autoconf + automake + texinfo + libtool + bitlbee ; needs bitlbee headers + bash)) + (synopsis "Discord plugin for Bitlbee") + (description "Bitlbee-discord is a plugin for Bitlbee which provides access to servers running the Discord protocol.") - (home-page "https://github.com/sm00th/bitlbee-discord/") - (license license:gpl2+))) + (home-page "https://github.com/sm00th/bitlbee-discord/") + (license license:gpl2+)))) (define-public purple-mattermost ;; The latest release (1.2) only supports Mattermost's /api/v3. Choose a @@ -801,14 +822,14 @@ used by Pidgin and Bitlbee, among others, to access (define-public hexchat (package (name "hexchat") - (version "2.16.0") + (version "2.16.1") (source (origin (method url-fetch) (uri (string-append "https://dl.hexchat.net/hexchat/hexchat-" version ".tar.xz")) (sha256 - (base32 "0dnwhb2gi08i5v79vq0y2izs89wyk3by96jv99kgkidjic3k2bj1")))) + (base32 "1iy4ln6yfgy3xysrfpjxw8fn38i3qx8jsn2mk2prshfzf7d9gr57")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ;need glib-genmarshal @@ -1351,7 +1372,7 @@ Encryption to Gajim.") (define-public dino (package (name "dino") - (version "0.2.2") + (version "0.3.0") (source (origin (method url-fetch) @@ -1359,7 +1380,7 @@ Encryption to Gajim.") (string-append "https://github.com/dino/dino/releases/download/v" version "/dino-" version ".tar.gz")) (sha256 - (base32 "0r5qn9k88d5rh8zzj9gs3bk3dsm795r0pgxs3kawyrsrqr8ny1ry")))) + (base32 "07nw275xfamczzvzps8hsnpbhzvr4qc726fx92w8ncmdag7wlw1r")))) (build-system cmake-build-system) (outputs '("out" "debug")) (arguments @@ -1373,14 +1394,14 @@ Encryption to Gajim.") (guix build glib-or-gtk-build-system)) #:phases (modify-phases %standard-phases - ;; To be enabled in v0.3.0, for A/V support. - ;;(add-after 'install 'wrap - ;;(lambda* (#:key outputs #:allow-other-keys) - ;;(let* ((out (assoc-ref outputs "out")) - ;;(dino (string-append out "/bin/dino")) - ;;(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) - ;;(wrap-program dino - ;;`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))))) + ;; For A/V support. + (add-after 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dino (string-append out "/bin/dino")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program dino + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))))) (add-after 'install 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (native-inputs @@ -1391,7 +1412,6 @@ Encryption to Gajim.") ("pkg-config" ,pkg-config) ("vala" ,vala))) (inputs - ;; NOTE: Commented-out lines are to be enabled in v0.3.0. `(("atk" ,atk) ("cairo" ,cairo) ("librsvg" ,librsvg) @@ -1400,22 +1420,22 @@ Encryption to Gajim.") ("gpgme" ,gpgme) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gspell" ,gspell) ;for spell-check support - ;;("gstreamer" ,gstreamer) ;for A/V support - ;;("gst-plugins-base" ,gst-plugins-base) - ;;("gst-plugins-good" ,gst-plugins-good) + ("gstreamer" ,gstreamer) ;for A/V support + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) ("gtk+" ,gtk+) ("icu4c" ,icu4c) ;for emoji support - ;;("libcanberra" ,libcanberra) ;for sound-notification support + ("libcanberra" ,libcanberra) ;for sound-notification support ("libgcrypt" ,libgcrypt) ("libgee" ,libgee) ("libnice" ,libnice) ("libsignal-protocol-c" ,libsignal-protocol-c) ("libsoup" ,libsoup-minimal-2) - ;;("libsrtp" ,libsrtp) ;for calls support + ("libsrtp" ,libsrtp) ;for calls support ("pango" ,pango) ("qrencode" ,qrencode) - ("sqlite" ,sqlite))) - ;;("webrtc-audio-processing" ,webrtc-audio-processing))) ;for A/V support + ("sqlite" ,sqlite) + ("webrtc-audio-processing" ,webrtc-audio-processing))) ;for A/V support (synopsis "Graphical Jabber/XMPP Client using GTK+/Vala") (description "Dino is a chat client for the desktop. It focuses on providing a minimal yet reliable Jabber/XMPP experience and having encryption enabled by @@ -2289,7 +2309,7 @@ QMatrixClient project.") (define-public mtxclient (package (name "mtxclient") - (version "0.6.1") + (version "0.7.0") (source (origin (method git-fetch) @@ -2298,7 +2318,7 @@ QMatrixClient project.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1a3ki45rf1fm7y4b74li76aqd4qc4y5ga5r163s0cwcpj9mp8c45")))) + (base32 "0kgz9i3xgyk1a82sv48a1m8gdxg0cl5pgd5imgwy519vvjlkwv48")))) (arguments `(#:configure-flags (list @@ -2334,7 +2354,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") (define-public nheko (package (name "nheko") - (version "0.9.0") + (version "0.9.2") (source (origin (method git-fetch) @@ -2343,7 +2363,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1akhnngxkxbjwjkg5ispl6j5s2ylbcj92r3zxqqry4gbfxbjpx8k")) + (base32 "0q9yzzl7mvlixm1c2f55lksxgh9q11zb8k80mkwnhmmli8wbb05f")) (modules '((guix build utils))) (snippet '(begin @@ -2417,7 +2437,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") xcb-util-wm zlib)) (native-inputs - (list doxygen graphviz pkg-config qttools)) + (list asciidoc doxygen graphviz pkg-config qttools)) (home-page "https://github.com/Nheko-Reborn/nheko") (synopsis "Desktop client for Matrix using Qt and C++14") (description "@code{Nheko} want to provide a native desktop app for the @@ -2612,8 +2632,7 @@ replacement.") (file-name (git-file-name name version)))) (build-system cmake-build-system) (arguments - `(#:tests? #t - #:configure-flags + `(#:configure-flags (list "-DCMAKE_BUILD_TYPE=Release" "-DTD_ENABLE_LTO=OFF") ; FIXME: Get LTO to work. #:phases @@ -2757,7 +2776,7 @@ validating international phone numbers.") (define-public chatty (package (name "chatty") - (version "0.1.17") + (version "0.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -2766,7 +2785,7 @@ validating international phone numbers.") (file-name (git-file-name name version)) (sha256 (base32 - "0ba1rw8a3vif9k3570hxjfm25vqys3vk3f6g8z5irklwq4bi6lmn")))) + "12k1a5xrwd6zk4x0m53hbzggk695z3bpbzy1wcikzy0jvch7h13d")))) (build-system meson-build-system) (arguments '(#:phases @@ -2774,19 +2793,21 @@ validating international phone numbers.") (add-after 'unpack 'skip-updating-desktop-database (lambda _ (substitute* "meson.build" - (("meson.add_install_script.*") "")) - #t))))) + (("meson.add_install_script.*") ""))))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("glib:bin" ,glib "bin") - ("pkg-config" ,pkg-config))) + (list gettext-minimal `(,glib "bin") pkg-config protobuf)) (inputs (list feedbackd folks gsettings-desktop-schemas + gspell + json-glib libgcrypt libgee - libhandy-0.0 + libhandy + libolm + libphonenumber + modem-manager pidgin purple-mm-sms sqlite)) @@ -3094,23 +3115,52 @@ designed for experienced users.") (define-public matterbridge (package (name "matterbridge") - (version "1.22.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/42wim/matterbridge") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07rgdc4v043fhzsalmlhickqizk6xjlpjkzn6l5v9ryp5gmv580z")))) - (build-system go-build-system) + (version "1.24.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/42wim/matterbridge") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cd70x9685162c0imdici1ipl9lziq700wzyb5bsg610wfak3ms7")))) + ;; Using the go-build-system results in the same error message + ;; than in the bug 1551[1]. So we fix it by running go build + ;; manually in the git repository as-is as this is the solution + ;; given to that bug by the matterbridge developers. + ;; [1]https://github.com/42wim/matterbridge/issues/1551 + (build-system gnu-build-system) (arguments - `(#:import-path "github.com/42wim/matterbridge" - #:unpack-path "github.com/42wim/matterbridge")) + `(#:phases (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (setenv "GOCACHE" + (string-append (getcwd) "/go-build")) + (setenv "GOBIN" + (string-append (assoc-ref outputs "out") "/bin")) + (invoke "go" "build" "-v" "-x"))) + (replace 'check + (lambda* (#:key outputs tests? #:allow-other-keys) + (when tests? + (setenv "GOCACHE" + (string-append (getcwd) "/go-build")) + (setenv "GOBIN" + (string-append (assoc-ref outputs "out") + "/bin")) + (invoke "go" "test" "-v" "-x")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (setenv "GOCACHE" + (string-append (getcwd) "/go-build")) + (setenv "GOBIN" + (string-append (assoc-ref outputs "out") "/bin")) + (invoke "go" "install" "-v" "-x")))))) + (native-inputs (list go)) (synopsis "Bridge together various messaging networks and protocols") - (description "Relays messages between different channels from various + (description + "Relays messages between different channels from various messaging networks and protocols. So far it supports mattermost, IRC, gitter, xmpp, slack, discord, telegram, rocketchat, twitch, ssh-chat, zulip, whatsapp, keybase, matrix, microsoft teams, nextcloud, mumble, vk and more with REST @@ -3118,6 +3168,41 @@ API. Mattermost is not required.") (home-page "https://github.com/42wim/matterbridge") (license license:asl2.0))) +(define-public jj + (package + (name "jj") + (version "2") + (source (origin + (method url-fetch) + (uri (string-append "https://23.fi/jj/jj-" version ".tar.gz")) + (sha256 + (base32 + "02xz2ci93bccvil5iff804mh3zr5iqkf6zx5mxgraz17xg0azlgh")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;There are no tests. + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (install-file "jj" bin))))))) + (native-inputs (list pkg-config)) + (inputs (list glib loudmouth)) + (home-page "https://23.fi/jj/") + (synopsis "FIFO based Jabber client") + (description + "jj is a simple file-system-based Jabber client, inspired by ii IRC +client. Interaction with jj is done by writing and reading files from the +server directory which jj creates. It is perfect for bots and +notifications.") + (license license:expat))) + (define-public pounce (package (name "pounce") @@ -3263,4 +3348,49 @@ more)! It connects via the Slack API, and maintains a persistent websocket for notification of events.") (license license:expat))) +(define-public python-librecaptcha + (package + (name "python-librecaptcha") + (version "0.7.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/taylordotfish/librecaptcha") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0r35ws6vdf31j01kpacvpjplddm254r0cgy0npmhgnfxd5kpjf3s")))) + (build-system python-build-system) + (propagated-inputs + (list python-pillow python-requests python-esprima python-pygobject gobject-introspection gtk+)) + (synopsis "Show CAPTCHA without running proprietary code.") + (description "This package shows CAPTCHA without running proprietary code.") + (home-page "https://github.com/taylordotfish/librecaptcha") + (license license:gpl3+))) + +(define-public python-harmony + (package + (name "python-harmony") + (version "0.7.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/taylordotfish/harmony.git") + (commit version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "1bm9xcnzpnpj6rlhbrnl2abwclzl7ivgh1vb5644y9mnhcs489js")))) + (build-system python-build-system) + (native-inputs + (list python-tox)) + (inputs + (list python-librecaptcha python-keyring python-requests)) + (synopsis "Discord account management") + (description "This package provides account management tools for +Discord.") + (home-page "https://github.com/taylordotfish/harmony") + (license license:gpl3+))) + ;;; messaging.scm ends here |