Cabal and rpm packageing
nanardon at nanardon.zarb.org
Thu Mar 8 11:09:14 EST 2007
Hi, I am a mandriva contributor and the current maintainer of ghc and hugs.
haksell modules currently give headhash to find the best way to package it.
- we need to register it after installation, the order should be preserved
- they have dependencies between them it seems (ie to use missingh I need also
to have filepath and hslogger installed).
- each package have to be build with each compiler.
Feel free to
Rpm is not able really to preserve a installation order (partially because bug
For mandriva, I started some work to make haskell packaging easier. For now
this concern only ghc (more popular, and hugs is not working properly:
ERROR "/usr/share/hugs/packages/base/Text/ParserCombinators/ReadP.hs":156 -
Syntax error in type expression (unexpected `.'), error not happening is
using ghc on this file... another topic).
First step is to create a set of macros for makor cabal build step, aka
configure, build, haddock, test, copy. I provide also a macro to setup
trigger and so (un)register module on ghc changes.
The second is to automatically find dependencies and report it to rpm.
To do that I create a small programme set around cabal:
[olivier at andromede haskell-CabalRpmDeps]$ runhaskell Setup.hs configure
[olivier at andromede haskell-CabalRpmDeps]$ dist/build/cabalrpmprov/cabalrpmprov
haskell(CabalRpmDeps) = 0.0.1
[olivier at andromede haskell-CabalRpmDeps]$ dist/build/cabalrpmreq/cabalrpmreq
haskell(unix) = 1.0
haskell(haskell98) = 1.0
haskell(base) = 2.0
haskell(Cabal) = 1.1.6
The haskell(...) names are wanted to match rpm dependencies scheme.
The bad things is useally dependencies are find using files list from each
packages. But I didn't any solution to query .hi files, and I am not sure
they contains information I need.
So here I use the the cabal library to query the module from files in
builddir, but it doesn't matter, the cabal package cannot be split.
Now I have to write scripts around those progs and checking everything works
The darcs repos is accessible there (using darcsweb, the page the url to fetch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20070308/14dff0fa/attachment.bin
More information about the cabal-devel