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 things. - Einar Karttunen _______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel