Ludovic Courtès <[email protected]> writes:
> Hello Jelle! > > Jelle Licht <[email protected]> skribis: > >> While working to package some lua-related stuff, I need to deal with the >> LUA_PATH environment variable. This variable uses `;' as a separator, and >> as such, I wanted to wrap one of my programs >> >> ... >> (wrap-program (string-append out "/bin/fennel") >> `("LUA_PATH" ";" prefix (,path))) >> ... >> >> >> ... which gives me the following snippet for the fennel script: >> >> export >> LUA_PATH="/gnu/store/3yjzvzwczi37snccrxbw7xsmbns1qc7a-fennel-1-1.f2a3d3b/share/lua/5.3/?.lua${LUA_PATH;+;}$LUA_PATH" >> >> ... which is not a correct bash substitution. I _think_ the first `;' in >> `{LUA_PATH;+;}' needs to be a colon instead, at least if `wrap-program' >> is only used to generate bash-compliant wrappers. >> >> It seems this can be (easily?) fixed around guix/build/utils.scm:1055, >> but any changes I made there had me starting to build bash and other >> things from scratch. > > It’s indeed where the bug lies. Changing that file involves a full > rebuild (because every package build process uses it), but that’s OK: > you can test the ‘wrap-program’ procedure independently (at the REPL, > for example), and then we can push this change to ‘core-updates’. > > We need to check whether ‘core-updates’ still accepts full-rebuild > changes at this stage, though. I pushed this on core-updates as e6c4e41102. > > Thanks, > Ludo’.
