GNU bug report logs - #41451
Haskell packages retain references to bootstrap variants

Previous Next

Package: guix;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Fri, 22 May 2020 09:19:02 UTC

Severity: normal

To reply to this bug, email your comments to 41451 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#41451; Package guix. (Fri, 22 May 2020 09:19:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 22 May 2020 09:19:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: bug-guix <at> gnu.org
Subject: Haskell packages retain references to bootstrap variants
Date: Fri, 22 May 2020 11:17:51 +0200
Some Haskell packages have a “-bootstrap” variant to cut dependency
cycles.  Unfortunately, these bootstrap variants remain in the reference
graph alongside their non-bootstrap counterparts.

An example:

--8<---------------cut here---------------start------------->8---
$ guix gc -R /gnu/store/1k0dqlyqyvhd3ax60a2y6l2sip0z7b26-ghc-scientific-0.3.6.2 | grep -- -bootstrap
/gnu/store/lvas21ha80yp02lc3z8fgpcaf59n1jp7-ghc-unordered-containers-bootstrap-0.2.10.0-doc
/gnu/store/22309kdxaapz6z3jm6wfy6bk1yybvxg9-ghc-hashable-bootstrap-1.2.7.0-doc
/gnu/store/mhpfjyx302d89w9484ivylczp8pzzfl2-ghc-hashable-bootstrap-1.2.7.0
/gnu/store/bfc5iyrlqr23fhp8awmd481za4aank9h-ghc-nats-bootstrap-1.1.2
/gnu/store/1nym2bjr3adhy1pa79iiasnfdz285b08-ghc-unordered-containers-bootstrap-0.2.10.0
/gnu/store/xjgjshwhpc36nfagfz0bg3nrg6fkn615-ghc-integer-logarithms-bootstrap-1.0.3
/gnu/store/jljsapda2vbxn7p37i6sk026r9gbrib7-ghc-scientific-bootstrap-0.3.6.2
/gnu/store/gjsmr0nrgsdyxcq9wizcx31cxpg7f9x7-ghc-semigroups-bootstrap-0.18.5
/gnu/store/ywlnsg1lcf0yzisivi7gm2pmls5jnxbb-ghc-attoparsec-bootstrap-0.13.2.3
/gnu/store/w0q1s85mwvxk44gcs9lmh994rm8p7ik6-ghc-wcwidth-bootstrap-0.0.2
/gnu/store/ibk4x2bkqm7krc6cc2d61hvi213zvvfq-ghc-splitmix-bootstrap-0.0.3
/gnu/store/57zjc7i8hb9sb18yflr46yi1vvr21y31-ghc-clock-bootstrap-0.8
--8<---------------cut here---------------end--------------->8---

-- 
Ricardo




Information forwarded to bug-guix <at> gnu.org:
bug#41451; Package guix. (Mon, 25 May 2020 09:19:02 GMT) Full text and rfc822 format available.

Message #8 received at 41451 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: 41451 <at> debbugs.gnu.org
Subject: Re: Haskell packages retain references to bootstrap variants
Date: Mon, 25 May 2020 11:18:19 +0200
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Some Haskell packages have a “-bootstrap” variant to cut dependency
> cycles.  Unfortunately, these bootstrap variants remain in the reference
> graph alongside their non-bootstrap counterparts.

On a related note, Haskell packages retain needless references to *all*
other Haskell packages at build time.  That’s because we *copy* their
.conf files at build time to create a package cache, and these .conf
files thus propagate even to unrelated packages.

We are effectively using propagation via the lib/ghc-8.6.5/<name>.conf.d
directory.

I don’t know if all the files in there are really necessary, but it
seems to me that perhaps this leads to spurious references.

-- 
Ricardo




Information forwarded to bug-guix <at> gnu.org:
bug#41451; Package guix. (Mon, 25 May 2020 21:11:01 GMT) Full text and rfc822 format available.

Message #11 received at 41451 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 41451 <at> debbugs.gnu.org
Subject: Re: bug#41451: Haskell packages retain references to bootstrap
 variants
Date: Mon, 25 May 2020 23:10:16 +0200
Ricardo Wurmus <rekado <at> elephly.net> skribis:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> Some Haskell packages have a “-bootstrap” variant to cut dependency
>> cycles.  Unfortunately, these bootstrap variants remain in the reference
>> graph alongside their non-bootstrap counterparts.
>
> On a related note, Haskell packages retain needless references to *all*
> other Haskell packages at build time.  That’s because we *copy* their
> .conf files at build time to create a package cache, and these .conf
> files thus propagate even to unrelated packages.

Weren’t these files eventually superseded by the
‘ghc-package-cache-file’ profile hook?  Or are these two different
things?

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#41451; Package guix. (Tue, 26 May 2020 06:55:02 GMT) Full text and rfc822 format available.

Message #14 received at 41451 <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 41451 <at> debbugs.gnu.org
Subject: Re: bug#41451: Haskell packages retain references to bootstrap
 variants
Date: Tue, 26 May 2020 08:49:43 +0200
Ludovic Courtès <ludo <at> gnu.org> writes:

> Ricardo Wurmus <rekado <at> elephly.net> skribis:
>
>> Ricardo Wurmus <rekado <at> elephly.net> writes:
>>
>>> Some Haskell packages have a “-bootstrap” variant to cut dependency
>>> cycles.  Unfortunately, these bootstrap variants remain in the reference
>>> graph alongside their non-bootstrap counterparts.
>>
>> On a related note, Haskell packages retain needless references to *all*
>> other Haskell packages at build time.  That’s because we *copy* their
>> .conf files at build time to create a package cache, and these .conf
>> files thus propagate even to unrelated packages.
>
> Weren’t these files eventually superseded by the
> ‘ghc-package-cache-file’ profile hook?  Or are these two different
> things?

That hook also operates on the .conf.d directory containing all .conf
files that have been copied from Haskell inputs.

-- 
Ricardo




This bug report was last modified 3 years and 334 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.