all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: guix-devel@gnu.org
Subject: Re: [PATCH 1/1] gnu: lua: Build with dynamic library support.
Date: Tue, 27 Oct 2015 10:13:53 -0400	[thread overview]
Message-ID: <1445955233.2825572.421511113.088B9586@webmail.messagingengine.com> (raw)
In-Reply-To: <87oafkv5pz.fsf@gnu.org>

On Tue, Oct 27, 2015, at 08:47, Ludovic Courtès wrote:
> Leo Famulari <leo@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.

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.

> > * 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.
 
> >         #: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

> > +          `(modify-phases ,lua-phases
> > +             (replace
> > +               'build
> > +               (lambda _
> > +                 (and
> > +                  (zero? (system* "make" (string-append
> > +                                    "MYCFLAGS="
> > +                                    (string-join '("-fPIC "
> > +                                                   "-DLUA_USE_LINUX "
> > +                                                   "MYLIBS=-Wl,-E "
> > +                                                   "-ldl -lreadline "
> > +                                                   "-lhistory -lncurses")))
> > +                                    "linux")))))))))))
> 
> This is in ‘lua-5.1’, so it’s unnecessary AFAICS.
> 
> > @@ -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.

> 
> Thanks for looking into it!

I will look into it again.

  reply	other threads:[~2015-10-27 14:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-27  3:56 [PATCH 0/1] lua: Build with dynamic library support Leo Famulari
2015-10-27  3:56 ` [PATCH 1/1] gnu: " Leo Famulari
2015-10-27 12:47   ` Ludovic Courtès
2015-10-27 14:13     ` Leo Famulari [this message]
2015-10-27 15:48       ` Ludovic Courtès
2015-10-28  3:32         ` Leo Famulari
2015-10-28 22:47           ` Leo Famulari
2015-10-29 20:49             ` Ludovic Courtès
2015-10-29 20:46           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1445955233.2825572.421511113.088B9586@webmail.messagingengine.com \
    --to=leo@famulari.name \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.