Name: emilua Version: 0.10.0 Release: %autorelease Summary: Lua execution engine License: BSL-1.0 AND MIT URL: https://gitlab.com/%{name}/%{name} # The primary source for Emilua Source0: %{url}/-/archive/v%{version}/%{name}-v%{version}.tar.gz # Additional source for protocol definitions needed for the build Source1: https://github.com/breese/trial.protocol/archive/79149f604a49b8dfec57857ca28aaf508069b669/trial-protocol-79149f6.tar.gz BuildRequires: meson BuildRequires: gcc-c++ BuildRequires: boost-devel BuildRequires: cereal-devel BuildRequires: re2c BuildRequires: gawk BuildRequires: gperf BuildRequires: rubygem-asciidoctor BuildRequires: pkgconfig BuildRequires: luajit-devel BuildRequires: fmt-devel BuildRequires: cmake BuildRequires: liburing-devel BuildRequires: libcap-devel >= 2.69 BuildRequires: openssl-devel BuildRequires: ncurses-devel BuildRequires: serd-devel BuildRequires: sord-devel %if 0%{?fedora} >= 41 BuildRequires: openssl-devel-engine %endif # Support is currently available for x86_64 and aarch64 architectures. # Support for other architectures is in progress, with ongoing efforts to resolve LuaJIT porting issues. ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 # Disable generation of .build-id links %global _build_id_links none %description Emilua is a cross-platform Lua execution engine with support for asynchronous I/O and flexible threading. It implements many concurrency models for applications to experiment with, including fiber, actors, and process-based concurrency. For process-based concurrency, it also offers many sandboxing choices. %package devel Summary: Development files for emilua Requires: %{name} = %{version}-%{release} %description devel Development files (Headers, etc) for emilua. %prep %autosetup -n %{name}-v%{version} tar -xzf %{SOURCE1} -C subprojects/ cd subprojects mv trial.protocol-79149f604a49b8dfec57857ca28aaf508069b669/ trial-protocol cp packagefiles/trial.protocol/meson.build trial-protocol/ %build %meson -Dversion_suffix=-fedora%{release} -Denable_file_io=true -Denable_io_uring=true %meson_build %check %meson_test %install %meson_install %files %{_bindir}/%{name} %{_libdir}/libemilua.so.0.10.0 %{_libdir}/libemilua.so.0 %{_mandir}/man1/* %dir %{_mandir}/man3em %{_mandir}/man3em/* %{_mandir}/man7/* %files devel %dir %{_includedir}/%{name} %{_includedir}/%{name}/* %{_libdir}/libemilua.so %{_libdir}/pkgconfig/%{name}.pc %dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/* %changelog %autochangelog * Sun Sep 01 2024 Valter Nazianzeno - 0.10.0-1 - Added function tls.dial(). - Added file_descriptor property non_blocking. - Added new bindings in init.script. - Changed tls.context to be an optional parameter to tls.socket's constructor.