aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* fix(show): print commands correctly in --porcelain modeHisham Muhammad2024-02-171-2/+1
|
* fix(build): report if zip is unavailable for --pack-binary-rockHisham Muhammad2024-02-171-2/+3
| | | | Fixes #1414.
* fix(build): add some validation to the build tableHisham Muhammad2024-02-171-0/+6
| | | | | | | | | | 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 #1477, but ideally each bundled `build` backend should have its own validator like the one on `luarocks.type.rockspec`. Fixes #1477.
* fix: install build_dependencies on the correct Lua versionHisham Muhammad2024-02-172-6/+37
| | | | | | | | | | | | | | | | | 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.)
* fix(config): update system config by default with local_by_default = falseRoman Orekhov2024-02-171-1/+1
| | | | Fixes #1512.
* feat(init): add --no-gitignore, --no-wrapper-scripts, --wrapper-dirHisham Muhammad2024-02-171-32/+66
| | | | Closes #1513.
* fix: handle error when failing to create local_cacheHisham Muhammad2024-02-171-1/+6
| | | | | | Closes #1514. Co-Authored-By: FractalU <r.beckmann@protonmail.com>
* fix: sysdetect: prefer interpreter to avoid multiarch shell on macOSHisham Muhammad2024-02-171-1/+1
| | | | | | Thanks @RunsFor for the suggested workaround! Fixes #1529.
* refactor: reduce some aliasingHisham Muhammad2024-02-172-11/+13
| | | | | | | Reduce some variable aliasing, just in case this is what is triggering possible LuaJIT bugs on the MIPS-based LoongArch architecture. See #1553.
* fix: avoid cross-device linksHisham Muhammad2024-02-171-4/+1
| | | | Fixes #1559
* fix: `build.install_command` doesn't execute on windowsSewbacca2024-02-162-6/+16
|
* fix: build_dependencies can use a dependency found anywhereHisham Muhammad2024-02-161-1/+1
|
* fix: avoid nil crash if config_files is not fully filledHisham Muhammad2024-02-151-1/+6
| | | | | | | | I couldn't track down which scenarios cause this, but it has happened on Windows: See: https://github.com/lunarmodules/luasystem/pull/17 See: https://github.com/lunarmodules/luasystem/actions/runs/7907096563/job/21583369125?pr=17
* Introduce locking for concurrent access control (#1557)Hisham Muhammad2023-12-1312-10/+100
| | | Fixes #1540
* improve rockspec.source.dir detection by moving it later (#1555)Hisham Muhammad2023-12-125-43/+88
|
* fs.tools: do not cd to initial directoryHisham Muhammad2023-12-121-3/+5
| | | | Fixes #1545
* fix: Add value specified via --tree to cfg.rocks_trees (#1549)leso-kn2023-12-111-0/+3
| | | | * Fixes a crash in `fulfill_dependency()` on musl
* Don't use floats to parse the Lua version (#1552)Michael Savage2023-12-111-4/+2
|
* feat: auto-add luarocks-build-<build.type> build dependency (#1542)Hisham Muhammad2023-10-311-0/+30
|
* Strip quotes for tools in paths on Windows (#1498)dundargoc2023-10-311-1/+2
| | | | | | | | | | | | As mentioned by @erw7 in https://github.com/luarocks/luarocks/issues/1443#issuecomment-1483816481, 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 https://github.com/luarocks/luarocks/issues/1443 Fixes https://github.com/neovim/neovim/issues/22752 Co-authored-by: erw7 <erw7.github@gmail.com>
* luajit: ignore extra version info in jit.version (#1519)wojas2023-10-311-1/+2
| | | | | | | | | | | 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".
* admin: remove now works with the file protocol (#1536)Pavel Balaev2023-10-311-3/+11
| | | | | | | `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.
* Fix problems in path normalisation algorithm (#1541)Aleksei Volkov2023-10-301-4/+7
| | | | | | | | 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.
* update domain name of mirror (luafr.org -> loadk.com) (#1517)Pierre Chapuis2023-07-261-1/+1
|
* upload.api: using CURLNOCERTFLAG in curl_cmd instead of hardcoded -k (#1490)Sebastian Hübner2023-03-021-1/+1
|
* build.builtin: added support for clang on Windows (#1466)Apoorv Sachan2022-12-081-2/+10
|
* path.path_to_module: accept custom extensions in package.(c)path (#1468)Hisham Muhammad2022-12-071-13/+18
|
* fix `test --prepare` with non-busted rocks (#1453)Pierre Chapuis2022-11-281-1/+5
| | | * fix `test --prepare` with non-busted rocks
* cfg: follow standard enviromental variablesArtturin2022-08-261-33/+33
| | | | distributions use these to use the correct compiler and other tools
* luarocks test: add nil checkHisham Muhammad2022-08-261-1/+1
|
* luarocks test: check all dependency kindsHisham Muhammad2022-08-261-4/+11
| | | | | | When running tests we usually need runtime, build and test dependencies. This avoid having CI setups need to run `luarocks make --only-deps` in order to run `luarocks test`.
* persist: create directory for file to be savedHisham Muhammad2022-08-261-0/+2
|
* mingw: default to x86_64 compiler on 64-bit WindowsHisham Muhammad2022-08-261-3/+8
|
* avoid crash if variables.LUA* are unsetHisham Muhammad2022-08-251-3/+3
| | | | Fixes #1418
* deps: sanity check on luajitverHisham Muhammad2022-06-061-1/+1
|
* loader.which: new option for searching package.path and cpathHisham Muhammad2022-06-062-20/+48
| | | | | | | | | | | | | | | | | | | | | | | | | Adds a new second argument, `where`, a string which indicates places to search for the module. If `where` contains "l", it will search using the LuaRocks loader; if it contains "p", it will look in the filesystem using package.path and package.cpath. You can use both at the same time. If successful, it will return four values. * If found using the LuaRocks loader, it will return: * filename of the module (eg. "/usr/local/lib/lua/5.1/socket/core.so"), * rock name * rock version * "l" to indicate the match comes from the loader. * If found scanning package.path and package.cpath, it will return: * filename of the module (eg. "/usr/local/lib/lua/5.1/socket/core.so"), * "path" or "cpath" * nil * "p" to indicate the match comes from scanning package.path and cpath. If unsuccessful, nothing is returned.
* test: perform variable substitutions in test.flagsHisham Muhammad2022-06-064-16/+13
|
* fix error message when Lua library is not foundHisham Muhammad2022-05-181-1/+1
|
* Add --no-project flag to override .luarocks project dirHisham Muhammad2022-05-031-1/+6
|
* deps: be more lenient in library version checkHisham Muhammad2022-04-161-8/+18
|
* deps: verify version mismatch when checking for Lua libraryHisham Muhammad2022-04-161-2/+11
|
* deps: better error message when lua.h version mismatchesHisham Muhammad2022-04-161-7/+15
|
* fs.unix: fallback for when $USER variable is unsetHisham Muhammad2022-04-163-9/+19
| | | | | | Also, declare Unix version of current_user in luarocks.fs.unix.tools, so that the pure-Lua version based on LuaPosix takes precedence when available.
* search: avoid mixing up version and repo in pick_installed_rockHisham Muhammad2022-04-161-7/+3
|
* Configurations for program_series and major_version are unusedHisham Muhammad2022-04-161-4/+0
| | | | | | They look like useless maintenance burden, and I seriously doubt anyone uses those in their config files. In any case, they're easy to derive from cfg.program_version.
* macos: support .tbd extension for later versions of macOSHisham Muhammad2022-04-121-0/+2
|
* macos: add best-effort library search for HomebrewHisham Muhammad2022-04-121-0/+8
|
* macos: use XCode SDK path by defaultHisham Muhammad2022-04-121-0/+5
|
* fs: try to accept a quoted filename with spacesHisham Muhammad2022-04-111-1/+1
|
* fs.is_tool_available: if it looks like a pathname, try that firstHisham Muhammad2022-04-111-1/+14
| | | | | Some uses of is_tool_available use binary names that can be overriden by the user via configuration.