Subject: Re: bug#30093: Installing python-ipython breaks Gnome on Fedora.

From: Chris Marusich <[email-masked]>
Date: Sun, 14 Jan 2018 16:45:01 -0800

Chris Marusich <[email-masked]> writes:

> Of course, if there is a way to solve this class of problem more
> generally without introducing impurities, that'd be great.  I just can't
> think of one at this time.

There is existing code in Guix that puts things into the store which
depend on things outside of the store.  The specific examples I know of
are:

- When Guix downloads source files from the Internet and puts them into
  the store.

- When Guix finds Guile modules in the GUILE_LOAD_PATH and puts them in
  the store, as a result of using 'with-imported-modules' with a
  G-Expression.

- Other code that exists explicitly to add files to the store, such as
  the 'local-file' procedure.

In these cases, what winds up in the store ultimately comes from the
outside world.  I'm not 100% sure, but I think that when something from
"outside" is put into the store in this way, it's done outside the scope
of a derivation, since derivations should only be able to access files
that exist in the store.

Anyway, this means that technically, we probably could come up with a
solution that takes the current value of an environment variable and
ultimately incorporates it into a build that creates the new profile
generation.  However, it doesn't change the fact that this class of
problem will probably continue to occur on foreign distributions, so I
still think it might be best to deal with the problems on a case by case
basis.
  
-- 
Chris