summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/lua.scm24
1 files changed, 24 insertions, 0 deletions
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 28f66a5960..8bb9a401a6 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -402,6 +402,30 @@ Grammars (PEGs).")
     (home-page "http://www.inf.puc-rio.br/~roberto/lpeg")
     (license license:expat)))
 
+(define-public lua5.2-lpeg
+  (package (inherit lua-lpeg)
+    (name "lua5.2-lpeg")
+    ;; XXX: The arguments field is almost an exact copy of the field in
+    ;; "lua-lpeg", except for the version string, which was derived from "lua"
+    ;; and now is taken from "lua-5.2".  See this discussion for context:
+    ;; http://lists.gnu.org/archive/html/guix-devel/2017-01/msg02048.html
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         ;; `make install` isn't available, so we have to do it manually
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (lua-version ,(version-major+minor (package-version lua-5.2))))
+               (install-file "lpeg.so"
+                             (string-append out "/lib/lua/" lua-version))
+               (install-file "re.lua"
+                             (string-append out "/share/lua/" lua-version))
+               #t))))
+       #:test-target "test"))
+    (inputs `(("lua", lua-5.2)))))
+
 ;; Lua 5.3 is not supported.
 (define-public lua5.2-bitop
   (package