[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 |
Hi,
On Thu, 24 Aug 2023 at 19:16, Saku Laesvuori <saku@laesvuori.fi> 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: https://www.haskell.org/ghc/ :? for help
ghci> import Data.ByteString.Base64.URL.Lazy
ghci> :t encode
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
/gnu/store/zqax59v1v537h26g0kypka6klaaahnqf-ghc-esqueleto-3.5.8.1/lib/ghc-9.2.5/ghc-esqueleto-3.5.8.1.conf.d/base64-bytestring-1.2.1.0-CQYLTs5ShsEFl2lwe4hRrI.conf
--8<---------------cut here---------------end--------------->8---
Lars, WDYT?
Cheers,
simon