[Haskell-cafe] Fwd: Compatibility etiquette for apps, with cabal sandboxes and `stack`

Michael Orlitzky michael at orlitzky.com
Sun Nov 29 19:12:11 UTC 2015

On 11/29/2015 01:37 PM, Omari Norman wrote:
> Distribution packagers are savvy enough to use stack.

Ignoring the question of *how* that might work, most distributions
forbid bundled dependencies because it creates a maintenance nightmare
and fills our users' machines with untraceable security vulnerabilities.
Literally no one does this, so I'm not sure what you're claiming here.

> Furthermore, distributions do not install using cabal or from Hackage.

They do install from Hackage, just not using cabal-install.

> Therefore, by your reasoning just as many people would be using
> XMonad, git-annex, etc. because the distribution packager would get
> the package, make the necessary alterations, and upload the
> distribution-specific package to the repository.

When using a real package manager, every package's dependencies must be
satisfied simultaneously. Using stack isolates the developer from
dependency conflicts with other packages during development, but when a
user goes to install it, he doesn't have that luxury.

If the developers of xmonad and git-annex both use stack/sandboxes, then
it's possible that one of them will introduce a dependency that
conflicts with the other, and neither developer will notice it thanks to
the sandboxes. But if a user tries to install both at the same time, he
can't, because (for example) xmonad wants foo-1.0 and git-annex wants

As a volunteer packager, I'm not going to fix that for you, I'm just
going to work on something else whose upstream isn't a pain in the ass.

More information about the Haskell-Cafe mailing list