From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH 7/7] gnu: Add prosody. Date: Mon, 22 Aug 2016 21:39:18 +0200 Message-ID: <20160822193918.27397-8-rekado@elephly.net> References: <20160822193918.27397-1-rekado@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:40574) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bbv4n-0008P4-B8 for guix-devel@gnu.org; Mon, 22 Aug 2016 15:40:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bbv4h-0008Om-Cn for guix-devel@gnu.org; Mon, 22 Aug 2016 15:40:04 -0400 Received: from sender163-mail.zoho.com ([74.201.84.163]:24405) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bbv4g-0008OG-Nr for guix-devel@gnu.org; Mon, 22 Aug 2016 15:39:59 -0400 In-Reply-To: <20160822193918.27397-1-rekado@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org * gnu/packages/messaging.scm (prosody): New variable. --- gnu/packages/messaging.scm | 78 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 76 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index de9ac17..2f81ff8 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Julien Lepiller ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Andreas Enge -;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015, 2016 Ricardo Wurmus ;;; Copyright © 2015 Efraim Flashner ;;; ;;; This file is part of GNU Guix. @@ -24,7 +24,7 @@ (define-module (gnu packages messaging) #:use-module ((guix licenses) #:select (gpl3+ gpl2+ gpl2 lgpl2.1 lgpl2.0+ bsd-2 non-copyleft - asl2.0)) + asl2.0 x11)) #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) @@ -45,6 +45,7 @@ #:use-module (gnu packages xdisorg) #:use-module (gnu packages libcanberra) #: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) @@ -492,4 +493,77 @@ transformation; audio and video conferences; file transfer; TLS, GPG and end-to-end encryption support; XML console.") (license gpl3+))) +(define-public prosody + (package + (name "prosody") + (version "0.9.10") + (source (origin + (method url-fetch) + (uri (string-append "https://prosody.im/downloads/source/" + "prosody-" version ".tar.gz")) + (sha256 + (base32 + "0bv6s5c0iizz015hh1lxlwlw1iwvisywajm2rcrbdfyrskzfwdj8")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #: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 '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))) + (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)) + ";"))) + (for-each (lambda (file) + (wrap-program file + `("LUA_PATH" ";" = (,path)) + `("LUA_CPATH" ";" = (,cpath)))) + (find-files bin ".*")) + #t)))))) + (inputs + `(("libidn" ,libidn) + ("openssl" ,openssl) + ("lua" ,lua-5.1) + ("lua-expat" ,lua5.1-expat) + ("lua-socket" ,lua5.1-socket) + ("lua-filesystem" ,lua5.1-filesystem) + ("lua-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 x11))) + ;;; messaging.scm ends here -- 2.9.2