Debian library packaging? or, how to get a single deb to work for hugs/ghc/nhc?

Isaac Jones ijones@syntaxpolice.org
28 Jan 2003 10:34:34 -0500


Shae Matijs Erisson Wrote:

> In short, I'd like to see some libraries packaged for Debian.  I'm
> especially interested in seeing the various Gui libs arrive.  My
> question though, is how to package a lib in such a way that it works
> for all three of the packaged Haskell compilers?

There are related discussions on various lists.

On Haskell-cafe, we talked about packaging Debian stuff:
  http://haskell.org/pipermail/haskell-cafe/2002-December/003708.html

Also on Haskell-cafe, there was a small discussion on the state of
libraries and the lack of a central repository for libraries:
  http://haskell.org/pipermail/haskell-cafe/2002-October/003516.html

On Glasgow-haskell-users, there was a discussion about how to create a
system for authors of 3rd party libraries independently of a
particular compiler:
  http://haskell.org/pipermail/glasgow-haskell-users/2002-November/004322.html

>From Simon Marlow's comments:

>> Suppose we had an infrastructure which someone could plug their
>> library source code into, and immediately get
>>
>>  - a source tarball which will configure/build/install on a
>>  Unix/cygwin system with GHC installed, and provide a GHC package
>>  when installed.
>>
>> - skeleton binary packages for RPM, Windows installer, *BSD ports,
>> Gentoo ebuild, etc.  The binary packages will require some
>> programmer intervention (such as setting the dependencies
>> correctly), but much of the work can be done automatically.

Though I haven't used it extensively yet, hmake seems like a good
system to start with since it has nice flags like "-nhc" and "-ghc",
it can be configured to use either, it has sane defaults, etc.
FPTools does have a nice makefile system that 3rd party developers
could adopt, though at the moment it sort of relies on those libraries
being inside a ghc source directory, and I don't know how well it
would work w/ nhc or Hugs.

Several people have commented that the problems with Haskell libraries
and compilers are similar to the problems with elisp.  Maybe a
solution would be to augment hmake with an idea of registering
packages and {re}compiling them when new / different compilers are
installed.

I'm starting to like this idea a lot better than trying to make the
packages depend on the particular compilers and versions.  I notice
that the Haskell packages sometimes get out of date, and it would be
hard to get all the maintainers coordinated enough to release packages
at the same time a new compiler comes out.

More thoughts?

peace,

isaac