diff options
author | Valter Nazianzeno <manipuladordedados@gmail.com> | 2023-09-02 21:57:32 +0000 |
---|---|---|
committer | Anderson Torres <torres.anderson.85@protonmail.com> | 2023-09-06 02:25:43 +0000 |
commit | 05f82739df7cf884907db8ee9b22c76a7efb6edb (patch) | |
tree | 64554f35aae84ae81b3bf53f9dda7554c866ade3 /pkgs/development/interpreters/emilua | |
parent | 9814d9d6c971c80c0f1dac448887a8ff76a7d165 (diff) |
emilua: init at 0.4.3
Diffstat (limited to 'pkgs/development/interpreters/emilua')
-rw-r--r-- | pkgs/development/interpreters/emilua/default.nix | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/emilua/default.nix b/pkgs/development/interpreters/emilua/default.nix new file mode 100644 index 0000000000000..a938d19736ec5 --- /dev/null +++ b/pkgs/development/interpreters/emilua/default.nix @@ -0,0 +1,111 @@ +{ lib +, stdenv +, meson +, ninja +, fetchFromGitHub +, fetchFromGitLab +, re2c +, gperf +, gawk +, xxd +, pkg-config +, boost182 +, fmt +, luajit_openresty +, ncurses +, serd +, sord +, libcap +, liburing +, openssl +, asciidoctor +}: + +let + emilua-http-wrap = fetchFromGitHub { + owner = "BoostGSoC14"; + repo = "boost.http"; + rev = "93ae527c89ffc517862e1f5f54c8a257278f1195"; + name = "emilua-http"; + hash = "sha256-MN29YwkTi0TJ2V+vRI9nUIxvJKsG+j3nT3o0yQB3p0o="; + }; + + trial-protocol-wrap = fetchFromGitHub { + owner = "breese"; + repo = "trial.protocol"; + rev = "79149f604a49b8dfec57857ca28aaf508069b669"; + name = "trial-protocol"; + hash = "sha256-Xd8bX3z9PZWU17N9R95HXdj6qo9at5FBL/+PTVaJgkw="; + }; +in +stdenv.mkDerivation rec { + pname = "emilua"; + version = "0.4.3"; + + src = fetchFromGitLab { + owner = "emilua"; + repo = "emilua"; + rev = "v${version}"; + hash = "sha256-vZITPQ1qUHhw24c0HKdR6VenviOc6JizQQ8w7K94irc="; + }; + + buildInputs = [ + luajit_openresty + boost182 + fmt + ncurses + serd + sord + libcap + liburing + openssl + ]; + + nativeBuildInputs = [ + re2c + gperf + gawk + xxd + pkg-config + asciidoctor + meson + ninja + ]; + + # Meson is no longer able to pick up Boost automatically. + # https://github.com/NixOS/nixpkgs/issues/86131 + env = { + BOOST_INCLUDEDIR = "${lib.getDev boost182}/include"; + BOOST_LIBRARYDIR = "${lib.getLib boost182}/lib"; + }; + + mesonFlags = [ + "-Dversion_suffix=-nixpkgs1" + "-Denable_http=true" + "-Denable_file_io=true" + "-Denable_io_uring=true" + "-Denable_linux_namespaces=true" + "-Denable_tests=true" + "-Denable_manpages=true" + ]; + + postPatch = '' + pushd subprojects + cp -r ${emilua-http-wrap} emilua-http + cp -r ${trial-protocol-wrap} trial-protocol + chmod +w emilua-http trial-protocol + cp "packagefiles/emilua-http/meson.build" "emilua-http/" + cp "packagefiles/trial.protocol/meson.build" "trial-protocol/" + popd + + substituteInPlace src/emilua_gperf.awk --replace '#!/usr/bin/env -S gawk --file' '#!${gawk}/bin/gawk -f' + ''; + + meta = with lib; { + description = "Lua execution engine"; + homepage = "https://emilua.org/"; + license = licenses.boost; + maintainers = with maintainers; [ manipuladordedados ]; + platforms = platforms.linux; + }; +} |