ekarttun at cs.helsinki.fi
Sun Oct 29 11:26:09 EST 2006
On 29.10 14:56, Duncan Coutts wrote:
> We do have to bear in mind how hard it'll be for cabal-get to be able to
> do dependency analysis. The decisions we make about optional
> configurations has a big impact on this. It also has a big effect on how
> easy it is to make 'native' packages for distros which typically don't
> have extremely sophisticated dependency systems.
Why not simply use a single file like: cabal-get.conf that contains
flags for packages like:
syntax = line+
line = PACKAGE-REGEXP ':' flags
flags = <empty> | ['!'] flag flags
I don't think there is a sensible way for enabling random flags
without the user asking for them. Normally packages should just
be built with defaults.
> There's also the important issue of binary packages. We're all used to
> building from source which gives us a lot of flexibility, but most users
> expect binary packages. For example Debian and most other commercial
> distros and Windows of course. It is important that we be able to make
> sensible binary packages. If the configuration language encourages
> package authors to go too crazy and one would need 2^n different binary
> packages then I'd say that we've failed.
This is no different than from configure switches for autotools
packages - and they don't lead to 2^n different binaries - and
there is no technical measure preventing packagers to do evil
things depending on the flags with autotools.
> Remember that the main use case of configurations is just to cope with
> minor things like modules moving from one package to another or slight
> differences in the way things are implemented on different platforms or
> Haskell implementations.
Yes, and we should concentrate on making it simple and intuitive to do
right. Trying to ban the bad ways of doing things seems to complicate
- Einar Karttunen
More information about the cabal-devel