GNU bug report logs

#25425 lua does not set search paths

PackageSource(s)Maintainer(s)
guix PTS Buildd Popcon
Full log

Message #20 received at 25425@debbugs.gnu.org (full text, mbox, reply):

Received: (at 25425) by debbugs.gnu.org; 22 Jan 2017 22:34:17 +0000
From debbugs-submit-bounces@debbugs.gnu.org Sun Jan 22 17:34:17 2017
Received: from localhost ([127.0.0.1]:38554 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
	id 1cVQiG-0000I8-TP
	for submit@debbugs.gnu.org; Sun, 22 Jan 2017 17:34:17 -0500
Received: from sender163-mail.zoho.com ([74.201.84.163]:21009)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rekado@elephly.net>) id 1cVQiE-0000Hy-3F
 for 25425@debbugs.gnu.org; Sun, 22 Jan 2017 17:34:14 -0500
Received: from localhost (xd9ba26ac.dyn.telefonica.de [217.186.38.172]) by
 mx.zohomail.com with SMTPS id 1485124446321189.09644048515645;
 Sun, 22 Jan 2017 14:34:06 -0800 (PST)
References: <87shoo7dgx.fsf@mdc-berlin.de> <87r34879o1.fsf@elephly.net>
 <87bmvc2vjn.fsf@gnu.org> <87lgug72vc.fsf@elephly.net>
 <87d1feep2q.fsf@gnu.org>
User-agent: mu4e 0.9.18; emacs 25.1.1
From: Ricardo Wurmus <rekado@elephly.net>
To: Ludovic Courtès <ludo@gnu.org>
Subject: Re: bug#25425: cannot express search path
In-reply-to: <87d1feep2q.fsf@gnu.org>
Date: Sun, 22 Jan 2017 23:34:00 +0100
Message-ID: <874m0q2087.fsf@elephly.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.2 (/)
X-Debbugs-Envelope-To: 25425
Cc: 25425@debbugs.gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit@debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request@debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
X-Spam-Score: -0.2 (/)
Ludovic Courtès <ludo@gnu.org> writes:

> Hello!
>
> Ricardo Wurmus <rekado@elephly.net> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>>
>>> I think this should work:
>>>
>>>        (search-path-specification
>>>          (variable "LUA_PATH")
>>>          (separator ";")
>>>          (files '("share/lua/5.3"))
>>>          (file-pattern "\\.lua$")
>>>          (file-type 'regular))
>>
>> I tried this very same thing but it doesn’t work because Lua expects
>> placeholders (“?”) in the search paths.  The placeholders are replaced
>> with the actual package names.  If the actual file name does not exist
>> it will try the next pattern.  If the file *does* exist – which *will* be
>> the case for any of the files on LUA_PATH that have been generated by
>> the search-path-specification — Lua will try to load the package from
>> that path.
>>
>> This will fail because a search for the “lpeg” module would be satisfied
>> by the file “re.lua”, because that’s the first valid file on the
>> LUA_PATH.  “re.lua” requires “lpeg” itself, so another lookup is
>> performed, which will again result in “re.lua” to be loaded…
>>
>> AIUI we must generate a value for LUA_PATH that keeps the placeholders
>> intact.
>
> So are you saying that it’s important for the question marks to remain
> intact?

Yes, that seems to be the case.

> This sounds terrible.  I’m not sure how to address it, and I don’t feel
> like stretching the search path mechanism this much.
>
> Thoughts?

I agree.  It’s a really odd special case.  On the other hand, not
extending the search path mechanism would mean that we have to find
other ways to fix “guix environment”, build phases, and profiles when
Lua packages are involved.

Build phases are easy to fix (by using a procedure that sets the
appropriate environment variables depending on the build inputs), but I
don’t know how to make profiles behave the way they should.  Maybe it
would be fine to set a single value for LUA_PATH (and LUA_CPATH) that
assumes a single prefix (the profile path) and contains the necessary
placeholders.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net





Send a report that this bug log contains spam.


debbugs.gnu.org maintainers <help-debbugs@gnu.org>. Last modified: Tue Sep 9 17:40:35 2025; Machine Name: wallace-server

GNU bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.