Hi, Am Dienstag, den 15.06.2010, 15:31 +0200 schrieb Mehdi Dogguy: > [ I'm posting back to the Debian OCaml Maint ML on > purpose. Thanks for keeping the CC in the future ] sorry, overlooked that. > Nomeata said: > >> Am Dienstag, den 15.06.2010, 13:31 +0200 schrieb Stefano Zacchiroli: > >> Then ghc6 (the compiler) started to introduce ABI hashes for the > >> management of packages (in the Haskell sense). That was the point at > >> which I decided that it’s time to use them in Debian as well. IIRC > >> this is a minor difference to your approach: While you have to > >> calculate a hash of the interface yourself, we can just use the hash > >> provided by ghc6 (but shortened to 5 chars, just as yours) > >> > > We don't compute the hash for the interface. That's delivered by OCaml. We > compute only an ABI for the whole library (or package). Ok, in the case of haskell, this hash is provided by the compiler. Small difference though. > What we were interesting in is the details of the implementation, > or some text describing the design behind your tool. Is such a > document available or should we look at the source code? There is no document. The haskell policy that you might find is terribly outdated. So the code¹ is the only documentation, but it’s pretty simple: * substvars ${haskell:Provides} are generated based on the exposed package hash in the form libghc6-<lower-cased cabal name>-{dev,prof}-<first 5 chars of hash> * for ${haskell:Depends}, for every dependency the expected virtual package name as above is calculated. If dpkg knows about it, this it the dependency, otherwise there is a fallback on a upstream-version-constrained dependency on the package name. Greetings, Joachim ¹ http://darcs.debian.org/pkg-haskell/haskell-devscripts/ -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata
Attachment:
signature.asc
Description: This is a digitally signed message part