Closed
Description
Summary by @ezyang:
- Syntactic support for these URLs exists: in the
packages
field you can specify remote tarballs or local tarballs, and using thesource-repository
syntax (from Cabal file) you can point to a VCS URL (this parser should also have been reused forcabal.project
) - Support for downloading from various places exists. There's support in the old-build path for local/remote tarballs.
cabal get -s
supports getting things from source repositories. - However, these are not used for anything: the internals need to be plumbed up to use this. Look at old stuff and determine how to port it over.
This should be doable in a day.
This came up on Twitter:
https://twitter.com/darinmorrison/status/527716059889954816
Basically, people want to publish packages that depend on stuff that is not on Hackage. One solution is to upload a forked package (example), but this has its own downsides (Hackage namespace becomes polluted). Implementing something like build-depends: https://repo.git@revision
would be a nice alternative. Most other package managers (e.g. sbt
) support this.
It should also be possible to prohibit downloading packages not on Hackage via a config file option.
See also #1534.