
On Fri, Oct 10, 2008 at 7:17 PM, Duncan Coutts
As of franchise-0.0.2 and cabal-install-0.5.10 it works to:
$ cabal install franchise ... The main ongoing difficulty will be that cabal-install and other packaging systems, rpm, etc assume rather more than the original minimal command line interface that the Cabal spec described.
Currently for "build-type: Custom" cabal-install assumes a number of command line flags that are provided by the Cabal library implementation and are not specified in the original spec.
That's something we may want to look at if we foresee multiple implementations coming into common use.
I just wanted to put in my two cents, since I'm pretty sure David isn't on this list. First of all, it's great that franchise installs properly now that workarounds both upstream and downstream have been put in. Indeed, yesterday I tried cabal-installing franchise-0.0.0 and saw that it failed. The problem to me appears to be the entanglement of the package management with the build system. Systems like Debian and Gentoo work just fine with any sort of build system because it's up to the package maintainers to manually connect the build options with the packaging. In Cabal's case, the two systems (building and packaging) are more or less in bed with one another, which is great for automating the packaging process and cutting out the middle man, but only insofar as a stable API is maintained, lest Cabal really be a cabal (which I would consider a bad thing). The frustration expressed yesterday was basically this - that Cabal has in fact two different APIs and that *both* are unstable: the module API (which, if this were stable, could possibly empower developers to take advantage of it by writing Setup.hs scripts that do something other than defaultMain), and more importantly (at least in this case), the Setup.hs command-line API (thus allowing a build system other than Cabal to be used in Hackage). All of this is basically to say (hopefully somewhat coherently) that I agree that it's important to look into this command-line API issue. I think cabal install is a great system and would like to see it useable with as much flexibility as possible. steve