;;; GNU Guix --- Functional package management for GNU ;;; ;;; Copyright © 2020 Raghav Gururajan ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages gajim) #:use-module (gnu packages) #:use-module (gnu packages avahi) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages xorg) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils)) (define-public python-nbxmpp-next (package (name "python-nbxmpp-next") (version "1.0.2") (source (origin (method url-fetch) (uri (pypi-uri "nbxmpp" version)) (sha256 (base32 "0vw5drr077w9ks4crnw6pwa4735ycyjdcm54knc3w4in4x5027wr")))) (build-system python-build-system) (native-inputs `(("glib:bin" ,glib "bin") ("python-setuptools" ,python-setuptools))) (inputs `(("glib" ,glib) ("glib-networking" ,glib-networking) ("libsoup" ,libsoup) ("python-idna" ,python-idna) ("python-precis-i18n" ,python-precis-i18n) ("python-pygobject" ,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-next (package (name "gajim-next") (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "https://gajim.org/downloads/" (version-major+minor version) "/gajim-" version ".tar.gz")) (sha256 (base32 "1gfcp3b5nq43xxz5my8vfhfxnnli726j3hzcgwh9fzrzzd9ic3gx")))) (build-system python-build-system) (arguments `(#:imported-modules (,@%python-build-system-modules (guix build glib-or-gtk-build-system)) #:modules ((guix build python-build-system) ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) (guix build utils)) #:phases (modify-phases %standard-phases (replace 'check (lambda _ ;; Tests require a running X server. (system "Xvfb :1 +extension GLX &") (setenv "DISPLAY" ":1") ;; For missing '/etc/machine-id'. (setenv "DBUS_FATAL_WARNINGS" "0") (invoke "dbus-launch" "python" "./setup.py" "test") #t)) (add-after 'install 'glib-or-gtk-compile-schemas (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) (add-after 'install 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("gtk+:bin" ,gtk+ "bin") ("python-distutils-extra" ,python-distutils-extra) ("python-setuptools" ,python-setuptools) ("xorg-server" ,xorg-server-for-tests))) (propagated-inputs `(("avahi" ,avahi) ("dbus" ,dbus) ("farstream" ,farstream) ("geoclue" ,geoclue) ("glib" ,glib) ("glib-networking" ,glib-networking) ("gnome-keyring" ,gnome-keyring) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gsound",gsound) ("gspell" ,gspell) ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) ("gtk+" ,gtk+) ;; ("gupnp-igd" ,gupnp-igd) ("libsoup" ,libsoup) ;; ("libxss" ,libxss) ("network-manager" ,network-manager) ("python-css-parser" ,python-css-parser) ("python-keyring" ,python-keyring) ("python-nbxmpp" ,python-nbxmpp-next) ("python-packaging" ,python-packaging) ("python-precis-i18n" ,python-precis-i18n) ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject) ("python-pyopenssl" ,python-pyopenssl))) (synopsis "A fully-featured XMPP client") (description "Gajim aims to be an easy to use and fully-featured XMPP chat client.") (home-page "https://gajim.org/") (license license:gpl3+))) (define-public gajim-omemo-next (package (name "gajim-omemo-next") (version "2.7.9") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://ftp.gajim.org/plugins_releases/omemo_" version ".zip")) (sha256 (base32 "19si2v5yrxpn2m0f684npsg0iiyl2h3r5hbxyrxv4k3acmfmhb3z")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) (let* ((out (assoc-ref %outputs "out")) (share (in-vicinity out "share/gajim/plugins")) (source (assoc-ref %build-inputs "source"))) (mkdir-p share) (copy-recursively source share) #t)))) (propagated-inputs `(("python-axolotl" ,python-axolotl) ("python-axolotl-curve25519" ,python-axolotl-curve25519) ("python-cryptography" ,python-cryptography) ("python-qrcode" ,python-qrcode))) (synopsis "Gajim OMEMO Plugin") (description "Gajim-OMEMO is a plugin that adds support for the OMEMO Encryption to Gajim.") (home-page "https://dev.gajim.org/gajim/gajim-plugins/-/wikis/OmemoGajimPlugin") (license license:gpl3+))) ;;; End of gajim.scm