Stack—like cabal-install—has support for specifying alternative package indices, where the default package index is Hackage, or more specifically, FP Complete's S3-backed mirror. Providing alternative package indices is useful for two completely different use cases in my experience:
- Providing for packages that are not on Hackage
- Providing for a local mirror of Hackage, such as one behind a corporate firewall
There's no issue at all with the second use case. However, there are some major issues with the first use case:
- It breaks the meaning of snapshots.
foo-1.2.3 means "foo version 1.2.3 as uploaded on Hackage." With an alternative package index, that could mean something quite different.
- Stack already provides a more direct way of providing non-Hackage packages: via tarball URLs or Git repos in either
stack.yaml or custom snapshot files.
I would like to move in the direction of more reliably checking package hashes to ensure that build plan you're getting actually matches what a snapshot references. This may have an impact on how we deal with package indices. So I'm reaching out now to find out: is anyone using alternative package indices in ways they would be worried would be broken by changes here?
Stack—like cabal-install—has support for specifying alternative package indices, where the default package index is Hackage, or more specifically, FP Complete's S3-backed mirror. Providing alternative package indices is useful for two completely different use cases in my experience:
There's no issue at all with the second use case. However, there are some major issues with the first use case:
foo-1.2.3means "foo version 1.2.3 as uploaded on Hackage." With an alternative package index, that could mean something quite different.stack.yamlor custom snapshot files.I would like to move in the direction of more reliably checking package hashes to ensure that build plan you're getting actually matches what a snapshot references. This may have an impact on how we deal with package indices. So I'm reaching out now to find out: is anyone using alternative package indices in ways they would be worried would be broken by changes here?