summaryrefslogtreecommitdiff
path: root/gnu/packages/lua.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <[email protected]>2022-01-25 22:07:13 -0500
committerMaxim Cournoyer <[email protected]>2022-01-25 22:07:13 -0500
commit1a5302435ff0d2822b823f5a6fe01faa7a85c629 (patch)
treeac7810c88b560532f22d2bab2e59609cd7305c21 /gnu/packages/lua.scm
parent3ff2ac4980dacf10087e4b42bd9fbc490591900c (diff)
parent070b8a893febd6e7d8b2b7c8c4dcebacf7845aa9 (diff)
Merge branch 'master' into staging.
With "conflicts" solved (all in favor of master except git) in: gnu/local.mk gnu/packages/databases.scm gnu/packages/glib.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/gnuzilla.scm gnu/packages/graphics.scm gnu/packages/gstreamer.scm gnu/packages/gtk.scm gnu/packages/linux.scm gnu/packages/machine-learning.scm gnu/packages/networking.scm gnu/packages/polkit.scm gnu/packages/pulseaudio.scm gnu/packages/rpc.scm gnu/packages/rust.scm gnu/packages/version-control.scm gnu/packages/w3m.scm
Diffstat (limited to 'gnu/packages/lua.scm')
-rw-r--r--gnu/packages/lua.scm129
1 files changed, 59 insertions, 70 deletions
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 0ecc91294f..c828ded1a5 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2020 Simon South <[email protected]>
;;; Copyright © 2020 Paul A. Patience <[email protected]>
;;; Copyright © 2021 Vinícius dos Santos Oliveira <[email protected]>
+;;; Copyright © 2021 Greg Hogan <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,7 +44,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
- #:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libevent)
@@ -72,7 +72,7 @@
(patches (search-patches "lua-pkgconfig.patch"
"lua-liblua-so.patch"))))
(build-system gnu-build-system)
- (inputs `(("readline" ,readline)))
+ (inputs (list readline))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@@ -105,6 +105,18 @@ automatic memory management with incremental garbage collection, making it ideal
for configuration, scripting, and rapid prototyping.")
(license license:x11)))
+(define-public lua-5.4
+ (package (inherit lua)
+ (version "5.4.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.lua.org/ftp/lua-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1yxvjvnbg4nyrdv10bq42gz6dr66pyan28lgzfygqfwy2rv24qgq"))
+ (patches (search-patches "lua-5.4-pkgconfig.patch"
+ "lua-5.4-liblua-so.patch"))))))
+
(define-public lua-5.2
(package (inherit lua)
(version "5.2.4")
@@ -159,6 +171,9 @@ for configuration, scripting, and rapid prototyping.")
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))))
(home-page "https://www.luajit.org/")
(synopsis "Just in time compiler for Lua programming language version 5.1")
+ ;; On powerpc64le-linux, the build fails with an error: "No support for
+ ;; PowerPC 64 bit mode (yet)". See: https://issues.guix.gnu.org/49220
+ (supported-systems (delete "powerpc64le-linux" %supported-systems))
(description
"LuaJIT is a Just-In-Time Compiler (JIT) for the Lua
programming language. Lua is a powerful, dynamic and light-weight programming
@@ -228,8 +243,7 @@ some projects.")))
(invoke "lua" "tests/test.lua")
(invoke "lua" "tests/test-lom.lua"))))))
(inputs
- `(("lua" ,lua)
- ("expat" ,expat)))
+ (list lua expat))
(home-page "https://matthewwild.co.uk/projects/luaexpat/")
(synopsis "SAX XML parser based on the Expat library")
(description "LuaExpat is a SAX XML parser based on the Expat library.")
@@ -272,7 +286,7 @@ some projects.")))
(invoke "lua" "test/testsrvr.lua"))
(invoke "lua" "test/testclnt.lua"))))))
(inputs
- `(("lua" ,lua)))
+ (list lua))
(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
@@ -322,7 +336,7 @@ handy.")
(modify-phases %standard-phases
(delete 'configure))))
(inputs
- `(("lua" ,lua)))
+ (list lua))
(home-page "https://keplerproject.github.io/luafilesystem/index.html")
(synopsis "File system library for Lua")
(description "LuaFileSystem is a Lua library developed to complement the
@@ -378,8 +392,7 @@ directory structure and file attributes.")
(find-files "." "^[0-9].*\\.lua$"))))
#t)))))
(inputs
- `(("lua" ,lua)
- ("openssl" ,openssl)))
+ (list lua openssl))
(home-page "https://25thandclement.com/~william/projects/luaossl.html")
(synopsis "OpenSSL bindings for Lua")
(description "The luaossl extension module for Lua provides comprehensive,
@@ -426,8 +439,7 @@ binds OpenSSL's bignum, message digest, HMAC, cipher, and CSPRNG interfaces.")
(modify-phases %standard-phases
(delete 'configure))))
(inputs
- `(("lua" ,lua)
- ("openssl" ,openssl)))
+ (list lua openssl))
(propagated-inputs
`(("lua-socket"
,(make-lua-socket
@@ -530,12 +542,11 @@ secure session between the peers.")
(apply invoke "make" "check" make-flags)))))))
(native-inputs
- `(("m4" ,m4)))
+ (list m4))
(inputs
- `(("lua" ,lua)
- ("openssl" ,openssl)))
+ (list lua openssl))
(propagated-inputs
- `(("lua-ossl" ,lua-ossl)))
+ (list lua-ossl))
(home-page "https://25thandclement.com/~william/projects/cqueues.html")
(synopsis "Event loop for Lua using continuation queues")
(description "The cqueues extension module for Lua implements an event loop
@@ -567,9 +578,9 @@ to be non-intrusive, composable, and embeddable within existing applications.")
(base32 "0qc2d1riyr4b5a0gnsmdw2lz5pw65s4ac60hc34w3mmk9l6yg6nl"))))
(build-system trivial-build-system)
(inputs
- `(("lua" ,lua)))
+ (list lua))
(propagated-inputs
- `(("lua-filesystem" ,lua-filesystem)))
+ (list lua-filesystem))
(arguments
`(#:modules ((guix build utils))
#:builder
@@ -607,9 +618,9 @@ standard libraries.")
(base32 "1h0cf7bp4am54r0j8lhjs2l1c7q5vz74ba0jvw9qdbaqimls46g8"))))
(build-system gnu-build-system)
(inputs
- `(("lua" ,lua)))
+ (list lua))
(propagated-inputs
- `(("lua-penlight" ,lua-penlight)))
+ (list lua-penlight))
(arguments
`(#:tests? #f ;tests must run after installation.
#:phases
@@ -697,8 +708,8 @@ describing the commented declarations and functions.")
(setenv "DISPLAY" ":1")
#t)))))
(native-inputs
- `(("dbus" ,dbus) ;tests use 'dbus-run-session'
- ("pkg-config" ,pkg-config)))
+ (list dbus ;tests use 'dbus-run-session'
+ pkg-config))
(inputs
`(("cairo" ,cairo)
("glib" ,glib)
@@ -751,7 +762,7 @@ Notable examples are GTK+, GStreamer and Webkit.")
(string-append out "/share/lua/" lua-version))
#t))))
#:test-target "test"))
- (inputs `(("lua" ,lua)))
+ (inputs (list lua))
(synopsis "Pattern-matching library for Lua")
(description
"LPeg is a pattern-matching library for Lua, based on Parsing Expression
@@ -803,8 +814,7 @@ Grammars (PEGs).")
(or (getenv "CPATH") "")))
#t)))))
(inputs
- `(("lua" ,lua)
- ("libuv" ,libuv)))
+ (list lua libuv))
(native-inputs
`(("lua-compat"
,(origin
@@ -856,7 +866,7 @@ Grammars (PEGs).")
#:phases
(modify-phases %standard-phases
(delete 'configure))))
- (inputs `(("lua" ,lua)))
+ (inputs (list lua))
(home-page "https://bitop.luajit.org/index.html")
(synopsis "Bitwise operations on numbers for Lua")
(description
@@ -917,8 +927,7 @@ on numbers.")
(chdir "./runner")
(invoke "./test_runner")))))))
(native-inputs
- `(("lua" ,lua)
- ("pkg-config" ,pkg-config)))
+ (list lua pkg-config))
(home-page "https://github.com/jeremyong/Selene")
(synopsis "Lua C++11 bindings")
(description
@@ -1124,8 +1133,7 @@ shell command executions.")
"1999bgrh52124a5g4qizav3x257ff2brjr855srpm1jv1nxzbygv"))))
(build-system meson-build-system)
(arguments
- `(#:meson ,meson-0.55
- ;; Tests are disabled for now due to an issue that affecs guix:
+ `(;; Tests are disabled for now due to an issue that affecs guix:
;; <https://gitlab.com/emilua/emilua/-/issues/22>
#:configure-flags
(list "-Denable_http=true"
@@ -1133,26 +1141,25 @@ shell command executions.")
"-Denable_manpages=false"
"-Dversion_suffix=-guix1")))
(native-inputs
- `(("gcc" ,gcc-10) ; gcc-7 is too old for our C++17 needs
- ("luajit-lua52-openresty" ,luajit-lua52-openresty)
- ("pkg-config" ,pkg-config)
- ("re2c" ,re2c)
- ("xxd" ,xxd)))
+ (list luajit-lua52-openresty
+ pkg-config
+ re2c
+ xxd))
(inputs
- `(("boost" ,boost)
- ("boost-static" ,boost-static)
- ("fmt" ,fmt)
- ;; LuaJIT has a 2GiB addressing limit[1] that has been fixed on OpenResty
- ;; fork. Emilua is severely affected by this limit, so the upstream package
- ;; is avoided. Emilua also depends on the -DLUAJIT_ENABLE_LUA52COMPAT
- ;; configure flag[2] for some features to work (e.g. __pairs on HTTP
- ;; headers).
- ;;
- ;; [1] <http://hacksoflife.blogspot.com/2012/12/integrating-luajit-with-x-plane-64-bit.html>
- ;; [2] <http://luajit.org/extensions.html#lua52>
- ("luajit-lua52-openresty" ,luajit-lua52-openresty)
- ("ncurses" ,ncurses)
- ("openssl" ,openssl)))
+ (list boost
+ boost-static
+ fmt-7
+ ;; LuaJIT has a 2GiB addressing limit[1] that has been fixed on OpenResty
+ ;; fork. Emilua is severely affected by this limit, so the upstream package
+ ;; is avoided. Emilua also depends on the -DLUAJIT_ENABLE_LUA52COMPAT
+ ;; configure flag[2] for some features to work (e.g. __pairs on HTTP
+ ;; headers).
+ ;;
+ ;; [1] <http://hacksoflife.blogspot.com/2012/12/integrating-luajit-with-x-plane-64-bit.html>
+ ;; [2] <http://luajit.org/extensions.html#lua52>
+ luajit-lua52-openresty
+ ncurses
+ openssl))
(native-search-paths
(list
(search-path-specification
@@ -1170,7 +1177,7 @@ enabled.")
(define-public fennel
(package
(name "fennel")
- (version "0.9.1")
+ (version "1.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1179,11 +1186,7 @@ enabled.")
(file-name (git-file-name name version))
(sha256
(base32
- "07qgycf5cxm9zcc4fgpgvplg95ndavh3ynpdjpvzkikzbnyj7xia"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (delete-file "fennelview.lua") #t))))
+ "0d4rpf0f2aqxlca3kxrbhjjhf1knhiz8ccwlx8xid05mc16la70y"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
@@ -1192,29 +1195,15 @@ enabled.")
#:phases
(modify-phases %standard-phases
(delete 'configure)
- (add-before 'build 'patch-lua-calls
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((lua (string-append (assoc-ref inputs "lua") "/bin/lua")))
- (setenv "LUA" lua)
- (substitute* "old/launcher.lua"
- (("/usr/bin/env lua") lua))
- #t)))
(add-after 'build 'patch-fennel
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "fennel"
(("/usr/bin/env .*lua")
- (string-append (assoc-ref inputs "lua") "/bin/lua")))
- #t))
+ (search-input-file inputs "/bin/lua")))))
(delete 'check)
(add-after 'install 'check
- (assoc-ref %standard-phases 'check))
- (add-after 'install 'install-manpage
- (lambda* (#:key outputs #:allow-other-keys)
- (install-file "fennel.1"
- (string-append (assoc-ref outputs "out")
- "/share/man/man1"))
- #t)))))
- (inputs `(("lua" ,lua)))
+ (assoc-ref %standard-phases 'check)))))
+ (inputs (list lua))
(home-page "https://fennel-lang.org/")
(synopsis "Lisp that compiles to Lua")
(description