(define-module (sigils packages xmpp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) ;; gajim #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (gnu packages gettext) #:use-module (gnu packages avahi) #:use-module (gnu packages glib) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gnome) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages xorg) #:use-module (gnu packages databases) #:use-module (gnu packages messaging) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages protobuf) ;; Psimedia #:use-module (guix build-system qt) #:use-module (gnu packages glib) #:use-module (gnu packages pkg-config)) ;; (define-public chatty-gnome ;; (package ;; (inherit chatty) ;; (name "chatty") ;; (version "0.8.5") ;; (source ;; (origin ;; (method url-fetch) ;; (uri (string-append "https://gitlab.gnome.org/World/Chatty/-/archive/v" ;; version "/Chatty-v" version ".tar.gz")) ;; (sha256 ;; (base32 "1yc8rg07223p4icl99p4kg0zrwc66pw1zlgmmvr0zvxc49qhyyly")))) ;; (inputs (modify-inputs (package-inputs chatty) ;; (append cmatrix))))) ;;; Psimedia (define-public psimedia (let ((commit "478567ee3312b163eebd821b2081daa3c6158c14") (revision "1")) (package (name "psimedia") (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/psi-im/psimedia") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "0pskjwdd8862hfncivk1hv42y4mscr5ycj2jiqaxpwi8w4106p4s")))) (build-system qt-build-system) (native-inputs (list pkgconf)) (inputs (list glib gstreamer gst-plugins-base gst-plugins-good gst-plugins-good-qt)) (arguments '(#:configure-flags '("-DUSE_PSI=OFF" "-DBUILD_DEMO=OFF") #:tests? #f)) (home-page "https://github.com/psi-im/psimedia") (synopsis "Abstraction layer over GStreamer") (description "PsiMedia is a thick abstraction layer for providing audio and video RTP services to Psi-like IM clients. The implementation is based on GStreamer.") (license license:lgpl2.1)))) ;;; Gajim (define-public python-protobuf (package (name "python-protobuf") (version "5.27.2") (source (origin (method url-fetch) (uri (pypi-uri "protobuf" version)) (sha256 (base32 "0517bvr76daiwnz3jb099mckmklh5kzjg0pjfmh8bbxr4vrdxv7k")))) (build-system python-build-system) (inputs (list protobuf)) (arguments ;; There are no tests '(#:tests? #f)) (home-page "https://github.com/google/protobuf") (synopsis "Protocol buffers is a data interchange format") (description "Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structured data.") (license license:bsd-3))) (define-public python-omemo-dr (package (name "python-omemo-dr") (version "1.0.1") (source (origin (method url-fetch) (uri (pypi-uri "omemo-dr" version)) (sha256 (base32 "0qfk0b153cmc85icnlpfv8mjaqd2spa7hlipvndr8wqx4dvqr2ia")))) (build-system python-build-system) (home-page "https://pypi.org/project/omemo-dr/") (synopsis "OMEMO Double Ratchet in Python") (description "Initial codebase was forked from https://github.com/tgalal/python-axolotl but has since been heavily rewritten.") (license license:gpl3) (native-inputs (list python-protobuf python-cryptography)))) (define-public python-nbxmpp (package (name "python-nbxmpp") (version "5.0.1") (source (origin (method url-fetch) (uri (pypi-uri "nbxmpp" version)) (sha256 (base32 "06876pqs44apqflgv1ijqbd446j5dai1alq833miy900kr8wg9ba")))) (build-system pyproject-build-system) (arguments (list #:phases #~(modify-phases %standard-phases ;; XXX: This probably should be an option for pyproject-build-system (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? (invoke "python" "-m" "unittest" "-v"))))))) (native-inputs (list `(,glib "bin"))) (inputs (list glib glib-networking libsoup-minimal python-gssapi python-idna python-precis-i18n python-pygobject)) (synopsis "Non-blocking XMPP Module") (description "Python-nbxmpp is a Python library that provides a way for Python applications to use the XMPP network. This library was initially a fork of xmpppy.") (home-page "https://dev.gajim.org/gajim/python-nbxmpp") (license license:gpl3+))) (define-public gajim-2 (package (inherit gajim) (version "1.9.3") (source (origin (method url-fetch) (uri (string-append "https://gajim.org/downloads/" (version-major+minor version) "/gajim-" version ".tar.gz")) (sha256 (base32 "10rz8pd43a9308kj6csixsmvdc6ccnqkw83adc5cggh1798b45ag")))) (inputs (modify-inputs (package-inputs gajim) (replace "python-nbxmpp" python-nbxmpp) (append python-cryptography) (append python-emoji) (append python-omemo-dr) (append python-protobuf) (append python-qrcode) (append python-sqlalchemy-2)))))