Hadrian Transitive Dependencies

Andrey Mokhov andrey.mokhov at newcastle.ac.uk
Wed Mar 27 23:23:29 UTC 2019


> Perhaps the remaining un-tracked dependencies will be fewer and easier to nail?

There are a few other cases where we `need` only a subset of direct dependencies that "cover" all others. For example, `setup-config` files produced when configuring a package are used to signal the completion of package configuration, which might produce a few other hard-to-predict files, such as “build/include/HsBaseConfig.h”.

I just realised that if one wants to have “hermetic builds”, where build commands are executed in a sandbox, then it is absolutely necessary to declare all direct dependencies without exception, because they will need to be made available in the sandbox for the build command to succeed.


> Perhaps the best step forward is to simply silence the linting
> using `trackAllow ["//*.hi"]` for haskell object rules. Then
> I can continue tracking down other missing dependencies in
> Hadrian with fsatrace linting.

Yes, this looks like the best approach for now.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20190327/f0f22998/attachment.html>

More information about the ghc-devs mailing list