Subject: [PATCH] Add two Lua 5.1 packages

From: HiPhish <[email-masked]>
Date: Thu, 25 Oct 2018 01:07:52 +0200

Hello,

This is my first time contributing a patch, so hopefully I did everything 
right. The patch adds two packages for Lua 5.1; the new packages are based on 
the existing Lua 5.2 packages. The reason we need separate packages for Lua 
5.1 and 5.2 is because Lua is not backwards compatible between releases: there 
is no guarantee that code working on 5.1 will work on 5.2 or vice-versa (even 
though it probably will, we don't want to rely on probably). These two 
packages will be needed by the Neovim package later.
>From c4cfd2080610a40518726745ed97affc90263b36 Mon Sep 17 00:00:00 2001
From: HiPhish <[email-masked]>
Date: Wed, 24 Oct 2018 14:22:14 +0200
Subject: [PATCH] Add two Lua 5.1 packages

* gnu/packages/lua.scm (lua5.1-lpeg): New package
* gnu/packages/serialization.scm (lua5.1-libmpack): New package

The packages lua-lpeg and lua-libmpack had no Lua 5.1 variants. These
packages will be needed to build Neovim properly.
---
 gnu/packages/lua.scm           |  3 +++
 gnu/packages/serialization.scm | 20 ++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index be77ac4a6..2dc1452cc 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -408,6 +408,9 @@ Grammars (PEGs).")
 (define-public lua-lpeg
   (make-lua-lpeg "lua-lpeg" lua))
 
+(define-public lua5.1-lpeg
+  (make-lua-lpeg "lua5.1-lpeg" lua-5.1))
+
 (define-public lua5.2-lpeg
   (make-lua-lpeg "lua5.2-lpeg" lua-5.2))
 
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 3064e385e..6b28463d5 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -225,6 +225,26 @@ that implements both the msgpack and msgpack-rpc specifications.")
     (home-page "https://github.com/libmpack/libmpack-lua")
     (synopsis "Lua bindings for the libmpack binary serialization library")))
 
+(define-public lua5.1-libmpack
+  (package (inherit lua-libmpack)
+    (name "lua5.1-libmpack")
+    (arguments
+     (substitute-keyword-arguments (package-arguments lua-libmpack)
+       ((#:make-flags flags)
+        `(let* ((lua-version ,(package-version lua-5.1))
+                (lua-major+minor ,(version-major+minor (package-version lua-5.1))))
+           (list "CC=gcc"
+                 "USE_SYSTEM_LUA=yes"
+                 (string-append "MPACK_LUA_VERSION=" lua-version)
+                 (string-append "MPACK_LUA_VERSION_NOPATCH=" lua-major+minor)
+                 (string-append "PREFIX="
+                                (assoc-ref %outputs "out"))
+                 (string-append "LUA_CMOD_INSTALLDIR="
+                                (assoc-ref %outputs "out")
+                                "/lib/lua/" lua-major+minor))))))
+    (inputs
+     `(("lua" ,lua-5.1)))))
+
 (define-public lua5.2-libmpack
   (package (inherit lua-libmpack)
     (name "lua5.2-libmpack")
-- 
2.17.1