Thanks Tim, I’ll check out git-annex as a start. Custom Cabal builds would be a nice feature to add to the haskell-build-system. Would it be sufficient to add some extra argument to the build system?
Best, John > On Feb 11, 2019, at 12:19 PM, Timothy Sample <samp...@ngyro.com> wrote: > > Hi John, > > John Soo <js...@asu.edu> writes: > >> Hi Guix, >> >> I’ve been working on some Haskell packages and got stuck recently and I >> didn’t know why until I realized the cabal files have `build-type: Custom` >> (http://hackage.haskell.org/package/termonad-1.1.0.0/termonad.cabal). I >> always get missing dependencies even though I have the dependencies listed >> in `inputs` (haskell-gi-base and >> friends in the example above). What do I need to do to fix this? > > You might be able to take some inspiration from git-annex, which I > believe has the same problem. > > In short, the issue is that the haskell-build-system unsets > “GHC_PACKAGE_PATH” before calling “runhaskell Setup.hs”. This is > because it assumes that “Setup.hs” will use Cabal in a pretty direct > way, and that Cabal will setup the required packages from the command > line (Cabal complains if you try to use “GHC_PACKAGE_PATH”, because it > wants to be in control of the environment). If the custom build code > needs dependencies, they will not be available (unless it does what > Cabal does and reads package paths from the command line and sets > everything up from within Haskell). > > For git-annex, I was able to skirt the problem. I don’t know how to > solve it. If you keep “GHC_PACKAGE_PATH” set, the Cabal part of the > build will likely complain. However, without it, the custom part of the > build can’t find its dependencies. > > That’s about all I can recall right now. I hope that helps at least a > little bit! :) > > > -- Tim