Skip to content

RFC: ~~Merge~~Rename Cabal and cabal-install packages #3965

Closed
@hvr

Description

@hvr

Thanks to nix-local-build & @ezyang's per-component feature we could now finally fix one awkward and hard to explain wart of cabal: if you want the cabal executable, you have to install a weirdly named package:

cabal install cabal-install

instead, we'd want to have

cabal install cabal

UPDATE See the new strategy described at #3965 (comment)


the part below has been obsoleted

So instead, if we could fold the executable into the Cabal package, and then we could simply say

cabal install Cabal

Moreover, thanks to build-depends only requesting the Cabal library component, one can safely

build-depends: Cabal == 2.0.*

without having the executable build.

This would be more symmetric with the Stack package, http://hackage.haskell.org/package/stack
which also combines executable and library in one package, and provides users with a better story, since you can say

cabal install stack`

and you get the executable, while if you say build-depends: stack == 1.2.* you only get the library.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions