Leo Famulari <l...@famulari.name> skribis: > On Tue, Oct 27, 2015, at 08:47, Ludovic Courtès wrote: >> Leo Famulari <l...@famulari.name> skribis: >> >> > Notably, this enables the use of dynamic libraries with Lua. >> >> A better subject line for the commit would be: >> >> gnu: lua-5.2: Build shared libraries. >> >> AFAICS, the problem is only with Lua 5.2: >> >> --8<---------------cut here---------------start------------->8--- >> $ ls $(guix build lua-5.1)/lib >> liblua.a liblua.so liblua.so.5.1 lua >> $ ls $(guix build lua-5.2)/lib >> liblua.a lua pkgconfig >> --8<---------------cut here---------------end--------------->8--- >> >> Thus I would suggest leaving ‘lua-5.1’ unchanged. > > The make flags were broken before, for both 5.1 and 5.2, but in > different ways. So the commit isn't about enabling shared libraries but > fixing the flags. And I'm not sure about using Lua as a library. I was > more interested in using other libraries with Lua.
By “fixing the flags”, do you mean that the .so that we have for 5.1 does not actually contain position-independent code? That CFLAGS was ignored? > For 5.2, MYCFLAGS is available to "users" to append flags to what is set > by the platform flag ("linux"). > > For 5.1, MYCFLAGS does NOT append, so you must manually copy the > platform dependent flags onto the command-line and then append your > flags. > > In both cases, our build instructions clobber the platform dependent > flags. OK. >> > * gnu/packages/lua.scm (lua, lua-5.1)[arguments]: Set the make flags >> > properly for each version of lua. >> >> [...] >> >> > +++ b/gnu/packages/lua.scm >> > @@ -24,6 +24,7 @@ >> > #:use-module (guix packages) >> > #:use-module (guix download) >> > #:use-module (guix build-system gnu) >> > + #:use-module (guix utils) >> >> Looks like this line is not needed, is it? > > I thought that was necessary to use substitute-keyword-arguments. Oh right. >> > #:phases (alist-replace >> > 'build >> > - (lambda _ (zero? (system* "make" "CFLAGS=-fPIC" >> > "linux"))) >> > + (lambda _ (zero? (system* "make" "MYCFLAGS=-fPIC" >> > "linux"))) >> >> I just tried and AFAICS this line has no effect: Lua 5.2 still lacks >> liblua.so. Am I missing something? > > I will have to look into it again. I tested the results by starting the > Lua interpreter while linking a shared library: > $ lua -lssl I’m not familiar with Lua; what does this command do? I thought the goal was to get liblua.so for 5.2, but this seems to be testing something else? >> > @@ -89,8 +106,8 @@ for configuration, scripting, and rapid prototyping.") >> > version ".tar.gz")) >> > (sha256 >> > (base32 >> > "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm")) >> > - (patches (list (search-patch "luajit-symlinks.patch") >> > - (search-patch "luajit-no_ldconfig.patch"))))) >> > + (patches (list (search-patch "luajit-symlinks.patch") >> > + (search-patch "luajit-no_ldconfig.patch"))))) >> >> Unnecessary too. > > I figured that I should remove this tabulation while I was touching the > file. OK, it can’t hurt, indeed. Thanks, Ludo’.