Subject: Re: [bug#27002] [PATCH] gnu: Add lollypop.

From: Thomas Danckaert <[email-masked]>
Date: Mon, 19 Jun 2017 15:28:14 +0200 (CEST)

From: [email-masked] (Ludovic Courtès)
Subject: Re: [bug#27002] [PATCH] gnu: Add lollypop.
Date: Fri, 16 Jun 2017 14:59:39 +0200

> The ‘wrap-program’ procedure in (guix build utils) arranges things 
> so as
> to never create double wrappers, so it would be interesting to see 
> how
> this happened!

I think it happens as follows: the lollypop package uses three 
wrapping phases:

  - the GI_TYPELIB_PATH wrapping defined in the package description

  - 'wrap' from the python build system

  - 'glib-or-gtk-wrap'

It looks like wrapping methods from different build systems do not 
compose well: both the glib and python wrapping code contain a loop 
over all executables, so they wrap the executables “.xyz-real” from 
previous wrappings, too.  (the wrap-program procedure only checks if 
“.xyz-real” exists, when wrapping “xyz”, but it does not check if 
“xyz” itself is already a wrapper.  One solution (but probably for 
core-updates) might be to exclude wrapper files from the list of 
executables in the python and glib build systems?

Thomas