197 Commits

Author SHA1 Message Date
mpeterv
defbc5c9cc Fix Python 3 compat when on Windows 2016-04-06 19:44:24 +03:00
mpeterv
ff42be1ac9 Enable extensions before setting up MSVC
Apparently it's necessary when using setenv.cmd of WSDK.
2016-04-05 20:52:32 +03:00
mpeterv
d7472dd594 Show help for --downloads
It may be useful for caching on ci services, and seeing the
default value is nice.
2016-04-03 22:33:16 +03:00
mpeterv
bccbfbf626 Fix cmake generator arch suffix 2016-04-03 22:17:33 +03:00
mpeterv
882e414c0d Windows: configure LuaRocks to use correct cmake generator 2016-04-03 22:12:19 +03:00
mpeterv
9d65a349c9 Take Lua major version for LuaRocks from stored identifiers 2016-04-03 21:41:54 +03:00
mpeterv
24da318802 Add version to manifest
Increment when changing manifest format in breaking ways so that
upgrading hererocks doesn't result in a crash.
2016-04-03 21:19:44 +03:00
mpeterv
a1f4f47f2f Add 'latest' as an alias for '^' 2016-04-03 21:09:30 +03:00
mpeterv
b704246dc3 Implement --show option 2016-04-03 21:00:51 +03:00
mpeterv
d37aaf8e31 Use JSON to save identifiers 2016-04-03 20:23:44 +03:00
mpeterv
86b7f8fad9 Rename .source_kind == "fixed" -> .source == "release" 2016-04-03 19:40:08 +03:00
mpeterv
efc8301f5d Add vs_32 and vs_64 targets 2016-04-03 17:00:41 +03:00
mpeterv
b15e6db3a4 vs target: try older VS versions on x64 host but use x86 tools 2016-04-03 16:29:38 +03:00
mpeterv
be1c0a25fe Add vs08_64 and vs10_64 targets, fix help for --target 2016-04-03 16:14:21 +03:00
mpeterv
a18825c239 Pass x86_amd64 instead of amd64 to vcvarsall.bat 2016-04-03 16:04:52 +03:00
mpeterv
08a97da8b4 vs target: try VS versions in decreasing order 2016-04-03 16:02:36 +03:00
mpeterv
82097c458c Add vs target 2016-04-03 15:38:57 +03:00
mpeterv
fb26b06861 Handle missing programs 2016-04-03 15:15:40 +03:00
mpeterv
8dfda2b86b Make some methods static 2016-04-03 14:47:23 +03:00
mpeterv
f6e55110a2 Use raw strings for regexps 2016-04-03 14:43:19 +03:00
mpeterv
c976cb35a9 Fix an undefined variable 2016-04-03 14:40:16 +03:00
mpeterv
e7235d68b0 Don't run endlocal before recursive call 2016-04-03 14:30:11 +03:00
mpeterv
edc018cd07 Improve error handling and logging for VS setup 2016-04-03 14:24:11 +03:00
mpeterv
a6de9c000d Fix query_registry
Why didn't pyflakes detect this?
2016-04-03 13:47:08 +03:00
mpeterv
22ff2103af Improve VS setup command detection
Use registry keys and magic like install.bat in LuaRocks.
2016-04-03 13:41:58 +03:00
mpeterv
666aa79c36 Always show target on Windows 2016-04-02 13:42:07 +03:00
mpeterv
22491fe141 run(): print command as string on error 2016-04-02 13:41:04 +03:00
mpeterv
eb7f0d55fc Windows: replace cl target with vsXX_YY targets
When using vsXX_YY target, set up paths for Visual Studio 20XX
(YY bits) by writing a temporary batch file that calls appropriate
vcvarsall.bat and calls hererocks again, passing arguments through
another temporary file because escaping special batch characters
is difficult.

Related changes:
* Default target on Windows is now vs15_32, unless gcc is in PATH
  and cl.exe isn't.
