Non-hackage cabal source

I am trying to set up an apache server as an additional source to hackage for haskell packages. I have added to my ~/.cabal/config file: remote-repo: myhackage:http://myhackage/packages I am able to successfully make the HTTP requests: http://myhackage/packages/00-index.tar.gz http://myhackage/packages/MyPackage/0.0.1/MyPackage-0.0.1-tar.gz I can execute: $ tar -tvf 00-index.tar.gz -rw-r--r-- root/root 1491 2010-11-03 15:16 ./MyPackage/0.0.1/MyPackage.cabal However, when I try to unpack my package with cabal: $ cabal unpack MyPackage Downloading MyPackage-0.0.1... cabal: Failed to download http://myhackage/packages/package/MyPackage-0.0.1.tar.gz : ErrorMisc "Unsucessful HTTP code: 404" Why is cabal even making this request? Why is it not making the request to http://myhackage/packages/MyPackage/0.0.1/MyPackage-0.0.1.tar.gz Thanks for any tips. -- Tony Morris http://tmorris.net/

On Wed, Nov 3, 2010 at 06:49, Tony Morris
I am trying to set up an apache server as an additional source to hackage for haskell packages.
I have added to my ~/.cabal/config file: remote-repo: myhackage:http://myhackage/packages
Shouldn't that be:
remote-repo: myhackage:http://myhackage/packages/archive
That's what the normal hackage entry says, and what I use for our own local hackage. Erik

On Wed, Nov 3, 2010 at 4:14 AM, Erik Hesselink
On Wed, Nov 3, 2010 at 06:49, Tony Morris
wrote: I am trying to set up an apache server as an additional source to hackage for haskell packages.
I have added to my ~/.cabal/config file: remote-repo: myhackage:http://myhackage/packages
Shouldn't that be:
remote-repo: myhackage:http://myhackage/packages/archive
That's what the normal hackage entry says, and what I use for our own local hackage.
You should be able to host package files out of either location. I don't have enough information in front of me to tell you the exact paths you need to host at, however. The '-v' argument to 'cabal' helped me when I was trying it. Antoine

remote-repo: myhackage:http://myhackage/packages However, when I try to unpack my package with cabal: $ cabal unpack MyPackage Downloading MyPackage-0.0.1... cabal: Failed to download http://myhackage/packages/package/MyPackage-0.0.1.tar.gz : ErrorMisc "Unsucessful HTTP code: 404"
Why is cabal even making this request? Why is it not making the request to http://myhackage/packages/MyPackage/0.0.1/MyPackage-0.0.1.tar.gz
Seems to be a hardcoded difference in repo layouts, in Distribution/Client/Fetch.hs:packageURI . Refers to repo layouts for current hackage and future package servers, although the new docs (from an old GSoC project) and implementation do not appear to be in synch: http://hackage.haskell.org/trac/hackage/wiki/HackageDB http://hackage.haskell.org/trac/hackage/wiki/HackageDB/2.0/OldURIs http://hackage.haskell.org/trac/hackage/wiki/HackageDB/2.0/URIs Btw, I've opened a couple of related tickets: - please clarify/document --remote-repo http://hackage.haskell.org/trac/hackage/ticket/759 - expose existing functionality: fetchPackage/unpackPackage http://hackage.haskell.org/trac/hackage/ticket/758 Claus
participants (4)
-
Antoine Latter
-
Claus Reinke
-
Erik Hesselink
-
Tony Morris