[Top][All Lists]

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

Re: GHC packages' inputs leak in guix shell

From: Simon Tournier
Subject: Re: GHC packages' inputs leak in guix shell
Date: Mon, 28 Aug 2023 13:40:14 +0200


On Thu, 24 Aug 2023 at 19:16, Saku Laesvuori <> wrote:
>> > Running `guix shell --pure ghc-esqueleto -D ghc-bytestring-builder`
>> > results in an environment that has the base64-bytestring package (from
>> > ghc-base64-bytestring) visible, even though it is not listed on listed
>> > the command line (ghc-bytestring-builder doesn't dependend on it). It
>> > seems to "leak" from the inputs of ghc-esqueleto which does depend on
>> > ghc-base64-bytestring.
>> What do you mean by “leak”?
> I would expect packages to keep their (non-propagated) inputs separate
> from the environment I use. Here ghc-esqueleto makes it's haskell inputs
> visible to the ghc in my environment.

Could you be more explicit?

The package ghc-base64-bytestring does not seems being propagated; the
store item ghc-base64-bytestring does not appear in the profile
generated by “guix shell”.  However,

--8<---------------cut here---------------start------------->8---
$ guix shell -C ghc-esqueleto ghc gcc-toolchain -- ghci
GHCi, version 9.2.5:  :? for help
ghci> import Data.ByteString.Base64.URL.Lazy
ghci> :t encode
  :: Data.ByteString.Lazy.Internal.ByteString
     -> Data.ByteString.Lazy.Internal.ByteString
--8<---------------cut here---------------end--------------->8---

and instead, you would like:

    <no location info>: error:
        Could not find module `Data.ByteString.Base64.URL.Lazy'
        It is not a module in the current program, or in any known package.

Right?  Well, I do not know if it is possible.  I guess it is because of
this file:

--8<---------------cut here---------------start------------->8---
$ find $(guix build ghc-esqueleto) -type f -print | grep base64
--8<---------------cut here---------------end--------------->8---

Lars, WDYT?


reply via email to

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