On 22 March 2016 at 16:35, Stefano <phd.s...@gmail.com> wrote:
> On 21 March 2016 at 20:56, Hisham <h...@hisham.hm> wrote:
>> On 21 March 2016 at 16:40, Stefano <phd.s...@gmail.com> wrote:
>> > On 20 March 2016 at 02:44, Hisham <h...@hisham.hm> wrote:
>> It is possible to detect all these non-real-conflict cases
>> mechanically: for every conflicting name, if the rock contains a
>> directory with the name of a module (e.g. copas/ ) but this directory
>> does not contain init.lua, then it's not a conflict, it's just the
>> part of a longer path (copas/timer.lua -> copas.timer). This will work
>> for all cases listed above, and it won't be necessary to maintain a
>> list anymore.
>
>
> That's right, I was worrying about hypothetical cases like zeromq.ffi and
> zeromq.timer unrelated and written by different authors (with no "main"
> module zeromq).
> But indeed that would work anyway, I'll implement it this way if no
> complications arise.

Cool, I really think this will work.

>> >> On supporting external dependencies: this seems logistically
>> >> complicated (especially given multiple platforms). How do you envision
>> >> doing it? I guess this could be more easily achievable with support
>> >> from module authors themseves (e.g. if in a future rockspec format we
>> >> allowed them to point to native packages that would fulfill the
>> >> dependencies — but then again, how to do this on Windows).
>> >
>> >
>> > Very briefly, the plan is as follows: have a simple script for Linux/OSX
>> > (bash only) and Windows (cmd only) that builds the sources.
>>
>> I got confused at this point: building what, the external dependencies
>> themselves?
>
>
> Yes, the C dynamic libraries, like libsqlite3.

Oh, wow, this is way more ambitious!

Rules for building arbitrary C dynamic libraries is not something I'd
like to add to the LuaRocks specification (in principle I'd like to
keep the scope of the project restricted rather than let it grow into
a general-purpose package manager).

But I did write a package manager for building arbitrary
programs+libraries in the past (GoboLinux Compile - specs here:
http://recipes.gobolinux.org ) and even got it running on Linux, OSX
and Cygwin. Not something I'd like to venture into again, myself, as I
know it is a lot of work. :)

>> If there was a way to map external dependencies to OS packages in
>> rockspecs (or an off-rockspec master list), would that be enough,
>> maybe? (e.g. if we have a list saying that whenever OPENSSL is
>> required as an external dependency in a rockspec, this means the
>> openssl package in Homebrew, the libssl-dev package in Debian, etc. —
>> side question: could Nuget be the "OS package manager" for this
>> purpose on Windows?)
>
>
> I'm not sure that relying on "external" package managers would work well
> enough.
> Different Linux distros have different managers, Windows would be
> problematic, end even on OSX plenty of people don't use homebrew nor ports.

Yes, I have the same doubts. But _maybe_ it could work well enough for
a relatively large number of people with way less work involved.
That's why the idea sits at the back of my head.

> Plus it would break the portable aspect of ULua (across folders and OS), I
> very much prefer to bundle-in everything needed, the OSX way.

I see. Linux users would probably prefer to use the system's external
dependencies, though. There's no way to please everybody with a single
approach, that's for sure. I'm wondering if ULua could use the bundled
packages and LuaRocks could reuse those on Windows someway but stick
to the OS packages everywhere else...

-- Hisham

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
_______________________________________________
Luarocks-developers mailing list
Luarocks-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/luarocks-developers

Reply via email to