unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Packaging GHC 9.2.4 -- with no prior experience
@ 2022-10-17 13:32 Justin Garcia
  0 siblings, 0 replies; 2+ messages in thread
From: Justin Garcia @ 2022-10-17 13:32 UTC (permalink / raw)
  To: help-guix

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Packaging GHC 9.2.4 -- with no prior experience
@ 2022-10-19  0:50 Justin Garcia via
  0 siblings, 0 replies; 2+ messages in thread
From: Justin Garcia via @ 2022-10-19  0:50 UTC (permalink / raw)
  To: purefunctor@gmail.com, help-guix@gnu.org

> 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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-10-19 13:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-19  0:50 Packaging GHC 9.2.4 -- with no prior experience Justin Garcia via
  -- strict thread matches above, loose matches on Subject: below --
2022-10-17 13:32 Justin Garcia

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).