Ideas for library infrastructure
Simon Marlow
simonmar@microsoft.com
Tue, 29 Apr 2003 10:28:58 +0100
Andres Loeh writes:
> I do not quite understand your last paragraph: You say we should not=20
> specify installation locations but then say it should be=20
> "embodied" in the=20
> library infrastructure. How do you mean that?
Let me be more concrete.
The library writer provides:
- library sources (.hs, .c, etc.)
- documentation
- meta-information about the library (the package spec
for GHC, for example).
The library infrastructure provides:
- a build system supporting 'make install' for Unix-like
systems (inc. cygwin) with any Haskell system.
- tools to help you build packages for various OSs: an=20
RPM spec file, a Windows installer, etc.
That's it. No need to specify installation locations, or any procedure =
that must be followed by libraries to install or remove
themselves. It's all supplied by the library infrastructure.
There are a couple of other things that we might want to do to better =
support systems that don't have a good package management
system:
- a way to uninstall a library that was installed with
'make install'.
- a way to build generic binary distributions.
I view these as optional: 95% of the systems we're interested in =
supporting have good package management systems that we should make
use of.
An alternative, which some people have been suggesting, is to take on =
more of the tasks of a package manager (ala Python's
distutils). That's fine, but IMHO we don't need to go that far.
Cheers,
Simon