Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Teto/merge 3.11 #36

Closed
wants to merge 116 commits into from
Closed

Teto/merge 3.11 #36

wants to merge 116 commits into from

Conversation

teto
Copy link
Collaborator

@teto teto commented May 31, 2024

No description provided.

imolein and others added 30 commits March 2, 2023 13:58
Current implementation of path normalisation contains various flaws:

- Trailing `.` and `..` at the end of path don't get normalised,
- Path `/` turns into an empty string after normalisation.

This patch changes implementation of normalisation to fix these.
`admin add` can add rockspec using the file protocol without any problems:
./bin/luarocks-admin add testapp-scm-1.rockspec --server '/tmp/rocks/orig'

But deletion only works using the rsync protocol.
This patch adds deletion via file protocol.
Ignore any extra version info in jit.version when separated by a space.

A normal LuaJIT jit.version string looks like "LuaJIT 2.1.0-beta3".
Since official LuaJIT releases have all but stopped, various forks
continue to use the same version for all forks.

This change allows forks and patched rebuilds to add additional version
information at the end of the string without breaking luarocks version
detection, e.g. "LuaJIT 2.1.0-beta3 some-extra-version-info".
As mentioned by @erw7 in
luarocks#1443 (comment),
quotes is required when using io.popen but causes problems when using
io.iopen. This makes luarocks unable to find its own md5sum.exe it is
shipped with.

Fixes luarocks#1443
Fixes neovim/neovim#22752

Co-authored-by: erw7 <erw7.github@gmail.com>
* Fixes a crash in `fulfill_dependency()` on musl
Reduce some variable aliasing, just in case this is what is triggering
possible LuaJIT bugs on the MIPS-based LoongArch architecture.

See luarocks#1553.
Closes luarocks#1514.

Co-Authored-By: FractalU <r.beckmann@protonmail.com>
When installing build dependencies, do so for the Lua version on which the
LuaRocks program is actually running, and not the one selected by the user via
config or `--lua-version`.

To do that, we temporarily flip the user-selected Lua version. It's a hacky
approach because we have to do this by flipping a bunch of global config
settings, and we may be missing some entries.

This definitely needs a better solution, but this is what can be done somewhat
easily in the current architecture. A full solution needs to address have
several complications (e.g. if you have a build dependency that needs to be
compiled, it will require C headers for another version of LuaRocks, and the
binary might be compiled with a different Lua version than the one the
developer has set up in their machine.)
LuaRocks does not validate the contents of the build table
because each backend defines it on this own. These validations
should be enough to address luarocks#1477, but ideally each bundled
`build` backend should have its own validator like the one
on `luarocks.type.rockspec`.

Fixes luarocks#1477.
If a rockspec has external_dependencies but the module entry does
not specify incdirs or libdirs, then autoextract those values from
external_dependencies and apply it to the module entry.

Hopefully this will improve compatibility of existing rockspecs
that did not fully specify their incdirs and libdirs, such as
https://github.com/brimworks/lua-yajl/blob/078e48147e89d34b8224a07129675aa9b5820630/rockspecs/lua-yajl-2.0-1.rockspec

Fixes luarocks#1239.
...to get rid of the GitHub Actions warning about Node.js 16
hishamhm and others added 29 commits February 29, 2024 17:26
The lock error message has clobbered the check_command_permissions
error message. This is an interim solution, but we should probably
move the permissions check further up for a more informative error.
Co-Authored-By: Hisham Muhammad <hisham@gobolinux.org>
This should provide a better error message.
This alleviates the issue in the specific invocation given in luarocks#1425,
but I don't think it is a full solution.

See luarocks#1425.
* Make output more informative for bug reports:
  * print `luarocks config` output at the top
* Make output a bit more compact:
  * shorter output for os.execute
  * do not output fs.current_dir()
Release 3.11.0
@teto teto closed this May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.