guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: store reference detection


From: Thomas Danckaert
Subject: Re: store reference detection
Date: Thu, 27 Apr 2017 16:14:25 +0200 (CEST)

From: address@hidden (Ludovic Courtès)
Subject: Re: store reference detection (was Re: JARs and reference scanning)
Date: Thu, 27 Apr 2017 15:46:59 +0200

Really? Qt/WxWidgets “hide” store references by default?

Not by default.  But there are cases were I've been bitten:

 - Qt has a “QStringLiteral”, which transforms your character literal
   to a UTF-16-encoded string at compile-time.  For example the
   kdbusaddons source used such a literal to encode the kdeinit5
   executable.  (In this case I patched the code, replacing it by a
   regular string.)

 - Similarly, when I packaged DVDStyler (a wxWidgets program), I
   noticed it also uses wchar_t strings to encode the name of
executables. (Here I used wrap-program to set the PATH, instead of
   embedding the full store location of the executables)

Does it make sense to expand the reference detecting code (perhaps
this would lead to too many different special cases?), or maybe
provide a mechanism to force references when the daemon cannot detect them. I suppose you can always add a text file with a list of store
items to the output, but maybe there's a more elegant way?

‘propagated-inputs’ is one way to manually specify run-time references. It works at the package level and not at the store level—that is, the
store item’s references are unaffected by what ‘propagated-inputs’
contains.  It’s usually enough for our purposes though.

In that sense, I think jars are comparable to Python/Perl libraries,
which do not carry reference information by themselves and thus need a
manually-provided ‘propagated-inputs’.

I think it's nice to avoid propagated inputs if possible, because they pollute the profile with things the user didn't strictly as for. So Hartmuts proposed workaround (embed dependencies in the .jar's, if it's really possible, and use a .deps text file in the store to enable reference detection) sounds better.

Thomas

reply via email to

[Prev in Thread] Current Thread [Next in Thread]