* Fixed mingw LuaJIT build attempting to install lua51.lib which isn't built.
* Fixed list flatten in run(): consider unicode strings.
2016-04-02 13:18:10 +03:00
mpeterv
6fa4496a8c Mention possible targets in help message 2016-03-29 13:10:11 +03:00
mpeterv
3b116f5577 Handle failure to infer LUA_VERSION_NUM from lua.h 2016-03-29 13:06:54 +03:00
mpeterv
3eb06b5a7b Refactor git_branch_accepts_tags 2016-03-29 13:02:39 +03:00
mpeterv
b6e056a671 Install luarocks .bat files correctly for older versions 2016-03-28 20:57:10 +03:00
mpeterv
bf6026cb70 Copy luarocks.bat and luarocks-admin.bat into prefix/bin 2016-03-28 20:40:22 +03:00
mpeterv
d6b1704a72 Support cflags and compat=5.2 for LuaJIT with cl.exe 2016-03-28 20:15:39 +03:00
mpeterv
06f2e38f50 Use cflags instead of patching luaconf for compat
Gets rid of compiler warnings when a C module defines some
compatibility flags, e.g. luasocket.
2016-03-28 19:59:13 +03:00
mpeterv
2c41a94fcd Random changes 2016-03-28 19:21:25 +03:00
mpeterv
ccbd07bf5d Use sys.exit instead of raise 2016-03-28 17:46:30 +03:00
mpeterv
097ce9a122 Rename/refactor command execution funcs 2016-03-28 17:44:33 +03:00
mpeterv
bae2f48940 Fix build on Windows 2016-03-28 15:30:16 +03:00
mpeterv
7200bebef8 Get rid of shell=True when running commands
Pass arguments as lists or nested lists.
2016-03-28 15:25:30 +03:00
Peter Wu
b25cc45dbc pyflakes and pep8 fixes; python 2.7 compatibility
Yay... Python 2.7 does not support `def f(*args, shell=True)`.
Workaround by using **kwargs.
2016-03-27 13:20:41 +02:00
Peter Wu
7af7d9c7be Initial Windows port
Tested on Windows 7 x64 with MSVC12:

    "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
    hererocks.py C:\luatest -r^ --lua 5.3
    hererocks.py C:\luatest -r 2.2.2 --lua 5.2
    hererocks.py C:\luatest -r 2.0.10 --lua 5.1

Note:

 - LuaRocks <= 2.2.2 installs to $prefix\LuaRocks\2.2
 - LuaRocks >= 2.3 installs to $prefix\LuaRocks

TODO (for consistency with Linux): install to $prefix. Unfortunately
the Windows install.bat only offers the option to wipe $prefix before
installing, or aborting.
2016-03-26 16:14:43 +01:00
Peter Wu
21158d09a3 Fix Python 3 compatibility on error
This fixes a "TypeError: write() argument must eb str, not bytes" when
the compilation command fails.
2016-03-26 12:45:03 +01:00
mpeterv
528e8c2be7 0.6.2 release 2016-03-22 16:59:15 +03:00
mpeterv
79a577e72b 0.6.1 release 2016-03-22 16:53:53 +03:00
mpeterv
bad283179e Minor CLI doc fixes 2016-03-22 16:49:55 +03:00
mpeterv
75b6d57e4c Fix compatibility defines patching for Lua
Makefile is not used anymore, patches to luaconf.h for compatibility
defines should operate correctly with default defines not present
initially.
2016-03-22 16:47:53 +03:00
mpeterv
98f1426656 0.6.0 release 2016-03-20 23:34:26 +03:00
mpeterv
fcea0f5140 Add --no-readline flag 2016-03-20 22:21:25 +03:00
mpeterv
fcc45f9b7a Support LuaJIT 2.1.0-beta1 and 2.1.0-beta2
`hererocks -j 2.1` now installs LuaJIT 2.1.0-beta2. To get old
behaviour use `-j @v2.1`.
2016-03-20 21:18:54 +03:00