Subject: Re: bug#47335: Hide GHC not used for building Was: xmonad fails to recompile on guix system

From: Xinglu Chen <[email-masked]>
Date: Wed, 15 Sep 2021 13:02:47 +0200

On Wed, Sep 15 2021, zimoun wrote:

> Hi,
>
> On Wed, 15 Sept 2021 at 09:43, Lars-Dominik Braun <[email-masked]> wrote:
>
>> > I'd be very much in favor of the latter, or maybe rename it to ghc-next.
>> > I have some profiles ghc pinned to a version and upgrading those is
>> > always a mess because Guix tries to build the old version from source
>> > instead of using the next version.
>>
>> I renamed [email-masked] to ghc-next in commit
>> 39b43d0d0428474a1d0bf58779d0135163b9c6e3.
>
> Well, I am late to the party and probably out of point but I think
> this '-next' is not something we should introduce and generalize.
> Well, who knows if these '-next' will be the real next. ;-)   My
> comment is also about guile-next, emacs-next and python-next.  Noting
> that gcc-toolchain does not have a '-next'; packages are built using
> 7.5.0 but "guix install gcc-toolchain" will install 11.2.0 and then it
> could lead to the same issue as the one reported with GHC, I guess.
>
> Instead of this '-next' trick, we should find a better mechanism where
> "guix install ghc" would install the default GHC used by the Haskell
> build-system.  Idem for the others guile-next, python-next etc..  And
> any other version should be installed using  the explicit mention,
> i.e., "guix install [email-masked]", IMHO.

Agreed, but I guess using the ‘-next’ suffix was be the easiest
workaround for now.

Maybe running ‘guix install ghc’ should install the GHC package that the
‘ghc’ variable refers to.  Then this would not only apply to language
ecosystems, but all packages in general.  Right now running ‘guix
install rsync’ installs the ‘rsync-next’ package, but I would expect it
to install the package that the ‘rsync’ variable is bound to.