new Library Infrastructure spec.

Isaac Jones ijones at
Wed Jun 9 16:35:33 EDT 2004

> Let's have two new roles:  Wally Windows and Peter
> Packager.  Wally installs but does not necessarily
> build. Peter builds but does not necessarily
> install.

What's the difference between your "Peter" and our Rowland, Donald,
and Willie?

Also, your Wally Windows is confusingly similar to our Willie Windows,
so let's please not use that name.  I'll refer to him as PNW (Please,
Not Wally).

There is a role we haven't mentioned: the consumer of Rowland, etc.,
packages.  They install packages for Joe (who might be themselves).
They do this in a platform-dependent way that is outside our system:
using dpkg, rpm, whatever (is that what you mean by your PNW?)

This is mentioned in the old use-cases that I referred you to before.

The reason that case is not included in this proposal is that it's
outside the system as it stands now.

In the future, we hope to support "./Setup.lhs bdist" and "./Setup.lhs
sdist" targets (in fact, I implemented sdist the other day).  bdist
would create a binary tarball (or whatever) which can be unpackaged;
the setup script will be in there, and "./Setup.lhs install" will
install it without compiling.

But we're not worrying about that yet.  The first goal is to make an
interface that's flexible and extendable.  It'll eventually support
such things; likely in the near future.

> Marcus and Peter can use Autoconf/Make or whatever
> they want to build the packages from C (or
> whatever source).  There is no reason that the
> packaging system needs to invoke autoconf/make
> (especially given that we can't assume Wally
> actually has autoconf/make!)

All you're saying here is that your scheme doesn't support Marcus.
I'm still waiting to hear why he's not important.

This character (please, not Wally) can't install Marcus's package
whatsoever.  He's in no better or worse shape than before.  For
packages that "PNW" can install, our system still supports him.

It's silly to pretend that our system is leaving "PNW" in the cold.
Your system certainly doesn't support "PNW" in the case of a package
by Marcus.  Either "PNW" is SOL, or he has to get Willie's help.

The compiler's role in installing packages is orthogonal.  I don't
know if you can talk the compiler authors into altering the compilers
to be aware of the packaging system.  I don't think such vertical
integration is a good idea, personally, but they can decide that.

Whether one invokes "haskell-install" or GHC to install the packages
is orthogonal to whether the packaging system simply uses meta-data
(and supports only Angela) or whether it uses an executable Haskell
script (and supports everyone).


More information about the Libraries mailing list