haskell / cabal

Official upstream development repository for Cabal and cabal-install
https://haskell.org/cabal
Other
1.62k stars 691 forks source link

document cabal sdist (hackage archive) format #749

Open bos opened 12 years ago

bos commented 12 years ago

(Imported from Trac #759, reported by claus on 2010-11-04)

I often find myself writing example code that I'd like to distribute via cabal, but without further burdening hackage with not generally useful packages.

The source code has an undocumented(?) option --remote-repo that seems to serve that purpose, but there is little documentation, sometimes conflicting info, about how to put this to use.

Mailing list threads:

[http://www.haskell.org/pipermail/haskell-cafe/2010-November/085860.html](http://www.haskell.org/pipermail/haskell-cafe/2010-November/085860.html)
[http://www.haskell.org/pipermail/haskell-cafe/2010-November/085900.html](http://www.haskell.org/pipermail/haskell-cafe/2010-November/085900.html)

Repo layout descriptions (differs between hackage 1.0 and 2.0, which is hardcoded in cabal-install):

[http://hackage.haskell.org/trac/hackage/wiki/HackageDB](http://hackage.haskell.org/trac/hackage/wiki/HackageDB)
[http://hackage.haskell.org/trac/hackage/wiki/HackageDB/2.0/URIs](http://hackage.haskell.org/trac/hackage/wiki/HackageDB/2.0/URIs)

Related tickets: #758, comment:6:ticket:428

bos commented 12 years ago

(Imported comment by @dcoutts on 2010-11-04)

I think the better solution for this use case is ticket #524 which is about making this possible:

cabal install http://code.haskell.org/~user/foo/foo-0.9.tar.gz
The problem with --remote-repo for this use case is that it creates a persistent local cache, which is not what you would want for a one-off command.
jneira commented 2 years ago

afair you already could install remote tarballs from arbitrary locations so the use case would be covered without using remote repos otoh you can refer alternative remote repos in global config so only left document the archive format