124 Commits

Author SHA1 Message Date
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
mpeterv
d0ec9237e5 Use fixed tag when fetching LuaJIT 2.0.1 2016-03-20 21:07:09 +03:00
mpeterv
721b2c467b Replace distutils.spawn.find_executable
It's not always available on Windows apparently.
2016-03-20 20:30:17 +03:00
mpeterv
f4139453df Use HTTPS when fetching Lua 2016-03-20 20:15:38 +03:00
mpeterv
b9c050bb14 Add an option to turn checksum mismatches into warnings
Leaves an option to not break if something changes upstream.
2016-03-20 19:38:09 +03:00
mpeterv
ebd42a91a0 Tweak checksum verification
* Assume that all versions have checksums
* Don't print the checksum if it matched
2016-03-20 19:25:43 +03:00
mpeterv
e65c2c14e9 Don't warn about checksum when using cached git repos 2016-03-20 19:24:38 +03:00
Boris Nagaev
3452d6e4aa verify checksums of downloaded files if possible 2016-03-20 16:44:27 +03:00
Boris Nagaev
fe8c16bc7c rename cached files as distribution tarballs
Example: lua5.3.2 -> lua-5.3.2.tar.gz
2016-03-20 16:33:45 +03:00
mpeterv
2a45fc7980 Don't attempt to install libluajit.so on Windows 2016-03-02 19:02:36 +03:00
mpeterv
87ddca66bd Autodetect mingw32-make 2016-03-02 18:58:35 +03:00
mpeterv
2019ef4f65 Autodetect cl target under Windows 2016-03-02 18:58:35 +03:00
mpeterv
9315a91b2e Don't show "5.1" as LuaJIT version when installing from local dir 2016-03-02 18:58:35 +03:00
Boris Nagaev
184c2ca6b2 luajit targets: install luajit.h
fix #11
2016-02-28 14:08:00 +03:00
mpeterv
31c64145f4 Don't link lua.obj when building luac.exe 2016-02-27 20:12:25 +03:00
mpeterv
f5ebed80ae Fix cl build 2016-02-27 20:06:45 +03:00
mpeterv
8f8bbb6829 Support --target=cl for RioLua 2016-02-27 19:39:03 +03:00
mpeterv
875276d3f5 Another build bites the dust 2016-02-27 18:44:13 +03:00
mpeterv
20cd7081e7 Don't ar rcu poor lua.o 2016-02-27 18:38:44 +03:00
mpeterv
1c49031209 Fix MinGW RioLua build, again 2016-02-27 18:30:02 +03:00
mpeterv
95945c6c23 Fix duplicated LUA_BUILD_AS_DLL flag under MinGW 2016-02-27 18:27:36 +03:00
mpeterv
93463a2493 Build RioLua manually 2016-02-27 18:17:18 +03:00
mpeterv
07cc7f17db 0.5.0 release 2016-01-11 19:50:45 +03:00
mpeterv
911be4bd52 Support LuaRocks 2.3.0 2016-01-11 19:46:43 +03:00