lua-luarocks/lua-luarocks.spec

111 lines
3.6 KiB
RPMSpec
Raw Permalink Normal View History

#
Accepting request 1169656 from home:smolsheep:upgrades - 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
2024-04-23 16:15:08 +02:00
# spec file for package lua-luarocks
#
Accepting request 1169656 from home:smolsheep:upgrades - 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
2024-04-23 16:15:08 +02:00
# 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::')
Accepting request 1169656 from home:smolsheep:upgrades - 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
2024-04-23 16:15:08 +02:00
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
Accepting request 1169656 from home:smolsheep:upgrades - 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
2024-04-23 16:15:08 +02:00
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