gnu: emilua: Update to 0.4.3.
* gnu/packages/lua.scm (emilua): Update to 0.4.3. [source]: Remove recursive? and replace with inputs. [arguments]: Update style, add patch phase, enable tests and enable some more features. [native-inputs]: Add gperf, gawk and xdd. [inputs]: Add emilua-http and trial-protocol as origin is no longer recursive, also add serd, sord, libcap and liburing. Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
parent
07d43c66d5
commit
10bc07671e
1 changed files with 97 additions and 54 deletions
|
@ -19,6 +19,7 @@
|
||||||
;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
|
;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
|
||||||
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
|
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
|
||||||
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
|
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
|
||||||
|
;;; Copyright © 2023 Valter Nazianzeno <manipuladordedados@gmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -50,14 +51,18 @@
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages build-tools)
|
#:use-module (gnu packages build-tools)
|
||||||
|
#:use-module (gnu packages gcc)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
|
#:use-module (gnu packages gperf)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages libevent)
|
#:use-module (gnu packages libevent)
|
||||||
#:use-module (gnu packages libffi)
|
#:use-module (gnu packages libffi)
|
||||||
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages m4)
|
#:use-module (gnu packages m4)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages pretty-print)
|
#:use-module (gnu packages pretty-print)
|
||||||
|
#:use-module (gnu packages rdf)
|
||||||
#:use-module (gnu packages re2c)
|
#:use-module (gnu packages re2c)
|
||||||
#:use-module (gnu packages readline)
|
#:use-module (gnu packages readline)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
|
@ -1130,49 +1135,87 @@ shell command executions.")
|
||||||
(define-public emilua
|
(define-public emilua
|
||||||
(package
|
(package
|
||||||
(name "emilua")
|
(name "emilua")
|
||||||
(version "0.3.2")
|
(version "0.4.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://gitlab.com/emilua/emilua.git")
|
(url "https://gitlab.com/emilua/emilua.git")
|
||||||
(commit (string-append "v" version))
|
(commit (string-append "v" version))))
|
||||||
;; Current version requires Trial.Protocol and the HTTP lib
|
|
||||||
;; developed as part of GSoC 2014 for Boost, and these are
|
|
||||||
;; dependencies unlikely to be "unbundled" in future releases.
|
|
||||||
(recursive? #t)))
|
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1999bgrh52124a5g4qizav3x257ff2brjr855srpm1jv1nxzbygv"))))
|
"1dwag2pyqc0g86rris4w4fzafmz9a6kiqd47vdq7hl3a1lyi74mx"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(;; Tests are disabled for now due to an issue that affecs guix:
|
(list
|
||||||
;; <https://gitlab.com/emilua/emilua/-/issues/22>
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "src/emilua_gperf.awk"
|
||||||
|
(("/usr/bin/env") (which "env")))
|
||||||
|
(substitute* "src/system.cpp"
|
||||||
|
(("P_PIDFD") "P_PID"))
|
||||||
|
|
||||||
|
(copy-recursively
|
||||||
|
(assoc-ref inputs "emilua-http")
|
||||||
|
"emilua-http")
|
||||||
|
(copy-recursively
|
||||||
|
(assoc-ref inputs "trial-protocol")
|
||||||
|
"trial-protocol")
|
||||||
|
|
||||||
|
(with-directory-excursion "subprojects"
|
||||||
|
(symlink "../emilua-http" "emilua-http")
|
||||||
|
(copy-file "packagefiles/emilua-http/meson.build"
|
||||||
|
"emilua-http/meson.build")
|
||||||
|
(symlink "../trial-protocol" "trial-protocol")
|
||||||
|
(copy-file "packagefiles/trial.protocol/meson.build"
|
||||||
|
"trial-protocol/meson.build")))))
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
(list "-Denable_http=true"
|
#~(list "-Denable_http=true"
|
||||||
"-Denable_tests=false"
|
"-Denable_file_io=true"
|
||||||
|
"-Denable_io_uring=true"
|
||||||
|
;; TODO: Linux namespaces are disabled for now due to conflict
|
||||||
|
;; with some packages in guix.
|
||||||
|
"-Denable_linux_namespaces=false"
|
||||||
"-Denable_manpages=false"
|
"-Denable_manpages=false"
|
||||||
"-Dversion_suffix=-guix1")))
|
"-Dversion_suffix=-guix1")))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list luajit-lua52-openresty
|
(list luajit-lua52-openresty
|
||||||
pkg-config
|
|
||||||
re2c
|
re2c
|
||||||
xxd))
|
gperf
|
||||||
|
xxd
|
||||||
|
pkg-config))
|
||||||
(inputs
|
(inputs
|
||||||
(list boost
|
`(("emilua-http"
|
||||||
boost-static
|
,(origin
|
||||||
fmt-7
|
(method git-fetch)
|
||||||
;; LuaJIT has a 2GiB addressing limit[1] that has been fixed on OpenResty
|
(uri (git-reference
|
||||||
;; fork. Emilua is severely affected by this limit, so the upstream package
|
(url "https://github.com/BoostGSoC14/boost.http")
|
||||||
;; is avoided. Emilua also depends on the -DLUAJIT_ENABLE_LUA52COMPAT
|
(commit "93ae527c89ffc517862e1f5f54c8a257278f1195")))
|
||||||
;; configure flag[2] for some features to work (e.g. __pairs on HTTP
|
(sha256
|
||||||
;; headers).
|
(base32
|
||||||
;;
|
"0jm7fw0cjd3s9zkkvyh6mcj6z32hcy7l9bszv74l92qk15ivvp9h"))))
|
||||||
;; [1] <http://hacksoflife.blogspot.com/2012/12/integrating-luajit-with-x-plane-64-bit.html>
|
("trial-protocol"
|
||||||
;; [2] <http://luajit.org/extensions.html#lua52>
|
,(origin
|
||||||
luajit-lua52-openresty
|
(method git-fetch)
|
||||||
ncurses
|
(uri (git-reference
|
||||||
openssl))
|
(url "https://github.com/breese/trial.protocol")
|
||||||
|
(commit "79149f604a49b8dfec57857ca28aaf508069b669")))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0k42i5b4v3zz5x0r3dssiymgmn2x8zg4fzdksya9aggxgigippsx"))))
|
||||||
|
("boost" ,boost)
|
||||||
|
("boost-static" ,boost-static)
|
||||||
|
("fmt" ,fmt-8)
|
||||||
|
("gcc" ,gcc-12)
|
||||||
|
("luajit-lua52-openresty" ,luajit-lua52-openresty)
|
||||||
|
("ncurses" ,ncurses)
|
||||||
|
("serd" ,serd)
|
||||||
|
("sord" ,sord)
|
||||||
|
("libcap" ,libcap)
|
||||||
|
("liburing" ,liburing)
|
||||||
|
("openssl" ,openssl)))
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list
|
(list
|
||||||
(search-path-specification
|
(search-path-specification
|
||||||
|
|
Reference in a new issue