summaryrefslogtreecommitdiff
path: root/gnu/packages/messaging.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/messaging.scm')
-rw-r--r--gnu/packages/messaging.scm136
1 files changed, 82 insertions, 54 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index e93c0a4c88..b3205c7ae2 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -7,12 +7,13 @@
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system perl)
#:use-module (guix build-system cmake)
@@ -200,31 +202,17 @@ identi.ca and status.net).")
(define-public hexchat
(package
(name "hexchat")
- (version "2.12.4")
+ (version "2.14.1")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.hexchat.net/hexchat/hexchat-"
version ".tar.xz"))
(sha256
(base32
- "0ficrx56knz5y297qb0x5y02339yvyv734z7kpcx1ixvb0qr2dgs"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Delete dangling symlinks to a non-existent ‘/usr’.
- (with-directory-excursion "m4"
- (for-each (lambda (f) (delete-file f))
- '("intltool.m4" "libtool.m4" "lt~obsolete.m4"
- "ltoptions.m4" "ltsugar.m4" "ltversion.m4")))
- (delete-file-recursively "build-aux")
- (delete-file "po/Makefile.in.in")
- #t))))
- (build-system gnu-build-system)
- (native-inputs `(("autoconf" ,autoconf)
- ("autoconf-archive" ,autoconf-archive)
- ("automake" ,automake)
- ("intltool" ,intltool)
- ("libtool" ,libtool)
+ "18h3l34zmazjlfx3irg7k7swppa62ad9ffbl0j3ry8p2xfyf8cmh"))))
+ (build-system meson-build-system)
+ (native-inputs `(("gettext" ,gettext-minimal)
+ ("perl" ,perl)
("pkg-config" ,pkg-config)))
(inputs `(("dbus-glib" ,dbus-glib)
("dbus" ,dbus)
@@ -233,6 +221,7 @@ identi.ca and status.net).")
("gtk" ,gtk+-2)
("libcanberra" ,libcanberra)
("libnotify" ,libnotify)
+ ("libproxy" ,libproxy)
("openssl" ,openssl)
;; Bindings for add-on scripts.
@@ -240,16 +229,17 @@ identi.ca and status.net).")
("perl-xml-parser" ,perl-xml-parser)
("python-2" ,python-2)))
(arguments
- `(#:make-flags '("UPDATE_ICON_CACHE=true") ; Disable icon theme generation
- #:phases
+ `(#:phases
(modify-phases %standard-phases
- ;; Release 2.12.4 wasn't properly bootstrapped. Later ones might be!
- (add-before 'boostrap 'copy-intltool-makefile
- (lambda* (#:key inputs #:allow-other-keys)
- ;; This file is still required for autoreconf.
- (copy-file (string-append (assoc-ref inputs "intltool")
- "/share/intltool/Makefile.in.in")
- "po/Makefile.in.in")
+ (add-after 'unpack 'skip-desktop-database-updates
+ (lambda _
+ ;; The build scripts update icon and desktop file databases when
+ ;; DESTDIR is not set. We can't update these databases from
+ ;; within the build chroot, but we also don't set DESTDIR. So, we
+ ;; just skip this code.
+ (substitute* "meson_post_install.py"
+ (("if 'DESTDIR' not in os.environ:")
+ "if False:"))
#t)))))
(synopsis "Graphical IRC Client")
(description
@@ -495,14 +485,14 @@ simultaneously and therefore appear under the same nickname on IRC.")
(define-public python-nbxmpp
(package
(name "python-nbxmpp")
- (version "0.6.1")
+ (version "0.6.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nbxmpp" version))
(sha256
(base32
- "0qvkiscy42nhzhccszi049ws8cnhpxgc13g8naq1rsa5x9zy163c"))))
+ "12rfmp613alh3mi8f94008sx7x1a8c1izs3icrvw7bf4gnf2pi31"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; no tests
@@ -520,7 +510,7 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
(define-public gajim
(package
(name "gajim")
- (version "0.16.9")
+ (version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://gajim.org/downloads/"
@@ -528,36 +518,74 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
"/gajim-" version ".tar.bz2"))
(sha256
(base32
- "0v08zdvpqaig0wxpxn1l8rsj3wr3fqvnagn8cnvch17vfqv9gcr1"))))
- (build-system gnu-build-system)
+ "16ynws10vhx6rhjjjmzw6iyb3hc19823xhx4gsb14hrc7l8vzd1c"))))
+ (build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure all Python scripts run with the correct PYTHONPATH.
- (let ((out (assoc-ref outputs "out"))
- (path (getenv "PYTHONPATH")))
- (for-each (lambda (name)
- (let ((file (string-append out "/bin/" name)))
- ;; Wrapping destroys identification of intended
- ;; application, so we need to override "APP".
- (substitute* file
- (("APP=`basename \\$0`")
- (string-append "APP=" name)))
- (wrap-program file
- `("PYTHONPATH" ":" prefix (,path)))))
- '("gajim" "gajim-remote" "gajim-history-manager")))
+ (let ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (name)
+ (let ((file (string-append out "/bin/" name))
+ (gi-typelib-path (getenv "GI_TYPELIB_PATH")))
+ (wrap-program file
+ `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
+ '("gajim" "gajim-remote" "gajim-history-manager")))
+ #t))
+ (add-before 'check 'remove-test-resolver
+ ;; This test requires network access.
+ (lambda _
+ (substitute* "test/runtests.py"
+ (("'integration.test_resolver',") ""))
+ #t))
+ (add-before 'check 'start-xserver
+ ;; Tests require a running X server.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((xorg-server (assoc-ref inputs "xorg-server"))
+ (display ":1"))
+ (setenv "DISPLAY" display)
+ (zero? (system (string-append xorg-server "/bin/Xvfb "
+ display " &"))))))
+ (add-after 'install 'install-icons
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (adwaita (string-append
+ (assoc-ref inputs "adwaita-icon-theme")
+ "/share/icons/Adwaita"))
+ (hicolor (string-append
+ (assoc-ref inputs "hicolor-icon-theme")
+ "/share/icons/hicolor"))
+ (icons (string-append
+ out "/lib/python"
+ ,(version-major+minor (package-version python))
+ "/site-packages/gajim/data/icons")))
+ (with-directory-excursion icons
+ (symlink adwaita "Adwaita")
+ (copy-recursively hicolor "hicolor")))
#t)))))
(native-inputs
- `(("intltool" ,intltool)))
+ `(("intltool" ,intltool)
+ ("xorg-server" ,xorg-server)))
(inputs
- `(("python2-axolotl" ,python2-axolotl)
- ("python2-nbxmpp" ,python2-nbxmpp)
- ("python2-pyopenssl" ,python2-pyopenssl)
- ("python2-gnupg" ,python2-gnupg)
- ("python2-pygtk" ,python2-pygtk)
- ("python" ,python-2)))
+ `(("adwaita-icon-theme" ,adwaita-icon-theme)
+ ("gnome-keyring" ,gnome-keyring)
+ ("gtk+" ,gtk+)
+ ("gtkspell3" ,gtkspell3)
+ ("hicolor-icon-theme" ,hicolor-icon-theme)
+ ("libsecret" ,libsecret)
+ ("python-axolotl" ,python-axolotl)
+ ("python-dbus" ,python-dbus)
+ ("python-docutils" ,python-docutils)
+ ("python-gnupg" ,python-gnupg)
+ ("python-nbxmpp" ,python-nbxmpp)
+ ("python-pillow" ,python-pillow)
+ ("python-pyasn1" ,python-pyasn1)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyopenssl" ,python-pyopenssl)
+ ("python-qrcode" ,python-qrcode)))
(home-page "https://gajim.org/")
(synopsis "Jabber (XMPP) client")
(description "Gajim is a feature-rich and easy to use Jabber/XMPP client.