2014-03-05 19:12:19 -05:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2015-03-02 00:08:43 -05:00
|
|
|
|
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
2014-11-21 12:39:39 -05:00
|
|
|
|
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
|
2015-01-31 16:03:25 -05:00
|
|
|
|
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
2014-03-05 19:12:19 -05:00
|
|
|
|
;;;
|
|
|
|
|
;;; 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 <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
|
|
(define-module (gnu packages messaging)
|
2014-03-06 00:07:07 -05:00
|
|
|
|
#:use-module ((guix licenses)
|
|
|
|
|
#:select (gpl2+ gpl2 lgpl2.1 bsd-2))
|
2014-03-05 19:12:19 -05:00
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module (guix download)
|
|
|
|
|
#:use-module (guix build-system gnu)
|
2014-03-06 00:07:07 -05:00
|
|
|
|
#:use-module (gnu packages)
|
2014-11-21 12:39:39 -05:00
|
|
|
|
#:use-module (gnu packages enchant)
|
|
|
|
|
#:use-module (gnu packages gnome)
|
|
|
|
|
#:use-module (gnu packages gtk)
|
|
|
|
|
#:use-module (gnu packages libcanberra)
|
|
|
|
|
#:use-module (gnu packages openssl)
|
|
|
|
|
#:use-module (gnu packages xml)
|
2014-03-06 00:07:07 -05:00
|
|
|
|
#:use-module (gnu packages gnupg)
|
|
|
|
|
#:use-module (gnu packages pkg-config)
|
|
|
|
|
#:use-module (gnu packages glib)
|
|
|
|
|
#:use-module (gnu packages gnutls)
|
|
|
|
|
#:use-module (gnu packages python)
|
|
|
|
|
#:use-module (gnu packages perl)
|
2015-01-31 16:03:25 -05:00
|
|
|
|
#:use-module (gnu packages tcl)
|
2014-03-06 00:07:07 -05:00
|
|
|
|
#:use-module (gnu packages compression)
|
2015-01-31 16:03:25 -05:00
|
|
|
|
#:use-module (gnu packages check)
|
|
|
|
|
#:use-module (gnu packages admin)
|
|
|
|
|
#:use-module (gnu packages linux))
|
2014-03-05 19:12:19 -05:00
|
|
|
|
|
|
|
|
|
(define-public libotr
|
|
|
|
|
(package
|
|
|
|
|
(name "libotr")
|
2015-03-02 00:08:43 -05:00
|
|
|
|
(version "4.1.0")
|
2014-03-05 19:12:19 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://otr.cypherpunks.ca/libotr-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
2015-03-02 00:08:43 -05:00
|
|
|
|
(base32 "0c6rkh58s6wqzcrpccwdik5qs91qj6dgd60a340d72gc80cqknsg"))))
|
2014-03-05 19:12:19 -05:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("libgcrypt" ,libgcrypt))) ; libotr headers include gcrypt.h
|
|
|
|
|
(inputs `(("libgpg-error" ,libgpg-error)))
|
|
|
|
|
(synopsis "Off-the-Record (OTR) Messaging Library and Toolkit")
|
|
|
|
|
(description
|
|
|
|
|
"OTR allows you to have private conversations over instant messaging by
|
|
|
|
|
providing:
|
|
|
|
|
* Encryption: No one else can read your instant messages.
|
|
|
|
|
* Authentication: You are assured the correspondent is who you think it is.
|
|
|
|
|
* Deniability: The messages you send do not have digital signatures that are
|
|
|
|
|
checkable by a third party. Anyone can forge messages after a conversation
|
|
|
|
|
to make them look like they came from you. However, during a conversation,
|
|
|
|
|
your correspondent is assured the messages he sees are authentic and
|
|
|
|
|
unmodified.
|
|
|
|
|
* Perfect forward secrecy: If you lose control of your private keys, no
|
|
|
|
|
previous conversation is compromised.")
|
|
|
|
|
(home-page "https://otr.cypherpunks.ca/")
|
|
|
|
|
(license (list lgpl2.1 gpl2))))
|
|
|
|
|
|
|
|
|
|
(define-public libotr-3
|
|
|
|
|
(package (inherit libotr)
|
|
|
|
|
(version "3.2.1")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://otr.cypherpunks.ca/libotr-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1x6dd4rh499hdraiqfhz81igrj0a5rs0gjhc8l4sljwqhjjyla6l"))))))
|
|
|
|
|
|
2014-03-06 00:07:07 -05:00
|
|
|
|
(define-public bitlbee
|
|
|
|
|
(package
|
|
|
|
|
(name "bitlbee")
|
2015-05-20 14:55:26 -04:00
|
|
|
|
(version "3.4")
|
2014-03-06 00:07:07 -05:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://get.bitlbee.org/src/bitlbee-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
2015-05-20 14:55:26 -04:00
|
|
|
|
(base32 "0plx4dryf8i6hz7vghg84z5f6w6rkw1l8ckl4c4wh5zxpd3ddfnf"))
|
|
|
|
|
(patches (list (search-patch "bitlbee-configure-doc-fix.patch")))))
|
2014-03-06 00:07:07 -05:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)
|
|
|
|
|
("check" ,check)))
|
|
|
|
|
(inputs `(("glib" ,glib)
|
2014-07-07 01:19:17 -04:00
|
|
|
|
("libotr" ,libotr)
|
2014-03-06 00:07:07 -05:00
|
|
|
|
("gnutls" ,gnutls)
|
|
|
|
|
("python" ,python-2)
|
|
|
|
|
("perl" ,perl)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases (alist-cons-after
|
|
|
|
|
'install 'install-etc
|
|
|
|
|
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
|
|
|
|
(zero? (apply system* "make" "install-etc" make-flags)))
|
|
|
|
|
(alist-replace
|
|
|
|
|
'configure
|
|
|
|
|
;; bitlbee's configure script does not tolerate many of the
|
|
|
|
|
;; variable settings that Guix would pass to it.
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(zero? (system* "./configure"
|
|
|
|
|
(string-append "--prefix="
|
|
|
|
|
(assoc-ref outputs "out"))
|
|
|
|
|
"--otr=1")))
|
|
|
|
|
%standard-phases))))
|
|
|
|
|
(synopsis "IRC to instant messaging gateway")
|
|
|
|
|
(description "BitlBee brings IM (instant messaging) to IRC clients, for
|
|
|
|
|
people who have an IRC client running all the time and don't want to run an
|
|
|
|
|
additional IM client. BitlBee currently supports XMPP/Jabber (including
|
|
|
|
|
Google Talk), MSN Messenger, Yahoo! Messenger, AIM and ICQ, and the Twitter
|
|
|
|
|
microblogging network (plus all other Twitter API compatible services like
|
|
|
|
|
identi.ca and status.net).")
|
|
|
|
|
(home-page "http://www.bitlbee.org/")
|
|
|
|
|
(license (list gpl2+ bsd-2))))
|
|
|
|
|
|
2014-11-21 12:39:39 -05:00
|
|
|
|
(define-public hexchat
|
|
|
|
|
(package
|
|
|
|
|
(name "hexchat")
|
|
|
|
|
(version "2.10.1")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://dl.hexchat.net/hexchat/hexchat-"
|
|
|
|
|
version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1ag9rmfisv0hsbk05jq4f1rnap7kwg90vgbmkr9zklkh6imfxk7z"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs `(("pkg-config" ,pkg-config)
|
|
|
|
|
("intltool" ,intltool)))
|
|
|
|
|
(inputs `(("dbus-glib" ,dbus-glib)
|
|
|
|
|
("dbus" ,dbus)
|
|
|
|
|
("enchant" ,enchant)
|
|
|
|
|
("glib:bin" ,glib "bin") ;need glib-genmarshal
|
|
|
|
|
("gtk" ,gtk+-2)
|
|
|
|
|
("libcanberra" ,libcanberra)
|
|
|
|
|
("libnotify" ,libnotify)
|
|
|
|
|
("openssl" ,openssl)
|
|
|
|
|
("perl-xml-parser" ,perl-xml-parser) ;for addons
|
|
|
|
|
("python-2" ,python-2))) ;for addons
|
|
|
|
|
(synopsis "Graphical IRC Client")
|
|
|
|
|
(description
|
|
|
|
|
"HexChat lets you connect to multiple IRC networks at once. The main window
|
|
|
|
|
shows the list of currently connected networks and their channels, the current
|
|
|
|
|
conversation and the list of users. It uses colors to differentiate between
|
|
|
|
|
users and to highlight messages. It checks spelling using available
|
|
|
|
|
dictionaries. HexChat can be extended with multiple addons.")
|
|
|
|
|
(home-page "http://hexchat.net/")
|
|
|
|
|
(license gpl2+)))
|
|
|
|
|
|
2015-01-31 16:03:25 -05:00
|
|
|
|
(define-public ngircd
|
|
|
|
|
(package
|
|
|
|
|
(name "ngircd")
|
|
|
|
|
(version "22")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://arthur.barton.de/pub/ngircd/ngircd-"
|
|
|
|
|
version ".tar.xz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"17k3g9qd9d010czk5846qxvzkmw4fihv8l6m2a2287crbxm3xhd4"))
|
|
|
|
|
(patches (list (search-patch "ngircd-no-dns-in-tests.patch")
|
|
|
|
|
(search-patch "ngircd-handle-zombies.patch")))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
;; Needed for the test suite.
|
|
|
|
|
(native-inputs `(("procps" ,procps)
|
|
|
|
|
("expect" ,expect)
|
|
|
|
|
("inetutils" ,inetutils)))
|
|
|
|
|
;; XXX Add libident, libwrap.
|
|
|
|
|
(inputs `(("zlib" ,zlib)
|
|
|
|
|
("gnutls" ,gnutls)
|
|
|
|
|
,@(if (string-suffix? "-linux"
|
|
|
|
|
(or (%current-target-system)
|
|
|
|
|
(%current-system)))
|
|
|
|
|
`(("linux-pam" ,linux-pam))
|
|
|
|
|
'())))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags
|
|
|
|
|
'("--with-gnutls" "--with-iconv" "--enable-ipv6"
|
|
|
|
|
,@(if (string-suffix? "-linux"
|
|
|
|
|
(or (%current-target-system)
|
|
|
|
|
(%current-system)))
|
|
|
|
|
'("--with-pam")
|
|
|
|
|
'()))
|
|
|
|
|
#:phases
|
|
|
|
|
;; Necessary for the test suite.
|
|
|
|
|
(alist-cons-after
|
|
|
|
|
'configure 'post-configure
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "src/ngircd/Makefile"
|
2015-03-30 04:37:11 -04:00
|
|
|
|
(("/bin/sh") (which "sh")))
|
|
|
|
|
;; The default getpid.sh does a sloppy grep over 'ps -ax' output,
|
|
|
|
|
;; which fails arbitrarily.
|
|
|
|
|
(with-output-to-file "src/testsuite/getpid.sh"
|
|
|
|
|
(lambda ()
|
|
|
|
|
(display
|
|
|
|
|
(string-append
|
|
|
|
|
"#!" (which "sh") "\n"
|
|
|
|
|
"ps -C \"$1\" -o pid=\n"))))
|
|
|
|
|
;; Our variant of getpid.sh does not work for interpreter names if a
|
|
|
|
|
;; shebang script is run directly as "./foo", so patch cases where
|
|
|
|
|
;; the test suite relies on this.
|
|
|
|
|
(substitute* "src/testsuite/start-server.sh"
|
|
|
|
|
;; It runs 'getpid.sh sh' to test if it works at all. Run it on
|
|
|
|
|
;; 'make' instead.
|
|
|
|
|
(("getpid.sh sh") "getpid.sh make")))
|
2015-01-31 16:03:25 -05:00
|
|
|
|
%standard-phases)))
|
|
|
|
|
(home-page "http://ngircd.barton.de/")
|
|
|
|
|
(synopsis "Lightweight Internet Relay Chat server for small networks")
|
|
|
|
|
(description
|
|
|
|
|
"ngIRCd is a lightweight Internet Relay Chat server for small or private
|
|
|
|
|
networks. It is easy to configure, can cope with dynamic IP addresses, and
|
|
|
|
|
supports IPv6, SSL-protected connections as well as PAM for authentication.")
|
|
|
|
|
(license gpl2+)))
|
|
|
|
|
|
2014-03-05 19:12:19 -05:00
|
|
|
|
;;; messaging.scm ends here
|