# # spec file # # Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %bcond_without test %define flavor @BUILD_FLAVOR@ %define mod_name luarepl %define lua_value %(echo "%{flavor}" |sed -e 's:lua::') %define rock_version 0.10-1 Version: 0.10 Release: 0 Summary: A Lua REPL implemented in Lua for embedding in other programs License: MIT Group: Development/Languages/Other URL: https://github.com/hoelzro/lua-repl Source: lua-repl-%{version}.tar.xz BuildRequires: %{flavor}-luarocks BuildRequires: %{flavor}-devel %if %{with test} BuildRequires: perl BuildRequires: %{flavor}-testmore %endif Requires: %{flavor} Requires: bash-sh # https://github.com/hoelzro/lua-repl#recommended-packages Recommends: %{flavor}-linenoise # Enable filename_completion plugin Suggests: %{flavor}-filesystem %lua_provides %if "%{flavor}" == "" Name: lua-%{mod_name} ExclusiveArch: do_not_build %else Name: %{flavor}-%{mod_name} %endif BuildArch: noarch Requires(post): update-alternatives Requires(postun):update-alternatives %description This project has two uses: - An alternative to the standalone interpreter included with Lua, one that supports things like plugins, tab completion, and automatic insertion of return in front of expressions. - A REPL library you may embed in your application, to provide all of the niceties of the standalone interpreter included with Lua and then some. %prep %autosetup -n lua-repl-%{version} # Fix the Lua shebang of rep.lua script sed -i -r '1s/env (lua)/\1%{lua_version}/' rep.lua %build %luarocks_build "%{mod_name}-%{rock_version}.rockspec" %install %luarocks_install *.rock # Version the rep.lua file sed -i -r -e "s#%{buildroot}##" -e "s#(/bin/rep.lua)#\1-%{lua_version}#" \ "%{buildroot}/usr/bin/rep.lua" mv %{buildroot}%{_bindir}/rep.lua{,-%{lua_version}} # update-alternatives mkdir -p %{buildroot}%{_sysconfdir}/alternatives/ touch %{buildroot}%{_sysconfdir}/alternatives/rep.lua ln -sf %{_sysconfdir}/alternatives/rep.lua %{buildroot}%{_bindir}/rep.lua mkdir -p %{buildroot}%{luarocks_treedir}/%{mod_name}/%{rock_version}/bin touch %{buildroot}%{luarocks_treedir}/%{mod_name}/%{rock_version}/bin/rep.lua-%{lua_version} ln -sf %{luarocks_treedir}/%{mod_name}/%{rock_version}/bin/rep.lua \ %{buildroot}%{luarocks_treedir}/%{mod_name}/%{rock_version}/bin/rep.lua-%{lua_version} %post %{_sbindir}/update-alternatives --install %{_bindir}/rep.lua rep.lua %{_bindir}/rep.lua-%{lua_version} %{lua_value} %postun if [ "$1" = 0 ] ; then %{_sbindir}/update-alternatives --remove rep.lua %{_bindir}/rep.lua-%{lua_version} fi %if %{with test} %check make test %endif %files %license %{luarocks_treedir}/%{mod_name}/%{rock_version}/doc/COPYING %docdir %{luarocks_treedir}/%{mod_name}/%{rock_version}/doc %{lua_noarchdir} %{luarocks_treedir}/%{mod_name} %ghost %{_sysconfdir}/alternatives/rep.lua %{_bindir}/rep.lua %{_bindir}/rep.lua-%{lua_version} %changelog