[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Windows "installer" for LuaRocks
- From: Jakub Jirutka <jakub@...>
- Date: Thu, 25 Jan 2018 19:41:41 +0100
> The problem would be then maintaining LuaRocks with Lua, or like you have done, fork and maintain compatibility yourself.
I didn’t fork LuaRocks. LuaRocks is just a dependency of Luapak. When I wrote that Luapak *embeds* LuaRocks, I meant that Luapak executable built by Luapak includes LuaRocks.
I just reimplemented the builtin build backend, because the original implementation is quite poor and impossible to extend. The rest is about altering configuration variables. LuaRocks doesn’t seem to have some “public API”, so future updates may cause breakages; there’s a quite large API surface Luapak needs to interact with.
> Aside from that, I think I’ll ask if there any „auto update“ feature for LuaRocks so I could deploy it and then the user can update as required?
AFAIK LuaRocks doesn’t have such feature, nor Luapak. It’s a matter of the system’s package manager to update applications.
Jakub
> On 25. Jan 2018, at 17:49, Russell Haley <russ.haley@gmail.com> wrote:
>
> On Thu, Jan 25, 2018 at 5:28 AM, Jakub Jirutka <jakub@jirutka.cz> wrote:
>> Hi,
>>
>> last year I started project Luapak [1]: a command-line tool that offers complete, multi-platform (Linux, macOS, and Windows), adjustable, all-in-one (yet modular) solution for building a standalone, zero-dependencies, possibly statically linked (only on Linux) executable for (almost) any Lua program. It’s integrated with LuaRocks; actually it embeds LuaRocks and replaces some of its parts to support building static libraries and also to run from bundled executable.
>>
>> Luapak itself can be built with Luapak, there are binaries for Linux (fully statically linked), macOS and Windows built on CI (Travis and AppVeyor) and available for download [2].
>>
>> Luapak intentionally does not provide access to all LuaRocks commands, so it cannot be used as a drop-in replacement for standard LuaRocks. However, you can use it to build a standalone LuaRocks executable for Windows.
>>
>> I wanted to announce it after I release a stable version (currently it’s a beta), but then other interesting projects appeared and I didn’t finish it yet. However, it’s already fully working, the missing part is to figure out how to make build of native extensions more flexible (e.g. allow to specify compile flags per package).
>>
>> Jakub
>
> See, that's the problem with Lua, too many damn good projects out
> there (said only half in jest). I'll need to review Luapak again as it
> presents a great opportunity in RTEMS, where the OS and applications
> are all statically linked in one binary.
>
> A while back now, I started some modifications to luarocks to allow
> you to pre-get all the required modules. It never went far, but it
> seemed like a good idea.
>
> You bring up a deployment strategy that makes good sense to me:
> integrate LuaRocks with Lua and deploy it as one stand alone. The
> problem would be then maintaining LuaRocks with Lua, or like you have
> done, fork and maintain compatibility yourself.
>
> I'll loop back to this later, thank you. Aside from that, I think I'll
> ask if there any "auto update" feature for LuaRocks so I could deploy
> it and then the user can update as required? The installer can then
> remove LuaRocks with the rest of the WinLua package for that
> configuration (version/arch). That is, unless someone see's a huge
> hole in this strategy?
>
> Thanks,
>
> Russ
>
>> [1]: https://github.com/jirutka/luapak
>> [2]: https://github.com/jirutka/luapak/releases
>>
>>> On 25. Jan 2018, at 8:42, Russell Haley <russ.haley@gmail.com> wrote:
>>>
>>> Hi,
>>> I'm was going to post a message on the WIX installer mailing list
>>> about my "LuaRocks install" plan but thought to vet my idea here first
>>> instead.
>>>
>>> The plan to install LuaRocks (so far) is to download, expand and run
>>> the install.bat. My script is started here:
>>>
>>> http://github.com/WinLua/WinLua-VisualStudio/tree/master/Visual
>>> Studio/WinLua-Installer/LuaRocks).
>>>
>>> Then when someone removes that version of Lua, have a custom
>>> post-removal step to delete luarocks and the tree.
>>>
>>> I'm working out some of the PATH issues I'm running into having
>>> multiple versions/architectures. I've started some gitub issues here:
>>>
>>> https://github.com/WinLua/WinLua-VisualStudio/issues
>>>
>>> See # 4&5
>>>
>>> Thoughts?
>>>
>>>
>>> Here is what I was going to send to the wix group:
>>>
>>> -- [[
>>>
>>> Hi,
>>> I've created a reasonably functional installer for Lua under a new
>>> project called WinLua:
>>>
>>> http://github.com/winlua
>>>
>>> I'd like to follow up with an installer for the LuaRocks package
>>> manager, but I'm a lazy man and I don't want to maintain it. Instead,
>>> what I think I'd like to do is have a checkbox that says "would you
>>> like us to download and install LuaRocks on completion?" and in a
>>> custom post install script - which uses our newly installed version of
>>> Lua - I download the luarocks zip, extract it and run the install.bat
>>> with appropriate parameters.
>>>
>>> My Installer adds Lua here:
>>>
>>> <progfiles/progfiles(x86)>\WinLua\Lua\5.x\[bin,lib,include]\...
>>>
>>> I'd like to put Luarocks here:
>>>
>>> <progfiles/progfiles(x86)>\WinLua\Lua\5.x\LuaRocks\...
>>>
>>> and add the rocks tree under the same path (rocks tree is the place
>>> that LuaRocks downloads all the files).
>>>
>>> On un-installation of the Lua version/installation, I would like to
>>> also uninstall all of LuaRocks and the rocks tree.
>>>
>>> Would that also simply be a post-uninstall script (in powershell this
>>> time) that removes said LuaRocks directories?
>>> -- ]]
>>>
>>> Night,
>>> Russ
>>>
>>
>>
>