diff options
-rw-r--r-- | CHANGELOG.md | 213 | ||||
-rw-r--r-- | appveyor.yml | 4 | ||||
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | install.bat | 2 | ||||
-rw-r--r-- | luarocks-dev-1.rockspec (renamed from luarocks-3.3.0-1.rockspec) | 3 | ||||
-rwxr-xr-x | publishrelease | 7 | ||||
-rw-r--r-- | src/luarocks/core/cfg.lua | 4 |
7 files changed, 11 insertions, 226 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index c6efcab6..f161fcb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md | |||
@@ -1,216 +1,5 @@ | |||
1 | 1 | ||
2 | ## What's new in LuaRocks 3.3.0 | 2 | ## What's new in LuaRocks 3.0 |
3 | |||
4 | ### Features | ||
5 | |||
6 | * **Dependency pinning** | ||
7 | * Adds a new flag called `--pin` which creates a `luarocks.lock` | ||
8 | when building a rock with `luarocks build` or `luarocks make`. | ||
9 | This lock file contains the exact version numbers of every | ||
10 | direct or indirect dependency of the rock (in other words, | ||
11 | it is the transitive closure of the dependencies.) | ||
12 | For `make`, the `luarocks.lock` file is created in the current | ||
13 | directory. | ||
14 | The lock file is also installed as part of the rock in | ||
15 | its metadata directory alongside its rockspec. | ||
16 | When using `--pin`, if a lock file already exists, it is | ||
17 | ignored and overwritten. | ||
18 | * When building a rock with `luarocks make`, if there is a | ||
19 | `luarocks.lock` file in the current directory, the exact | ||
20 | versions specified there will be used for resolving dependencies. | ||
21 | * When building a rock with `luarocks build`, if there is a | ||
22 | `luarocks.lock` file in root of its sources, the exact | ||
23 | versions specified there will be used for resolving dependencies. | ||
24 | * When installing a `.rock` file with `luarocks install`, if the | ||
25 | rock contains a `luarocks.lock` file (i.e., if its dependencies | ||
26 | were pinned with `--pin` when the rock was built), the exact | ||
27 | versions specified there will be used for resolving dependencies. | ||
28 | * Improved VM type detection to support moonjit | ||
29 | * git: Support for shallow recommendations | ||
30 | * Initial support for Windows on ARM | ||
31 | * Support for building 64-bit Windows all-in-one binary | ||
32 | * More filesystem debugging output when using `--verbose` (now it | ||
33 | reports operations even when using LuaFileSystem-backed implementations) | ||
34 | * `--no-manifest` flag for creating a package without updating the | ||
35 | manifest files | ||
36 | * `--no-doc` flag is now supported by `luarocks make` | ||
37 | |||
38 | ### Performance improvements | ||
39 | |||
40 | * Speed up dependency checks | ||
41 | * Speed up installation and deletion when deploying files | ||
42 | * build: do not download sources when when building with `--only-deps` | ||
43 | * New flag `--check-lua-versions`: when a rock name is not found, only | ||
44 | checks for availability in other Lua versions if this flag is given | ||
45 | |||
46 | ### Fixes | ||
47 | |||
48 | * safer rollback on installation failure | ||
49 | * config: fix `--unset` flag | ||
50 | * Fix command name invocations with dashes (e.g. `luarocks-admin make-manifest`) | ||
51 | * Fix fallback to PATH search when Lua interpreter is not configured | ||
52 | * Windows: support usernames with spaces | ||
53 | * Windows: fix generation of temporary filenames (#1058) | ||
54 | * Windows: force `.lib` over `.dll` extension when resolving `LUALIB` | ||
55 | |||
56 | ## What's new in LuaRocks 3.2.1 | ||
57 | |||
58 | * fix installation of LuaRocks via rockspec (`make bootstrap` and | ||
59 | `luarocks install`): correct a problem in the initialization of the | ||
60 | luarocks.fs module and its interaction with the cfg module. | ||
61 | * fix luarocks build --pack-binary-rock --no-doc | ||
62 | * fix luarocks build --branch | ||
63 | * luarocks init: fix Lua wrapper for interactive mode | ||
64 | * fix compatibility issues with command add-ons loaded via | ||
65 | luarocks.cmd.external modules | ||
66 | * correct override of config values via CLI flags | ||
67 | |||
68 | ## What's new in LuaRocks 3.2.0 | ||
69 | |||
70 | LuaRocks 3.2.0 now uses argument parsing based on argparse | ||
71 | instead of a homegrown parser. This was implemented by Paul | ||
72 | Ouellette as his Google Summer of Code project, mentored by | ||
73 | Daurnimator. | ||
74 | |||
75 | Release highlights: | ||
76 | |||
77 | * Bugfix: luarocks path does not change the order of pre-existing path | ||
78 | items when prepending or appending to path variables | ||
79 | * Bugfix: fix directory detection on the Mac | ||
80 | * When building with --force-config, LuaRocks now never uses the | ||
81 | "project" directory, but only the forced configuration | ||
82 | * Lua libdir is now only checked for commands/platforms that really | ||
83 | need to link Lua explicitly | ||
84 | * LuaJIT is now detected dynamically | ||
85 | * RaptorJIT is now detected as a LuaJIT variant | ||
86 | * Improvements in Lua autodetection at runtime | ||
87 | * luarocks new_version: new option --dir | ||
88 | * luarocks which: report modules found via package.path and | ||
89 | package.cpath as well | ||
90 | * install.bat: Improved detection for Visual Studio 2017 and higher | ||
91 | * Bundled LuaSec in all-in-one binary bumped to version 0.8.1 | ||
92 | |||
93 | ## What's new in LuaRocks 3.1.3 | ||
94 | |||
95 | This is another bugfix release, that incldes a couple of fixes, | ||
96 | including better Lua detection, and fixes specific to MacOS and | ||
97 | FreeBSD. | ||
98 | |||
99 | ## What's new in LuaRocks 3.1.2 | ||
100 | |||
101 | This is again a small fix release. | ||
102 | |||
103 | ## What's new in LuaRocks 3.1.1 | ||
104 | |||
105 | This is a hotfix release fixing an issue that affected initialization | ||
106 | in some scenarios. | ||
107 | |||
108 | ## What's new in LuaRocks 3.1.0 | ||
109 | |||
110 | ### More powerful `luarocks config` | ||
111 | |||
112 | The `luarocks config` command used to only list the current | ||
113 | configuration. It is now able to query and also _set_ individual | ||
114 | values, like `git config`. You can now do things such as: | ||
115 | |||
116 | luarocks config variables.OPENSSL_DIR /usr/local/openssl | ||
117 | luarocks config lua_dir /usr/local | ||
118 | luarocks config lua_version 5.3 | ||
119 | |||
120 | and it will rewrite your luarocks configuration to store that value | ||
121 | for later reuse. Note that setting `lua_version` will make that Lua | ||
122 | version the default for `luarocks` invocations (you can always | ||
123 | override on a per-call basis with `--lua-version`. | ||
124 | |||
125 | You can specify the scope where you will apply the configuration | ||
126 | change: system-wide, to the user's home config (with --local), or | ||
127 | specifically to a project, if you run the command from within a | ||
128 | project directory initialized with `luarocks init`. | ||
129 | |||
130 | ### New `--global` flag | ||
131 | |||
132 | Some users prefer that LuaRocks default to system-wide installations, | ||
133 | some users prefer to install everything to their home directory. The | ||
134 | `local_by_default` configuration file controls this preference: when | ||
135 | it is off, the `--local` file triggers user-specific. Before 3.1.0 | ||
136 | there was no convenient way to trigger system-wide installations when | ||
137 | `local_by_default` was set to true. LuaRocks 3.1.0 adds a `--global` | ||
138 | flag to this purpose. To enable local-by-default, you can now do: | ||
139 | |||
140 | luarocks config local_by_default true | ||
141 | |||
142 | ### `luarocks make` can deal with patches | ||
143 | |||
144 | A rockspec can include embedded patch files, which are applied when a | ||
145 | source rock is built. Now, when you run `luarocks make` on a source | ||
146 | tree unpacked with `luarocks unpack`, the patches will be applied as | ||
147 | well (and a hidden lockfile is created to avoid the patches to be | ||
148 | re-applied incorrectly). | ||
149 | |||
150 | ### Smarter defaults when working with projects | ||
151 | |||
152 | When working on a project initialized with `luarocks init`, the | ||
153 | presence of a ./.luarocks/config-5.x.lua file will be enough to detect | ||
154 | the project-based workflow and have `luarocks` default to that 5.x | ||
155 | version. That means the `./luarocks` wrapper becomes less necessary; | ||
156 | the `luarocks` from your $PATH will deal with the project just fine, | ||
157 | git-style. | ||
158 | |||
159 | ### And more! | ||
160 | |||
161 | There are also other improvements. LuaRocks uses the manifest cache a | ||
162 | bit more aggressively, resulting in increased performance. Also, it no | ||
163 | longer complains with a warning message if the home cache cannot be | ||
164 | created (it just uses a temporary dir instead). And of course, the | ||
165 | release includes multiple bugfixes. | ||
166 | |||
167 | ## What's new in LuaRocks 3.0.4 | ||
168 | |||
169 | * Fork-free platform detection at startup | ||
170 | * Improved detection of the default rockspec in commands such as `luarocks test` | ||
171 | * Various minor bugfixes | ||
172 | |||
173 | ## What's new in LuaRocks 3.0.3 | ||
174 | |||
175 | LuaRocks 3.0.3 is a minor bugfix release, fixing a regression in | ||
176 | luarocks.loader introduced in 3.0.2. | ||
177 | |||
178 | ## What's new in LuaRocks 3.0.2 | ||
179 | |||
180 | * Improvements in luarocks init, new --reset flag | ||
181 | * write_rockspec: --lua-version renamed to --lua-versions | ||
182 | * Improved behavior in module autodetection | ||
183 | * Bugfixes in luarocks show | ||
184 | * Fix upgrade/downgrade when a single rock has clashing module | ||
185 | filenames (should fix the issue when downgrading luasec) | ||
186 | * Fix for autodetected external dependencies with non-alphabetic | ||
187 | characters (should fix the libstdc++ issue when installing xml) | ||
188 | |||
189 | |||
190 | ## What's new in LuaRocks 3.0.1 | ||
191 | |||
192 | * Numerous bugfixes including: | ||
193 | * Handle missing global `arg` | ||
194 | * Fix umask behavior | ||
195 | * Do not overwrite paths in format 5.x.y when cleaning up path | ||
196 | variables (#868) | ||
197 | * Do not detect files under lua_modules as part of your sources | ||
198 | when running `luarocks write_rockspec` | ||
199 | * Windows: do not hardcode MINGW in the all-in-one binary: instead | ||
200 | it properly detects when running from a Visual Studio Developer | ||
201 | Console and uses that compiler instead | ||
202 | * configure: --sysconfdir was fixed to its correct meaning: it now | ||
203 | defaults to /etc and not /etc/luarocks (`/luarocks` is appended to the | ||
204 | value of sysconfdir) | ||
205 | * configure: fixed --force-config | ||
206 | * Store Lua location in config file, so that a user can run `luarocks | ||
207 | init --lua-dir=/my/lua/location` and have that location remain active | ||
208 | for that project | ||
209 | * Various improvements to the Unix makefile, including $(DESTDIR) | ||
210 | support and an uninstall rule | ||
211 | * Autodetect FreeBSD-style include paths (/usr/include/lua5x/) | ||
212 | |||
213 | ## What's new in LuaRocks 3.0.0 | ||
214 | 3 | ||
215 | - [New rockspec format](#new-rockspec-format) | 4 | - [New rockspec format](#new-rockspec-format) |
216 | - [New commands](#new-commands), including [luarocks init](https://github.com/luarocks/luarocks/wiki/Project:-LuaRocks-per-project-workflow) for per-project workflows | 5 | - [New commands](#new-commands), including [luarocks init](https://github.com/luarocks/luarocks/wiki/Project:-LuaRocks-per-project-workflow) for per-project workflows |
diff --git a/appveyor.yml b/appveyor.yml index 4ab66669..6a4f9417 100644 --- a/appveyor.yml +++ b/appveyor.yml | |||
@@ -1,4 +1,4 @@ | |||
1 | version: 3.3.0.{build}-test | 1 | version: 3.0.0.{build}-test |
2 | 2 | ||
3 | shallow_clone: true | 3 | shallow_clone: true |
4 | 4 | ||
@@ -6,7 +6,7 @@ matrix: | |||
6 | fast_finish: true | 6 | fast_finish: true |
7 | 7 | ||
8 | environment: | 8 | environment: |
9 | LUAROCKS_VER: 3.3.0 | 9 | LUAROCKS_VER: 3.0.0 |
10 | 10 | ||
11 | matrix: | 11 | matrix: |
12 | # Lua 5.1 tests | 12 | # Lua 5.1 tests |
@@ -308,7 +308,7 @@ do | |||
308 | # -------------------------------- | 308 | # -------------------------------- |
309 | --versioned-rocks-dir) | 309 | --versioned-rocks-dir) |
310 | echo "--versioned-rocks-dir is no longer necessary." | 310 | echo "--versioned-rocks-dir is no longer necessary." |
311 | echo "The rocks tree in LuaRocks 3.x is always versioned." | 311 | echo "The rocks tree in LuaRocks 3.0 is always versioned." |
312 | ;; | 312 | ;; |
313 | --lua-suffix) | 313 | --lua-suffix) |
314 | echo "--lua-suffix is no longer necessary." | 314 | echo "--lua-suffix is no longer necessary." |
@@ -323,7 +323,7 @@ do | |||
323 | done | 323 | done |
324 | 324 | ||
325 | echo | 325 | echo |
326 | BLUE "Configuring LuaRocks version 3.3.0..." | 326 | BLUE "Configuring LuaRocks version dev..." |
327 | echo | 327 | echo |
328 | echo | 328 | echo |
329 | 329 | ||
diff --git a/install.bat b/install.bat index 0b953671..06d8348c 100644 --- a/install.bat +++ b/install.bat | |||
@@ -6,7 +6,7 @@ local vars = {} | |||
6 | 6 | ||
7 | 7 | ||
8 | vars.PREFIX = nil | 8 | vars.PREFIX = nil |
9 | vars.VERSION = "3.3" | 9 | vars.VERSION = "3.0" |
10 | vars.SYSCONFDIR = nil | 10 | vars.SYSCONFDIR = nil |
11 | vars.CONFBACKUPDIR = nil | 11 | vars.CONFBACKUPDIR = nil |
12 | vars.SYSCONFFILENAME = nil | 12 | vars.SYSCONFFILENAME = nil |
diff --git a/luarocks-3.3.0-1.rockspec b/luarocks-dev-1.rockspec index 20ad83fa..a1f30ef4 100644 --- a/luarocks-3.3.0-1.rockspec +++ b/luarocks-dev-1.rockspec | |||
@@ -1,9 +1,8 @@ | |||
1 | rockspec_format = "3.0" | 1 | rockspec_format = "3.0" |
2 | package = "luarocks" | 2 | package = "luarocks" |
3 | version = "3.3.0-1" | 3 | version = "dev-1" |
4 | source = { | 4 | source = { |
5 | url = "git+https://github.com/luarocks/luarocks", | 5 | url = "git+https://github.com/luarocks/luarocks", |
6 | tag = "v3.3.0", | ||
7 | } | 6 | } |
8 | description = { | 7 | description = { |
9 | summary = "A package manager for Lua modules.", | 8 | summary = "A package manager for Lua modules.", |
diff --git a/publishrelease b/publishrelease index dc5e673c..2e635bea 100755 --- a/publishrelease +++ b/publishrelease | |||
@@ -25,8 +25,6 @@ git checkout v$v || { | |||
25 | packages=( | 25 | packages=( |
26 | luarocks-$v-windows-32.zip | 26 | luarocks-$v-windows-32.zip |
27 | luarocks-$v-windows-32.zip.asc | 27 | luarocks-$v-windows-32.zip.asc |
28 | luarocks-$v-windows-64.zip | ||
29 | luarocks-$v-windows-64.zip.asc | ||
30 | luarocks-$v-linux-x86_64.zip | 28 | luarocks-$v-linux-x86_64.zip |
31 | luarocks-$v-linux-x86_64.zip.asc | 29 | luarocks-$v-linux-x86_64.zip.asc |
32 | luarocks-$v-win32.zip | 30 | luarocks-$v-win32.zip |
@@ -90,8 +88,7 @@ gawk ' | |||
90 | print "<!-- add new release here -->" | 88 | print "<!-- add new release here -->" |
91 | print "" | 89 | print "" |
92 | print "<tr><td><a href=\"luarocks-'$v'.tar.gz\">luarocks-'$v'.tar.gz</a></td><td><a href=\"luarocks-'$v'.tar.gz.asc\">PGP signature</a></td></tr>" | 90 | print "<tr><td><a href=\"luarocks-'$v'.tar.gz\">luarocks-'$v'.tar.gz</a></td><td><a href=\"luarocks-'$v'.tar.gz.asc\">PGP signature</a></td></tr>" |
93 | print "<tr><td><a href=\"luarocks-'$v'-windows-32.zip\">luarocks-'$v'-windows-32.zip</a> (luarocks.exe stand-alone Windows 32-bit binary)</td><td><a href=\"luarocks-'$v'-windows-32.zip.asc\">PGP signature</a></td></tr>" | 91 | print "<tr><td><a href=\"luarocks-'$v'-windows-32.zip\">luarocks-'$v'-windows-32.zip</a> (luarocks.exe stand-alone Windows binary)</td><td><a href=\"luarocks-'$v'-windows-32.zip.asc\">PGP signature</a></td></tr>" |
94 | print "<tr><td><a href=\"luarocks-'$v'-windows-64.zip\">luarocks-'$v'-windows-64.zip</a> (luarocks.exe stand-alone Windows 64-bit binary)</td><td><a href=\"luarocks-'$v'-windows-64.zip.asc\">PGP signature</a></td></tr>" | ||
95 | print "<tr><td><a href=\"luarocks-'$v'-linux-x86_64.zip\">luarocks-'$v'-linux-x86_64.zip</a> (luarocks stand-alone Linux x86_64 binary)</td><td><a href=\"luarocks-'$v'-linux-x86_64.zip.asc\">PGP signature</a></td></tr>" | 92 | print "<tr><td><a href=\"luarocks-'$v'-linux-x86_64.zip\">luarocks-'$v'-linux-x86_64.zip</a> (luarocks stand-alone Linux x86_64 binary)</td><td><a href=\"luarocks-'$v'-linux-x86_64.zip.asc\">PGP signature</a></td></tr>" |
96 | print "<tr><td><a href=\"luarocks-'$v'-win32.zip\">luarocks-'$v'-win32.zip</a> (legacy Windows package, includes Lua 5.1)</td><td><a href=\"luarocks-'$v'-win32.zip.asc\">PGP signature</a></td></tr>" | 93 | print "<tr><td><a href=\"luarocks-'$v'-win32.zip\">luarocks-'$v'-win32.zip</a> (legacy Windows package, includes Lua 5.1)</td><td><a href=\"luarocks-'$v'-win32.zip.asc\">PGP signature</a></td></tr>" |
97 | done = 1 | 94 | done = 1 |
@@ -119,7 +116,7 @@ gawk ' | |||
119 | print "{" | 116 | print "{" |
120 | print "\"'$v'\": {" | 117 | print "\"'$v'\": {" |
121 | print "\"date\": \"'$(date +'%Y-%m-%d')'\"," | 118 | print "\"date\": \"'$(date +'%Y-%m-%d')'\"," |
122 | print "\"files\": [\"luarocks-'$v'.tar.gz\", \"luarocks-'$v'.tar.gz.asc\", \"luarocks-'$v'-win32.zip\", \"luarocks-'$v'-win32.zip.asc\", \"luarocks-'$v'-windows-32.zip\", \"luarocks-'$v'-windows-32.zip.asc\", \"luarocks-'$v'-windows-64.zip\", \"luarocks-'$v'-windows-64.zip.asc\", \"luarocks-'$v'-linux-x86_64.zip\", \"luarocks-'$v'-linux-x86_64.zip.asc\"]," | 119 | print "\"files\": [\"luarocks-'$v'.tar.gz\", \"luarocks-'$v'.tar.gz.asc\", \"luarocks-'$v'-win32.zip\", \"luarocks-'$v'-win32.zip.asc\", \"luarocks-'$v'-windows-32.zip\", \"luarocks-'$v'-windows-32.zip.asc\", \"luarocks-'$v'-linux-x86_64.zip\", \"luarocks-'$v'-linux-x86_64.zip.asc\"]," |
123 | print "\"about\": []" | 120 | print "\"about\": []" |
124 | print "}}," | 121 | print "}}," |
125 | } | 122 | } |
diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua index 5e95feeb..b3561422 100644 --- a/src/luarocks/core/cfg.lua +++ b/src/luarocks/core/cfg.lua | |||
@@ -19,8 +19,8 @@ local sysdetect = require("luarocks.core.sysdetect") | |||
19 | 19 | ||
20 | -------------------------------------------------------------------------------- | 20 | -------------------------------------------------------------------------------- |
21 | 21 | ||
22 | local program_version = "3.3.0" | 22 | local program_version = "dev" |
23 | local program_series = "3.3" | 23 | local program_series = "3.0" |
24 | local major_version = (program_version:match("([^.]%.[^.])")) or program_series | 24 | local major_version = (program_version:match("([^.]%.[^.])")) or program_series |
25 | 25 | ||
26 | local is_windows = package.config:sub(1,1) == "\\" | 26 | local is_windows = package.config:sub(1,1) == "\\" |