| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Includes special config keys `lua_dir` and `lua_version`,
which are essentially persistent versions of --lua-dir
and --lua-version:
* `lua_dir` writes a number of LUA_* variables and
cfg.lua_interpreter in the current scope's config file.
* `lua_version` writes default-lua-version.lua to the
given scope.
Also deprecates the "flag" versions for various getters:
* `--lua-incdir`: use `luarocks config variables.LUA_INCDIR`
* `--lua-libdir`: use `luarocks config variables.LUA_LIBDIR`
* `--lua-ver`: use `luarocks config lua_version`
* `--system-config`: use `luarocks config config_files.system.file`
* `--user-config`: use `luarocks config config_files.user.file`
* `--rock-trees`: use `luarocks config rocks_trees`
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* Introduce a new module, `luarocks.signing`
* Add `--sign` option to `luarocks pack`, which produces a
detached GPG signature
* Includes a basic test, along with some fixtures with
a password-less GPG key
|
| |
|
| |
|
|
|
|
| |
Closes #947.
|
| |
|
|
|
|
|
| |
Detect operating system and architecture without forking subprocesses,
doing `file`-like detection reading data from well-known system
executables.
|
|
|
|
|
|
| |
(Amended with a regression test.)
Co-authored-by: Hisham Muhammad <hisham@gobolinux.org>
|
| |
|
|
|
|
|
|
|
|
| |
The Lua version dependency specified with --lua-versions
was using the internal table format. This commit ensures that
it is stored in rockspecs using the string format.
Includes a regression test.
|
| |
|
|
|
|
|
|
|
| |
Fixes conflict between the use of --lua-version in write_rockspec
to list supported Lua versions in a rockspec (now renamed
to --lua-versions) and the general --lua-version flag used to
select a Lua interpreter.
|
|
|
|
|
| |
This tests the behavior of upgrades and downgrades on rocks that deploy both
foo.lua and foo.so
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Running luarocks init a second time after deleting the rockspec was
mis-detects .luarocks/config-5.x.lua as a module, creating an entry
`["luarocks.config-5.3"] = ".luarocks/config-5.3.lua"` in `build.modules`.
Same problem happened with modules under `lua_modules`.
This excludes `.luarocks` and `lua_modules` from module detection.
Includes a regression test.
Closes #847.
|
|
|
|
|
|
|
|
| |
substring of the version (#868)
* Do not rewrite path in util.cleanup_path if the desired version is a substring of the version
* Improve test coverage for core.util.cleanup_path
|
| |
|
|
|
|
| |
Fixes #856.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Use luarocks.tools.tar for handling tar files, and add platform-specific
functions fs.zip, fs.unzip, fs.bunzip2, fs.gunzip, giving them native
implementations using Lua modules or alternative implementations using
third-party tools.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit consolidates the work that has been ongoing over the
last few weeks in producing the single-binary builds of LuaRocks
based on the new distribution model described in
https://github.com/luarocks/luarocks/wiki/Project:-LuaRocks-new-distribution-model
The single-binary build is in a good shape for Linux,
it's a work-in-progress for Windows (binaries do build,
but some work on the dependencies is still necessary),
and is untested in macOS.
|
| |
|
|
|
|
|
| |
Remove regression test for #304 because LuaRocks no longer
conflates foo and foo.init as the same module.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* `--lua-dir` flag, specifying a prefix for the Lua installation to
be used. This reconfigures LuaRocks entirely, including allowing
a LuaRocks which is itself running using one Lua 5.x version to
manage packages for a different Lua 5.y version. The resulting
configuration can be checked with `luarocks config --lua-dir=<path>`.
* requiring `luarocks.core.cfg` no longer has side-effects
* configuration now needs to be initialized with `cfg.init([lua_data])`,
where `lua_data` is a table with the configuration of the VM:
* `lua_version` - e.g. `"5.3"`
* `luajit_version` - e.g. `"2.1.0-beta3"`
* `lua_interpreter` - e.g. `"lua5.3"`
* `lua_bindir` - e.g. `"/usr/local/bin"`
* `lua_libdir` - e.g. `"/usr/local/lib"`
* `lua_incdir` - e.g. `"/usr/local/include/lua-5.3"`
* `cfg.init` can be called multiple times, reconfiguring the global state.
This is important since `luarocks.loader` now calls it, and the `--lua-dir`
command line can override the configuration and reconfigure LuaRocks.
* `site_config_*` is no more: LuaRocks is no longer dependent on a properly-written
site_config file. Instead, it can *optionally* use `luarocks.core.hardcoded`
for hardcoded values, or detect its configuration at runtime, based on
OS detection, arg[-1] or command-line flags.
* reduction of moving parts in the configuration:
* `cfg.platforms` is no longer a globally-visible table; instead, `cfg`
provides an API of read-only functions: `is_platform`, `each_platform`,
`print_platforms`.
* `cfg.*_proxy` options are no longer configured via the config files,
but rather via the standard `*_proxy` environment variables.
* `"windows"` is now the more general platform name of the Windows family.
This is technically a breaking change but I don't expect it to cause
problems with real-world rockspecs.
* internal code reorganization in `luarocks.cmd` module
|