git: cc75996f7083 - main - lang/emilua: Lua execution engine with support for async IO and flexible threading layout
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 22 Sep 2023 05:08:13 UTC
The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=cc75996f708359e0b29da6d329e2645812e9895f commit cc75996f708359e0b29da6d329e2645812e9895f Author: Valter Nazianzeno <manipuladordedados@gmail.com> AuthorDate: 2023-09-22 04:29:38 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2023-09-22 04:56:49 +0000 lang/emilua: Lua execution engine with support for async IO and flexible threading layout Emilua strives to be the most complete execution engine for Lua. Whether you want single-VM concurrency support to exploit complex async IO interactions or multi-VM support to exploit possible parallelism your needs should be covered. WWW: https://emilua.org PR: 273922 --- lang/Makefile | 1 + lang/emilua/Makefile | 55 +++++++++++ lang/emilua/distinfo | 7 ++ lang/emilua/files/patch-meson.build | 19 ++++ lang/emilua/files/patch-src_mutex.cpp | 10 ++ lang/emilua/pkg-descr | 4 + lang/emilua/pkg-plist | 166 ++++++++++++++++++++++++++++++++++ 7 files changed, 262 insertions(+) diff --git a/lang/Makefile b/lang/Makefile index 8583715f1acc..e251c20060be 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -52,6 +52,7 @@ SUBDIR += elk SUBDIR += elm SUBDIR += emacs-lisp-intro + SUBDIR += emilua SUBDIR += erlang SUBDIR += erlang-doc SUBDIR += erlang-java diff --git a/lang/emilua/Makefile b/lang/emilua/Makefile new file mode 100644 index 000000000000..acb8bbf7e705 --- /dev/null +++ b/lang/emilua/Makefile @@ -0,0 +1,55 @@ +PORTNAME= emilua +DISTVERSIONPREFIX= v +DISTVERSION= 0.4.3 +CATEGORIES= lang devel + +MAINTAINER= manipuladordedados@gmail.com +COMMENT= Lua execution engine +WWW= https://emilua.org + +LICENSE= BSL +LICENSE_FILE= ${WRKSRC}/LICENSE_1_0.txt + +ONLY_FOR_ARCHS= aarch64 amd64 +ONLY_FOR_ARCHS_REASON= the software structures have not yet been ported + +BUILD_DEPENDS= asciidoctor:textproc/rubygem-asciidoctor \ + boost-libs>0:devel/boost-libs \ + cmake:devel/cmake-core \ + gawk:lang/gawk \ + gperf:devel/gperf \ + re2c:devel/re2c \ + xxd:sysutils/xxd +LIB_DEPENDS= libfmt.so:devel/libfmt \ + libserd-0.so:devel/serd \ + libsord-0.so:devel/sord + +USES= localbase luajit:luajit-openresty meson ncurses pathfix \ + pkgconfig ssl +USE_GCC= 12 +USE_GITHUB= nodefault +GH_TUPLE= BoostGSoC14:boost.http:93ae527c89ffc517862e1f5f54c8a257278f1195:emilua_http/subprojects/emilua-http \ + breese:trial.protocol:79149f6:trial_protocol/subprojects/trial-protocol +USE_GITLAB= yes + +MESON_ARGS= --buildtype=plain \ + --wrap-mode=nodownload \ + -Db_pch=false \ + -Denable_http=true \ + -Denable_manpages=true \ + -Denable_tests=true + +LDFLAGS+= -static-libstdc++ + +post-extract: + ${CP} ${WRKSRC}/subprojects/packagefiles/emilua-http/meson.build \ + ${WRKSRC}/subprojects/emilua-http/ + ${CP} ${WRKSRC}/subprojects/packagefiles/trial.protocol/meson.build \ + ${WRKSRC}/subprojects/trial-protocol/ + +post-install: + ${MV} ${STAGEDIR}${PREFIX}/man/man3em/* \ + ${STAGEDIR}${PREFIX}/man/man3/ + ${RMDIR} ${STAGEDIR}${PREFIX}/man/man3em + +.include <bsd.port.mk> diff --git a/lang/emilua/distinfo b/lang/emilua/distinfo new file mode 100644 index 000000000000..182313668fd7 --- /dev/null +++ b/lang/emilua/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1694922832 +SHA256 (BoostGSoC14-boost.http-93ae527c89ffc517862e1f5f54c8a257278f1195_GH0.tar.gz) = 4e90417806c285348d968183072918e86d7fd7d7db5affb63ec03faee92ed8ed +SIZE (BoostGSoC14-boost.http-93ae527c89ffc517862e1f5f54c8a257278f1195_GH0.tar.gz) = 237404 +SHA256 (breese-trial.protocol-79149f6_GH0.tar.gz) = ea82ba7736a2c6ae94e72587a454d3380517ed764df89e2297e6fac2acdeac03 +SIZE (breese-trial.protocol-79149f6_GH0.tar.gz) = 255698 +SHA256 (emilua-v0.4.3.tar.bz2) = 8e3ca114a3c71c985dfb8d84171a145bf245a679b5228dad27ce301ba899b15c +SIZE (emilua-v0.4.3.tar.bz2) = 313696 diff --git a/lang/emilua/files/patch-meson.build b/lang/emilua/files/patch-meson.build new file mode 100644 index 000000000000..2ca217ef1a24 --- /dev/null +++ b/lang/emilua/files/patch-meson.build @@ -0,0 +1,19 @@ +--- meson.build.orig 2023-05-01 18:05:51 UTC ++++ meson.build +@@ -31,7 +31,6 @@ luajit = dependency('luajit', version : '>=2.0.5') + boost = dependency( + 'boost', + version : '>=1.80', +- modules : boost_modules, + ) + fmt = dependency('fmt', version : '>=8.0') + serd = dependency('serd-0') +@@ -190,7 +189,7 @@ if get_option('enable_tests') + ) + else + # GNU Coreutils binaries are not specified explicitly, but expected too +- shell = find_program('bash', 'ksh') ++ shell = find_program('bash', 'ksh', 'tcsh') + endif + endif + diff --git a/lang/emilua/files/patch-src_mutex.cpp b/lang/emilua/files/patch-src_mutex.cpp new file mode 100644 index 000000000000..efcafa0015a9 --- /dev/null +++ b/lang/emilua/files/patch-src_mutex.cpp @@ -0,0 +1,10 @@ +--- src/mutex.cpp.orig 2023-05-01 18:05:51 UTC ++++ src/mutex.cpp +@@ -4,6 +4,7 @@ + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ + + EMILUA_GPERF_DECLS_BEGIN(includes) ++#define FMT_HEADER_ONLY + #include <fmt/format.h> + + #include <emilua/mutex.hpp> diff --git a/lang/emilua/pkg-descr b/lang/emilua/pkg-descr new file mode 100644 index 000000000000..fa5812a8dd14 --- /dev/null +++ b/lang/emilua/pkg-descr @@ -0,0 +1,4 @@ +Emilua strives to be the most complete execution engine for Lua. +Whether you want single-VM concurrency support to exploit complex +async IO interactions or multi-VM support to exploit possible parallelism +your needs should be covered. diff --git a/lang/emilua/pkg-plist b/lang/emilua/pkg-plist new file mode 100644 index 000000000000..447a35ec025d --- /dev/null +++ b/lang/emilua/pkg-plist @@ -0,0 +1,166 @@ +bin/emilua +include/emilua/actor.hpp +include/emilua/asio_error.hpp +include/emilua/async_base.hpp +include/emilua/byte_span.hpp +include/emilua/condition_variable.hpp +include/emilua/config.h +include/emilua/core.hpp +include/emilua/detail/core.hpp +include/emilua/fiber.hpp +include/emilua/file.hpp +include/emilua/file_descriptor.hpp +include/emilua/filesystem.hpp +include/emilua/generic_error.hpp +include/emilua/http.hpp +include/emilua/ip.hpp +include/emilua/json.hpp +include/emilua/linux_namespaces.hpp +include/emilua/lua_shim.hpp +include/emilua/modules.re +include/emilua/mutex.hpp +include/emilua/pipe.hpp +include/emilua/plugin.hpp +include/emilua/regex.hpp +include/emilua/scope_cleanup.hpp +include/emilua/serial_port.hpp +include/emilua/socket_base.hpp +include/emilua/state.hpp +include/emilua/stream.hpp +include/emilua/system.hpp +include/emilua/time.hpp +include/emilua/tls.hpp +include/emilua/unix.hpp +include/emilua/websocket.hpp +include/emilua/windows.hpp +libdata/pkgconfig/emilua.pc +libexec/emilua/emilua_gperf.awk +man/man1/emilua.1.gz +man/man3/asio_error.3em.gz +man/man3/byte_span.3em.gz +man/man3/condition_variable.3em.gz +man/man3/file.open_flag.3em.gz +man/man3/file.random_access.3em.gz +man/man3/file.read_all_at.3em.gz +man/man3/file.read_at_least_at.3em.gz +man/man3/file.stream.3em.gz +man/man3/file.write_all_at.3em.gz +man/man3/file.write_at_least_at.3em.gz +man/man3/file_descriptor.3em.gz +man/man3/filesystem.absolute.3em.gz +man/man3/filesystem.canonical.3em.gz +man/man3/filesystem.cap_get_file.3em.gz +man/man3/filesystem.cap_set_file.3em.gz +man/man3/filesystem.chmod.3em.gz +man/man3/filesystem.clock.3em.gz +man/man3/filesystem.copy.3em.gz +man/man3/filesystem.copy_file.3em.gz +man/man3/filesystem.copy_symlink.3em.gz +man/man3/filesystem.create_directory.3em.gz +man/man3/filesystem.create_hard_link.3em.gz +man/man3/filesystem.create_symlink.3em.gz +man/man3/filesystem.current_working_directory.3em.gz +man/man3/filesystem.directory_entry.3em.gz +man/man3/filesystem.directory_iterator.3em.gz +man/man3/filesystem.equivalent.3em.gz +man/man3/filesystem.file_size.3em.gz +man/man3/filesystem.hard_link_count.3em.gz +man/man3/filesystem.is_empty.3em.gz +man/man3/filesystem.last_write_time.3em.gz +man/man3/filesystem.path.3em.gz +man/man3/filesystem.proximate.3em.gz +man/man3/filesystem.read_symlink.3em.gz +man/man3/filesystem.recursive_directory_iterator.3em.gz +man/man3/filesystem.relative.3em.gz +man/man3/filesystem.remove.3em.gz +man/man3/filesystem.rename.3em.gz +man/man3/filesystem.resize_file.3em.gz +man/man3/filesystem.space.3em.gz +man/man3/filesystem.status.3em.gz +man/man3/filesystem.temp_directory_path.3em.gz +man/man3/filesystem.umask.3em.gz +man/man3/filesystem.weakly_canonical.3em.gz +man/man3/generic_error.3em.gz +man/man3/http.headers.3em.gz +man/man3/http.request.3em.gz +man/man3/http.response.3em.gz +man/man3/http.socket.3em.gz +man/man3/ip.address.3em.gz +man/man3/ip.address_info_flag.3em.gz +man/man3/ip.connect.3em.gz +man/man3/ip.get_address_info.3em.gz +man/man3/ip.get_name_info.3em.gz +man/man3/ip.host_name.3em.gz +man/man3/ip.message_flag.3em.gz +man/man3/ip.tcp.acceptor.3em.gz +man/man3/ip.tcp.socket.3em.gz +man/man3/ip.toendpoint.3em.gz +man/man3/ip.tostring.3em.gz +man/man3/ip.udp.socket.3em.gz +man/man3/json.3em.gz +man/man3/json.writer.3em.gz +man/man3/mutex.3em.gz +man/man3/pipe.pair.3em.gz +man/man3/pipe.read_stream.3em.gz +man/man3/pipe.write_stream.3em.gz +man/man3/regex.3em.gz +man/man3/serial_port.3em.gz +man/man3/stream.read_all.3em.gz +man/man3/stream.read_at_least.3em.gz +man/man3/stream.scanner.3em.gz +man/man3/stream.write_all.3em.gz +man/man3/stream.write_at_least.3em.gz +man/man3/system.arguments.3em.gz +man/man3/system.environment.3em.gz +man/man3/system.err.3em.gz +man/man3/system.exit.3em.gz +man/man3/system.getgroups.3em.gz +man/man3/system.getpgid.3em.gz +man/man3/system.getpgrp.3em.gz +man/man3/system.getpid.3em.gz +man/man3/system.getppid.3em.gz +man/man3/system.getresgid.3em.gz +man/man3/system.getresuid.3em.gz +man/man3/system.getsid.3em.gz +man/man3/system.in_.3em.gz +man/man3/system.kill.3em.gz +man/man3/system.linux_capabilities.3em.gz +man/man3/system.out.3em.gz +man/man3/system.setgroups.3em.gz +man/man3/system.setpgid.3em.gz +man/man3/system.setresgid.3em.gz +man/man3/system.setresuid.3em.gz +man/man3/system.setsid.3em.gz +man/man3/system.signal.3em.gz +man/man3/system.signal.default.3em.gz +man/man3/system.signal.ignore.3em.gz +man/man3/system.signal.raise.3em.gz +man/man3/system.signal.set.3em.gz +man/man3/system.spawn.3em.gz +man/man3/time.high_resolution_clock.3em.gz +man/man3/time.sleep.3em.gz +man/man3/time.steady_clock.3em.gz +man/man3/time.steady_timer.3em.gz +man/man3/time.system_clock.3em.gz +man/man3/time.system_timer.3em.gz +man/man3/tls.context.3em.gz +man/man3/tls.context_flag.3em.gz +man/man3/tls.socket.3em.gz +man/man3/unix.datagram_socket.3em.gz +man/man3/unix.message_flag.3em.gz +man/man3/unix.seqpacket_acceptor.3em.gz +man/man3/unix.seqpacket_socket.3em.gz +man/man3/unix.stream_acceptor.3em.gz +man/man3/unix.stream_socket.3em.gz +man/man3/websocket.3em.gz +man/man7/emilua-actor.7.gz +man/man7/emilua-alternatives.7.gz +man/man7/emilua-errors.7.gz +man/man7/emilua-fiber.7.gz +man/man7/emilua-getting-started.7.gz +man/man7/emilua-internals.7.gz +man/man7/emilua-interruption.7.gz +man/man7/emilua-linux_namespaces.7.gz +man/man7/emilua-lua51.7.gz +man/man7/emilua-modules.7.gz +man/man7/emilua-streams.7.gz