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.scm117
1 files changed, 101 insertions, 16 deletions
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 95c265b987..0c88059dca 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -5,9 +5,9 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@libertad.pw>
+;;; Copyright © 2016, 2017 <contact.ng0@cryptolab.net>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,8 +37,10 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages aidc)
+ #:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
+ #:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cyrus-sasl)
@@ -535,6 +537,14 @@ end-to-end encryption support; XML console.")
(substitute* "configure"
(("exit 1") ""))
#t))
+ (add-after 'unpack 'fix-makefile
+ (lambda _
+ (substitute* "Makefile"
+ ;; prosodyctl needs to read the configuration file.
+ (("^INSTALLEDCONFIG =.*") "INSTALLEDCONFIG = /etc/prosody\n")
+ ;; prosodyctl needs a place to put auto-generated certificates.
+ (("^INSTALLEDDATA =.*") "INSTALLEDDATA = /var/lib/prosody\n"))
+ #t))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure all executables in "bin" find the required Lua
@@ -546,22 +556,30 @@ end-to-end encryption support; XML console.")
(if (string-prefix? "lua" label)
directory #f)))
inputs)))
- (path (string-join
- (map (lambda (path)
- (string-append path "/share/lua/5.1/?.lua;"
- path "/share/lua/5.1/?/?.lua"))
- (cons out deps))
- ";"))
- (cpath (string-join
- (map (lambda (path)
- (string-append path "/lib/lua/5.1/?.so;"
- path "/lib/lua/5.1/?/?.so"))
- (cons out deps))
- ";")))
+ (lua-path (string-join
+ (map (lambda (path)
+ (string-append
+ path "/share/lua/5.1/?.lua;"
+ path "/share/lua/5.1/?/?.lua"))
+ (cons out deps))
+ ";"))
+ (lua-cpath (string-join
+ (map (lambda (path)
+ (string-append
+ path "/lib/lua/5.1/?.so;"
+ path "/lib/lua/5.1/?/?.so"))
+ (cons out deps))
+ ";"))
+ (openssl (assoc-ref inputs "openssl"))
+ (coreutils (assoc-ref inputs "coreutils"))
+ (path (map (lambda (dir)
+ (string-append dir "/bin"))
+ (list openssl coreutils))))
(for-each (lambda (file)
(wrap-program file
- `("LUA_PATH" ";" = (,path))
- `("LUA_CPATH" ";" = (,cpath))))
+ `("LUA_PATH" ";" = (,lua-path))
+ `("LUA_CPATH" ";" = (,lua-cpath))
+ `("PATH" ":" prefix ,path)))
(find-files bin ".*"))
#t))))))
(inputs
@@ -1103,4 +1121,71 @@ Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and
many bug fixes.")
(license license:gpl2))))
+(define-public loudmouth
+ (package
+ (name "loudmouth")
+ (version "1.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://mcabber.com/files/loudmouth/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0b6kd5gpndl9nzis3n6hcl0ldz74bnbiypqgqa1vgb0vrcar8cjl"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("glib" ,glib)
+ ("gnutls" ,gnutls)
+ ("libidn" ,libidn)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("check" ,check)
+ ("glib" ,glib "bin") ; gtester
+ ("gtk-doc" ,gtk-doc)))
+ (home-page "https://mcabber.com/")
+ (description
+ "Loudmouth is a lightweight and easy-to-use C library for programming
+with the XMPP (formerly known as Jabber) protocol. It is designed to be
+easy to get started with and yet extensible to let you do anything the XMPP
+protocol allows.")
+ (synopsis "Asynchronous XMPP library")
+ ;; The files have LGPL2.0+ headers, but COPYING specifies LGPL2.1.
+ (license license:lgpl2.0+)))
+
+(define-public mcabber
+ (package
+ (name "mcabber")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://mcabber.com/files/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "02nfn5r7cjpnacym95l6bvczii232v3x2gi79gfa9syc7w0brdk3"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags (list "--enable-otr"
+ "--enable-aspell")))
+ (inputs
+ `(("gpgme" ,gpgme)
+ ("libotr" ,libotr)
+ ("aspell" ,aspell)
+ ("libidn" ,libidn)
+ ("glib" ,glib)
+ ("ncurses" ,ncurses)
+ ("loudmouth" ,loudmouth)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://mcabber.com")
+ (description
+ "Mcabber is a small XMPP (Jabber) console client, which includes features
+such as SASL and TLS support, @dfn{Multi-User Chat} (MUC) support, logging,
+command-completion, OpenPGP encryption, @dfn{Off-the-Record Messaging} (OTR)
+support, and more.")
+ (synopsis "Small XMPP console client")
+ (license license:gpl2+)))
+
;;; messaging.scm ends here