Packaging Haskell libraries

Bryan O'Sullivan bos at serpentine.com
Wed May 9 18:32:51 UTC 2007


Hi, Till -

> Is packaging them as
> 
> haskell-X11
> haskell-X11-extras
> haskell-mtl
> 
> ok?

No, I'm afraid not.  There are already two Haskell implementations 
available in Extras, hugs and ghc.  Additionally, the Haskell compilers 
make no attempt to preserve ABI compatibility across releases.

For these reasons, the tiny handful of existing Haskell packages that 
are already packaged are prefixed with the name and version of the 
compiler they're built against, not with a simple "haskell-".  For 
example, the Gtk2Hs package is named ghc66-gtk2hs.  This is a pretty 
reasonable naming scheme.

Finally, packaging Haskell libraries is a subtle business, because a 
Haskell compiler has its own package manager that needs to be treated 
properly, or you'll have a terrible mess on your hands where RPM and 
your Haskell implementation have different notions as to what's 
installed.  In particular with the X11 and mtl packages, older versions 
of those are already shipped with ghc itself.

You should take a look at my cabal-rpm tool, which generates a clean RPM 
spec file for Haskell packages that are packaged with the Cabal system:

http://darcs.serpentine.com/cabal-rpm/

Jens Petersen has been talking about establishing a Haskell SIG, which 
would be a good place to air issues like these before bringing them up 
for wider discussion.

	<b




More information about the Fedora-maintainers mailing list