Improve white space handling in mod name field.

Am Donnerstag, dem 09.11.2023 um 07:06 +0100 schrieb Liliana Marie

Prikler:

Toggle quote (39 lines)

> Am Donnerstag, dem 09.11.2023 um 02:33 +0100 schrieb Tristan Cottam:

> > I’m currently developing a Minetest service, with its configuration

> > including a field specifying the list of mod packages to install

> > and enable.

> >

> > However, certain mods’ configuration, beind developed on Windows,

> > have a trailing carriage return before each newline, which is

> > included in the Guix store mod directory base name. Such mods can’t

> > be programmatically loaded by a Minetest world, since trailing

> > whitespace is ignored by Minetest’s world configuration parser,

> > leading to the wrong mod path being used.

> >

> > This patch fixes certain Minetest mods being stored with a

> > terminating carriage return in their directory base name.

> >

> > * guix/build/minetest-build-system.scm (name-regexp): Improve white

> > space handling.

> >

> > Change-Id: I95f4c201724991a10efba5c859bfef99779ea495

> > —

> >  guix/build/minetest-build-system.scm | 2 +-

> >  1 file changed, 1 insertion(+), 1 deletion(-)

> >

> > diff –git a/guix/build/minetest-build-system.scm

> > b/guix/build/minetest-build-system.scm

> > index 4a7a87ab83..8233d56aca 100644

> > — a/guix/build/minetest-build-system.scm

> > +++ b/guix/build/minetest-build-system.scm

> > @@ -126,7 +126,7 @@ (define* (minimise-png #:key inputs native-

> > inputs

> > #:allow-other-keys)

> >                     (/ total-old-size (expt 1024 2))

> >                     (/ total-new-size (expt 1024 2)))))))

> >  

> > -(define name-regexp (make-regexp “^name[ ]*=(.+)$”))

> > +(define name-regexp (make-regexp

> > “^name[[:space:]]*=[[:space:]]*([[:graph:]]+)”))

> The new regexp is missing a terminator ($).  Should we add

> [[:space:]]$ at the end?

Ahem, [[:space:]]*$ of course.

Read more here: Source link