1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
(define-module (gnu packages ejabberd)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages erlang)
#:use-module (gnu packages web)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages gd)
#:use-module (gnu packages openldap)
#:use-module (gnu packages databases)
#:use-module (gnu packages xml)
#:use-module (gnu packages compression)
#:use-module (gnu packages tls)
#:use-module (gnu packages autotools)
#:use-module (gnu packages perl)
#:use-module (gnu packages version-control)
#:use-module ((guix licenses) #:prefix license:)
)
(define-public ejabberd
(package
(name "ejabberd")
(version "21.01")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/processone/ejabberd")
(commit version)))
(sha256
(base32 "0fyxfwgqw72i4nz5g5nw79h6d4f6kw5r2mzh7c2s3npv7kx4zvry"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-bin/sh
(lambda _
(substitute* "configure"
(("#!/bin/sh") (string-append "#!" (which "sh")))
((" = /bin/sh") (string-append " = " (which "sh")))
)
)
)
)
#:configure-flags
(list "--enable-stun"
"--enable-system-deps"
"--enable-mysql"
"--enable-odbc"
"--enable-pgsql"
"--enable-zlib"
)
)
)
(native-inputs
`(
("erlang" ,erlang)
("autoconf" ,autoconf)
("automake" ,automake)
("perl" ,perl)
("git" ,git)
))
(inputs
`(
("erlang" ,erlang)
("expat" ,expat )
("libyaml" ,libyaml)
("zlib" ,zlib)
("imagemagick" ,imagemagick)
("gd" ,gd)
("openldap" ,openldap)
("unixodbc" ,unixodbc)
("openssl" ,openssl)
))
(synopsis "A scalable and reliable platform for instant messaging")
(description "ejabberd is a distributed, fault-tolerant technology that allows the creation of large-scale instant messaging applications. The server can reliably support thousands of simultaneous users on a single node and has been designed to provide exceptional standards of fault tolerance. As an open source technology, based on industry-standards, ejabberd can be used to build bespoke solutions very cost effectively")
(license (list
license:gpl2
))
(home-page "https://www.ejabberd.im")
))
ejabberd
|