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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209
(define-module (hidamari-blue xmpp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module (guix build-system perl) #: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 curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) #:use-module (gnu packages enchant) #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) #:use-module (gnu packages libcanberra) #:use-module (gnu packages man) #:use-module (gnu packages networking) #:use-module (gnu packages libidn) #:use-module (gnu packages lua) #:use-module (gnu packages xml) #:use-module (gnu packages gnupg) #:use-module (gnu packages ncurses) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) #:use-module (gnu packages python) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages tcl) #:use-module (gnu packages compression) #:use-module (gnu packages check) #:use-module (gnu packages admin) #:use-module (gnu packages linux) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages icu4c) #:use-module (gnu packages qt) #:use-module (gnu packages video) #:use-module (gnu packages web) #:use-module (gnu packages xiph) #:use-module (gnu packages audio) #:use-module (gnu packages bison) #:use-module (gnu packages fontutils) #:use-module (gnu packages bash) #:use-module (gnu packages guile) #:use-module (gnu packages less) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) #:use-module (gnu packages messaging)) (define-public lua5.1-socket (let ((commit "ac3201d62024b397e8d6e3376822176d681811ec")) (package (name "lua5.1-socket") (version "3.0-ac3201d") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/diegonehab/luasocket") (commit commit))) (sha256 (base32 "0m2zip4wqrrs6dczw7xnqk3bjwppjs359nv4kj1akhcj7nq56zsw")))) (build-system gnu-build-system) (arguments `(#:make-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "INSTALL_TOP_LDIR=" out "/share/lua/5.1") (string-append "INSTALL_TOP_CDIR=" out "/lib/lua/5.1") (string-append "INSTALL_TOP=" out))) #:tests? #f #:phases (modify-phases %standard-phases (delete 'configure) ;; TODO set some LUA_DEBUG variable before compiling, ;; test before the build and install phases, ;; then recompile without the LUA_DEBUG var set and install. ;; (replace 'check ;; (lambda _ ;; (setenv "LUA_CPATH" (string-append "src/?.so." ,version ";;")) ;; (setenv "LUA_PATH" "src/?.lua;;") ;; (when (zero? (primitive-fork)) ;; (system* "lua" "test/testsrvr.lua")) ;; (zero? (system* "lua" "test/testclnt.lua")))) ))) (inputs `(("lua" ,lua-5.1))) (home-page "http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/") (synopsis "Socket library for Lua") (description "LuaSocket is a Lua extension library that is composed by two parts: a C core that provides support for the TCP and UDP transport layers, and a set of Lua modules that add support for functionality commonly needed by applications that deal with the Internet. Among the supported modules, the most commonly used implement the SMTP (sending e-mails), HTTP (WWW access) and FTP (uploading and downloading files) client protocols. These provide a very natural and generic interface to the functionality defined by each protocol. In addition, you will find that the MIME (common encodings), URL (anything you could possible want to do with one) and LTN12 (filters, sinks, sources and pumps) modules can be very handy.") (license (package-license lua-5.1))))) (define-public prosody (package (name "prosody") (version "0.10.0") (source (origin (method url-fetch) (uri (string-append "https://prosody.im/downloads/source/" "prosody-" version ".tar.gz")) (sha256 (base32 "1644jy5dk46vahmh6nna36s79k8k668sbi3qamjb4q3c4m3y853l")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target #:configure-flags (list "--no-example-certs") #:modules ((ice-9 match) (srfi srfi-1) (guix build gnu-build-system) (guix build utils)) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-configure-script (lambda _ ;; The configure script aborts when it encounters unexpected ;; arguments. Make it more tolerant. (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 ;; modules at runtime. (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin/")) (deps (delete #f (map (match-lambda ((label . directory) (if (string-prefix? "lua" label) directory #f))) inputs))) (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" ";" = (,lua-path)) `("LUA_CPATH" ";" = (,lua-cpath)) `("PATH" ":" prefix ,path))) (find-files bin ".*")) #t)))))) (inputs `(("libidn" ,libidn) ("openssl" ,openssl) ("lua" ,lua-5.1) ("lua5.1-expat" ,lua5.1-expat) ("lua5.1-socket" ,lua5.1-socket) ("lua5.1-filesystem" ,lua5.1-filesystem) ("lua5.1-sec" ,lua5.1-sec))) (home-page "https://prosody.im/") (synopsis "Jabber (XMPP) server") (description "Prosody is a modern XMPP communication server. It aims to be easy to set up and configure, and efficient with system resources. Additionally, for developers it aims to be easy to extend and give a flexible system on which to rapidly develop added functionality, or prototype new protocols.") (license license:x11)))