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