aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Experimental Windows cross-compiled binary buildHisham Muhammad2018-07-029-63/+264
| | | | | | | | | | | | 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.
* test.busted: luacheck fixHisham Muhammad2018-07-011-2/+3
|
* Do we want LuaRocks itself to use whatever tree is in use?Hisham Muhammad2018-07-011-0/+7
|
* test: remove incorrect commentHisham Muhammad2018-07-011-8/+0
|
* Tests: improve isolation of testsHisham Muhammad2018-07-012-10/+14
|
* rockspec: fix handling of rockspec_format versionsHisham Muhammad2018-07-012-31/+56
| | | | | | | | | | * luarocks/type_check.lua: * fix expansion of platforms * luarocks/type/rockspec.lua: * when a version fails checking, try with a later version to produce a hint in the error message. See #823.
* fun: add reverse_in and sort_inHisham Muhammad2018-07-011-0/+15
| | | | | * reverse_in: reverse table in-place * sort_in: sort table in-place
* Tests: remove outdated testHisham Muhammad2018-07-011-20/+0
| | | | | Remove regression test for #304 because LuaRocks no longer conflates foo and foo.init as the same module.
* manifest: add 'namespace' to the type checkerHisham Muhammad2018-07-011-3/+4
|
* cmd: process --version only after cfg.initHisham Muhammad2018-07-011-6/+8
|
* Tests: remove precompiled header added incorrectlyHisham Muhammad2018-07-011-0/+0
|
* Unix: new build systemHisham Muhammad2018-07-0113-596/+1213
| | | | | | | | | | * Reworked configure script * Now passes shellcheck * New Makefile for Unix * Simplified `make` and `make install` targets * Simplified `make bootstrap` target * New targets `make binary` and `make install-binary` build and install an all-in-one binary of LuaRocks
* path: output PATH by default, change --bin to --no-binHisham Muhammad2018-07-012-2/+3
|
* path, loader: handle coexisting foo.bar and foo.bar.init modulesHisham Muhammad2018-07-012-17/+24
| | | | | | | | LuaRocks used to conflate in its manifest two modules whose names only differed by ".init" (e.g. "foo.bar" and "foo.bar.init"). With this change, `path.path_to_modules` treats them as distinct modules, and `luarocks.loader` handles them correctly (given `require("foo.bar")`, it looks for `foo.bar` first and then `foo.bar.init` next).
* write_rockspec: cleanup all rockspec internal fieldsHisham Muhammad2018-07-011-0/+10
|
* wrapper scripts: honor deps_mode when wrapping scriptsHisham Muhammad2018-07-016-16/+36
|
* build, write_rockspec: autodetect scripts to install as wellHisham Muhammad2018-07-012-7/+20
|
* Travis: fix cache directoriesHisham Muhammad2018-07-011-10/+8
|
* Let LuaRocks find LUA_LIBDIR and LUA_INCDIR by itselfHisham Muhammad2018-07-017-59/+48
|
* mingw32: do not link Lua staticallyHisham Muhammad2018-07-012-0/+17
|
* Tests: config: no need for special-casing WindowsHisham Muhammad2018-07-012-37/+20
|
* Windows: disable fs modules for nowHisham Muhammad2018-07-011-0/+1
|
* fs: do not cache cfg.variablesHisham Muhammad2018-07-013-25/+21
| | | | | | | Avoid relying on the order that cfg and fs are required. This is not strictly required in regular operation, but it allows us to mock cfg and use fs.
* build: resolve LUALIB at runtimeHisham Muhammad2018-07-013-138/+178
| | | | | | Move logic from install.bat for resolving LUALIB (the name of the Lua library) reusing the standard LuaRocks functionality for finding external dependency libraries.
* Tests: improve hardcoded defaultsHisham Muhammad2018-07-011-12/+28
|
* Tests: try some smarter defaults for WindowsHisham Muhammad2018-07-011-3/+6
|
* Windows: support hardcoded.WIN_TOOLS for tool pathsHisham Muhammad2018-07-011-0/+8
|
* Tests: do not run installer on WindowsHisham Muhammad2018-07-011-35/+38
|
* cfg: add / to external_deps_dirs, because some Linux libraries still live in ↵Hisham Muhammad2018-07-011-1/+1
| | | | /lib
* Tests: speed up downloading rocks reusing HTTP connectionHisham Muhammad2018-07-011-8/+15
|
* config: Lua 5.1/5.2 compatibility fixHisham Muhammad2018-07-011-1/+3
|
* fs: add LuaPosix-version of set_permissionsHisham Muhammad2018-07-013-51/+92
| | | | | | | | This implemention the ugly side-effect of "exposing" some Unix-specific utility functions to the public API, so they can be shared by `luarocks.fs.lua` and `luarocks.fs.unix.tools`. I named those functions `_unix_*` (with a Python-style `_` at the beginning) to clarify that they should not be used publicly.
* fs.lua: add a LuaPosix-independent version of make_temp_dirHisham Muhammad2018-07-011-0/+18
| | | | This version can run on Windows using lfs alone.
* manif: fix loading rock manifest from the correct repoHisham Muhammad2018-07-011-1/+1
| | | | | get_providing_file was always loading the rock_manifest from the default repo.
* fs: math.randomseed only onceHisham Muhammad2018-07-013-4/+2
|
* show: add --porcelain and --rock-license optionsHisham Muhammad2018-07-012-74/+130
|
* command: auto-export some standard variablesHisham Muhammad2018-07-011-3/+10
|
* fs: add execute_env: execute with environment variablesHisham Muhammad2018-07-011-0/+9
|
* config: be more resilient when reading config filesHisham Muhammad2018-07-011-2/+1
|
* fs: nicer error message when cfg is not initializedHisham Muhammad2018-07-011-0/+4
|
* cmd, cfg: read project-dir configurationHisham Muhammad2018-07-013-9/+40
|
* cmd, Tests: ensure versioned directory is tried firstHisham Muhammad2018-07-012-3/+3
|
* cmd: ensure that found Lua matches version requested with --lua-versionHisham Muhammad2018-07-011-24/+26
|
* Tests: ensure that tests do not accidentally find a project dirHisham Muhammad2018-07-012-0/+3
|
* builtin: only add Lua libdir when linking libluaHisham Muhammad2018-07-011-2/+3
|
* Tests: minor cleanupsHisham Muhammad2018-07-012-5/+6
|
* cfg, cmd: major reorganizationHisham Muhammad2018-07-0113-820/+1007
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * `--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
* persist: add save_as_module, for all-in-one binaryHisham Muhammad2018-07-011-2/+33
|
* build: use cfg.is_platform()Hisham Muhammad2018-07-011-1/+1
|
* util: support listing Lua versions in descending orderHisham Muhammad2018-07-011-4/+12
|