Matej Cepl
35775fdd39
- Update to version 3.11.0: Features: * luarocks build and luarocks install no longer rebuild or reinstall if the version is already installed (--force overrides). * More aggressive caching of the manifest file (does not hit luarocks.org again if the cached manifest is younger than 10 seconds). * Drops stale lock files (older than 1 hour). * More informative error reports on bad configurations of Lua paths (LUA_INCDIR, LUA_LIBDIR). * Better error messages when lacking permissions. * Bumps vendored dkjson dependency to 2.7. * --verbose output now prints the LuaRocks configuration, for more informative bug reports. Fixes: * Passing --global always LuaRocks target the system tree. * Does not crash if root_dir is a table. * Does not try to lock rocks trees when using --pack-binary-rock or --no-install. * Checks permissions ahead of trying to lock trees, to provide better error messages. * Avoids LuaSec version mismatch by refusing to use LuaSec versions below 1.1. * Does not set up a "project environment" when running make on the LuaRocks sources. - Updates from version 3.10.0 Features: * Introduce file-based locking for concurrent access control. Previously, LuaRocks would produce undefined behavior when running two instances at the same time. * Rockspec quality-of-life improvements: * Using an unknown build.type now automatically implies a build dependency for luarocks-build-<build.type>. * Improve rockspec.source.dir autodetection. * builtin build mode now automatically inherits include and libdirs from external_dependencies if not set explicitly. * improved and simplified Lua interpreter search. * lua_interpreter config value is deprecated in favor of variables.LUA which contains the full interpreter path. * luarocks-admin remove now supports the file:// protocol for managing local rocks servers. * Bundled dkjson library, so that luarocks upload does not require an external JSON library. * New flags for luarocks init: --no-gitignore, --no-wrapper-scripts, --wrapper-dir. * luarocks config now attempts updating the system config by default when local_by_default is false. * New flag for luarocks path: --full, for use with --lr-path and --lr-cpath. Fixes: * luarocks build no longer looks for Lua headers when installing pure-Lua rocks. * luarocks build table in rockspecs now gets some additional validation to prevent crashes on malformed rockspecs. * build.builtin now compiles C modules in a temporary directory, avoiding name clashes * build_dependencies now correctly installs dependencies for the Lua version that LuaRocks is running on, and not the one it is building for with --lua-version. * build_dependencies can now use a dependency available in any rocks tree (system, user, project). * luarocks config now prints boolean values correctly on Lua 5.1. * luarocks config now ensures the target directory exists when saving a configuration. * luarocks init now injects the project's package.(c)path in the Lua wrapper. * luarocks lint no longer crashes if a rockspec misses a description field. * luarocks test now handles malformed command entries gracefully. * if --lua-* flags are given in the CLI, the hardcoded values are never used. * the "no downloader" error is now shown only once, and not once per failed mirror. * project dir is always presented normalized * catch the failure to setup LUA_BINDIR early. * when using --pack-binary-rock and a zip program is unavailable, report that instead of failing cryptically. * More graceful handling when failing to create a local cache. * Avoid confusion with macOS multiarch binaries on system detection. * Add --tree to the rocks trees list. * Better support for LuaJIT versions with extra suffixes in their version numbers. * Don't use floats to parse Lua version number. * Various fixes related to path normalization. - Updates from version 3.9.2: * Configuration now honors typical compiler environment variables for all build backends such as MAKE, CC, AR, RANLIB * luarocks test now checks/installs all dependency kinds (build, runtime, test), so you don't need to run luarocks make --only-deps in CI environments to get all dependencies needed to run a test * Fixed crash if variables.LUA* are unset in configuration * Fix luarocks test --prepare behavior for non-Busted tests * Internal API fixes * path.path_to_module: accept custom file extensions in package path variables * persist.save_from_table: ensure directory exists when saving a file OBS-URL: https://build.opensuse.org/request/show/1169656 OBS-URL: https://build.opensuse.org/package/show/devel:languages:lua/lua-luarocks?expand=0&rev=34
111 lines
3.6 KiB
RPMSpec
111 lines
3.6 KiB
RPMSpec
#
|
|
# spec file for package lua-luarocks
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
# Copyright (c) 2012 Togan Muftuoglu toganm@opensuse.org
|
|
#
|
|
# 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/
|
|
#
|
|
|
|
|
|
%define flavor @BUILD_FLAVOR@%{nil}
|
|
%define mod_name luarocks
|
|
%define lua_value %(echo "%{flavor}" |sed -e 's:lua::')
|
|
Version: 3.11.0
|
|
Release: 0
|
|
Summary: A deployment and management system for Lua modules
|
|
License: MIT
|
|
Group: Development/Languages/Other
|
|
URL: https://luarocks.org
|
|
Source0: https://luarocks.org/releases/%{mod_name}-%{version}.tar.gz
|
|
Patch0: lib64.patch
|
|
BuildRequires: %{flavor}-devel
|
|
BuildRequires: curl
|
|
BuildRequires: lua-macros
|
|
BuildRequires: openssl
|
|
BuildRequires: unzip
|
|
Requires: %{flavor}
|
|
Requires: curl
|
|
Requires: openssl
|
|
Requires: unzip
|
|
Requires: zip
|
|
Requires(post): update-alternatives
|
|
Requires(postun): update-alternatives
|
|
BuildArch: noarch
|
|
%lua_provides
|
|
%if "%{flavor}" == ""
|
|
Name: lua-%{mod_name}
|
|
ExclusiveArch: do_not_build
|
|
%else
|
|
Name: %{flavor}-%{mod_name}
|
|
%endif
|
|
|
|
%description
|
|
LuaRocks allows you to install Lua modules as self-contained packages
|
|
called "rocks", which also contain version dependency
|
|
information. This information is used both during installation, so
|
|
that when one rock is requested all rocks it depends on are installed
|
|
as well, and at run time, so that when a module is required, the
|
|
correct version is loaded. LuaRocks supports both local and remote
|
|
repositories, and multiple local rocks trees.
|
|
|
|
%prep
|
|
%autosetup -n %{mod_name}-%{version} -p1
|
|
|
|
%build
|
|
# Not an autotools based system
|
|
./configure \
|
|
--prefix=%{_prefix} \
|
|
--lua-version=%{lua_version}
|
|
make %{?_smp_mflags} build
|
|
|
|
%install
|
|
%make_install
|
|
mv %{buildroot}%{_bindir}/luarocks{,-%{lua_version}}
|
|
mv %{buildroot}%{_bindir}/luarocks-admin{,-%{lua_version}}
|
|
|
|
# update-alternatives
|
|
mkdir -p %{buildroot}%{_sysconfdir}/alternatives/
|
|
touch %{buildroot}%{_sysconfdir}/alternatives/luarocks
|
|
ln -sf %{_sysconfdir}/alternatives/luarocks %{buildroot}%{_bindir}/luarocks
|
|
touch %{buildroot}%{_sysconfdir}/alternatives/luarocks-admin
|
|
ln -sf %{_sysconfdir}/alternatives/luarocks %{buildroot}%{_bindir}/luarocks-admin
|
|
|
|
# rockstree
|
|
mkdir -p %{buildroot}%{luarocks_treedir}
|
|
|
|
%post
|
|
%{_sbindir}/update-alternatives --install %{_bindir}/luarocks luarocks %{_bindir}/luarocks-%{lua_version} %{lua_value} \
|
|
--slave %{_bindir}/luarocks-admin luarocks-admin %{_bindir}/luarocks-admin-%{lua_version}
|
|
|
|
%postun
|
|
if [ "$1" = 0 ] ; then
|
|
%{_sbindir}/update-alternatives --remove luarocks %{_bindir}/luarocks-%{lua_version}
|
|
fi
|
|
|
|
%files
|
|
%license COPYING
|
|
%doc README.md CHANGELOG.md
|
|
%dir %{_sysconfdir}/luarocks
|
|
%config(noreplace) %{_sysconfdir}/luarocks/config-%{lua_version}.lua
|
|
%ghost %{_sysconfdir}/alternatives/luarocks
|
|
%ghost %{_sysconfdir}/alternatives/luarocks-admin
|
|
%{_bindir}/luarocks
|
|
%{_bindir}/luarocks-admin
|
|
%{_bindir}/luarocks-%{lua_version}
|
|
%{_bindir}/luarocks-admin-%{lua_version}
|
|
%{lua_noarchdir}/luarocks
|
|
%dir %{_prefix}/lib/luarocks/rocks-%{lua_version}
|
|
%dir %{_prefix}/lib/luarocks
|
|
|
|
%changelog
|