[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Packaging GHC 9.2.4 -- with no prior experience
From: |
Justin Garcia |
Subject: |
Re: Packaging GHC 9.2.4 -- with no prior experience |
Date: |
Wed, 19 Oct 2022 00:50:17 +0000 |
> Hi all!
>
> I've recently come to like Guix's approach coming from Nix, and would
> definitely love to be able to use it within my development spaces.
>
> I'd love to be able to package the latest versions of PureScript compiler (
> https://github.com/purescript/purescript
> ) for Guix, although one blocker is
> that the latest GHC available is 9.0, whereas we currently build PureScript
> against GHC 9.2.3 exclusively; eventually, that'll get bumped up to 9.2.4,
> and then 9.4.2 but that will be in the following months.
>
> With no prior experience, I decided to try and write a package declaration
> for GHC 9.2.4, which can be found here:
> https://github.com/akashi-moe/akashi/blob/main/akashi/packages/haskell.scm
> Note that unlike GHC 9.0, this uses the Hadrian build system packaged
> alongside GHC instead of Make, which is slowly being phased out by the GHC
> development team.
>
> I got pretty far this weekend, although the package declaration fails
> currently during the `validate-runpath` phase, which I assume is because of
> the `install` command that I used. Given that I'm on a pretty slow machine
> currently, it's rather difficult to iterate when I have to wait 1h~1h30m
> between builds.
>
> I'd greatly appreciate it if anyone wants to take a look.
>
> Kind regards,
> purefunctor
A couple more days looking into this, I'd figured out it's because of an oddity
with how Hadrian also bundles binaries that haven't been "properly" linked, but
are not exposed through $PREFIX/bin otherwise, but that's just my guess!
After passing the appropriate --prefix to the ./configure script, GHC builds
and installs just fine if you ignore the validate-runpath phase. Perhaps once
I get tests up and running I can upstream this soon :D
> The lambdas must flow.