summary refs log tree commit diff
path: root/gnu/packages/lua.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2016-08-22 21:32:09 +0200
committerRicardo Wurmus <rekado@elephly.net>2016-08-28 12:41:27 +0200
commitc21b826127bb9c21cf6e51561dc94cec1533ba95 (patch)
tree119bece03531f03287fdf75574188ac0bcb664f6 /gnu/packages/lua.scm
parentfd07a6a66de50e4871a6015d46e91ecfd230894d (diff)
downloadguix-c21b826127bb9c21cf6e51561dc94cec1533ba95.tar.gz
gnu: Add lua5.1-socket.
* gnu/packages/lua.scm (lua5.1-socket): New variable.
Diffstat (limited to 'gnu/packages/lua.scm')
-rw-r--r--gnu/packages/lua.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index ea7a488499..7feeee33f9 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -145,3 +145,49 @@ language.")
     (synopsis "SAX XML parser based on the Expat library")
     (description "LuaExpat is a SAX XML parser based on the Expat library.")
     (license (package-license lua-5.1))))
+
+(define-public lua5.1-socket
+  (package
+    (name "lua5.1-socket")
+    (version "2.0.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "http://files.luaforge.net/releases/"
+                                  "luasocket/luasocket/luasocket-"
+                                  version "/luasocket-" version ".tar.gz"))
+              (sha256
+               (base32
+                "19ichkbc4rxv00ggz8gyf29jibvc2wq9pqjik0ll326rrxswgnag"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (let ((out (assoc-ref %outputs "out")))
+         (list (string-append "INSTALL_TOP_SHARE=" out "/share/lua/5.1")
+               (string-append "INSTALL_TOP_LIB=" out "/lib/lua/5.1")))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (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))))