It’s clearly not the case, otherwise nix store wouldn’t have so many broken packages in haskellPackages
.
so were hackage packages once buildable when they first released?
how does my personal cabal project work if it depends on a non-buildable hackage library?
In my case, my project depends on ghc-9.2.8. I fetched the source code in a tar ball file.
The first question encountered is cabal wouldn’t allow you to build a package with the name ghc, from my understanding. This can be workaround by changing the project name anything other than ghc.
The next question is that the project depends on files that not inside the source code.
Example:
> cabal build all
....
GHC/Builtin/Names.hs:2073:2: error:
fatal error:primop-vector-uniques.hs-incl:No such file or directory
2073 |
| ^
|
2073 |
| ^
Compilation Interrupted
...
It begs the question.
Assume every hackage package was once buildable.
If the source code was missing in the first place, how was ghc-9.2.8
built the first time?
and why my current project run smoothly if it depends on some non-buildable packages?