
Hi all, Here are the issues I ran into while cabalising some stuff recently. It's possible that some of the problems are just me failing to find the right option. * No way to get extra files into the source tarball. * No way to specify extra clean files. * No way to specify extra object files to be put into a library. * With "defaultMainWithHooks defaultUserHooks" clean is not removing config.log, config.status. Hmm, the dist/ directory doesn't seem to be being removed either. * Again with "defaultMainWithHooks defaultUserHooks", sdist doesn't copy configure, * "runghc6 Setup.hs sdist" without configuring tells me to run "setup configure", but wouldn't that restrict me to a particular compiler? (the same applies to clean, although it's not as critical there). * I'm not sure why all cc-options can't be passed to hsc2hs with -C-optc (and likewise ld-options and -L-optl). * I think -threaded should be an extension. Thanks Ian

On Sun, Dec 11, 2005 at 03:58:59PM +0000, Ian Lynagh wrote:
Here are the issues I ran into while cabalising some stuff recently. It's possible that some of the problems are just me failing to find the right option.
* No way to get extra files into the source tarball.
* No way to specify extra clean files.
The CVS version (cf http://www.haskell.org/ghc/dist/current/docs/Cabal/) has extra-source-files and extra-tmp-files fields, but I don't know if they're in a release.
* No way to specify extra object files to be put into a library.
How are those objects generated?
* "runghc6 Setup.hs sdist" without configuring tells me to run "setup configure", but wouldn't that restrict me to a particular compiler? (the same applies to clean, although it's not as critical there).
The results of configure aren't used by sdist, though they are passed (I don't know why). Seems to be useless but harmless.
* I'm not sure why all cc-options can't be passed to hsc2hs with -C-optc (and likewise ld-options and -L-optl).
Some C compilers don't understand -optc and -optl.

On Sun, Dec 11, 2005 at 04:37:54PM +0000, Ross Paterson wrote:
On Sun, Dec 11, 2005 at 03:58:59PM +0000, Ian Lynagh wrote:
Here are the issues I ran into while cabalising some stuff recently. It's possible that some of the problems are just me failing to find the right option.
* No way to get extra files into the source tarball.
* No way to specify extra clean files.
The CVS version (cf http://www.haskell.org/ghc/dist/current/docs/Cabal/) has extra-source-files and extra-tmp-files fields, but I don't know if they're in a release.
Oh, that reminds me of something else I meant to mention; personally I'd rather see a ghc 6.6 release next rather than a 6.4.2 with a deficient cabal again.
* No way to specify extra object files to be put into a library.
How are those objects generated?
With a particularly ugly hack in my example, but a more reasonable case would be stubs in a binding to a non-Haskell non-C library compiled in a build hook (I think wxhaskell might be an example of this?).
* "runghc6 Setup.hs sdist" without configuring tells me to run "setup configure", but wouldn't that restrict me to a particular compiler? (the same applies to clean, although it's not as critical there).
The results of configure aren't used by sdist, though they are passed (I don't know why). Seems to be useless but harmless.
Even if configure doesn't affect sdist in any way, it would still be much nicer not to require it is run IMO. Come to think of it, this probably means you need to have the build-deps etc satisfied to make a source distribution, which could be irritating.
* I'm not sure why all cc-options can't be passed to hsc2hs with -C-optc (and likewise ld-options and -L-optl).
Some C compilers don't understand -optc and -optl.
Does hsc2hs ever use anything other than ghc (assuming you don't give it -c)? It would be nice if hsc2hs knew to add the -optc when given -C-foo and using a ghc as the C compiler, though. Thanks Ian

Ian Lynagh
On Sun, Dec 11, 2005 at 04:37:54PM +0000, Ross Paterson wrote: (snip)
* "runghc6 Setup.hs sdist" without configuring tells me to run "setup configure", but wouldn't that restrict me to a particular compiler? (the same applies to clean, although it's not as critical there).
The results of configure aren't used by sdist, though they are passed (I don't know why). Seems to be useless but harmless.
Even if configure doesn't affect sdist in any way, it would still be much nicer not to require it is run IMO.
The same thing is true of ./setup clean. That's ticket 12: http://hackage.haskell.org/cgi-bin/trac/trac.cgi/ticket/12
Come to think of it, this probably means you need to have the build-deps etc satisfied to make a source distribution, which could be irritating.
Thanks for pointing that out. I'll make sure there are bug reports for each of the things you brought up. peace, isaac

On Sun, Dec 11, 2005 at 05:42:48PM +0000, Ian Lynagh wrote:
Oh, that reminds me of something else I meant to mention; personally I'd rather see a ghc 6.6 release next rather than a 6.4.2 with a deficient cabal again.
I think I am not alone to want a bugfix 6.4.2 release. Otherwise we will get 6.6 with bugs from 6.4.1 fixed, but with new bugs included. PS. I am not criticising Simons - bugs are inevitable - that's what bugfix releases are for. Best regards Tomasz -- I am searching for a programmer who is good at least in some of [Haskell, ML, C++, Linux, FreeBSD, math] for work in Warsaw, Poland

Ian Lynagh
Oh, that reminds me of something else I meant to mention; personally I'd rather see a ghc 6.6 release next rather than a 6.4.2 with a deficient cabal again.
This reminds me, I'm actually thinking of trying for a cabal release just after christmas (I'll have some free time). This probably means another relase candidate very soon, and an attempt at releasing 1.2 then. 1.2 might be a good version to get into ghc 6.6, though I expect that it won't have configurations or shipments, since we won't have much time to try those out. What's the schedule like for ghc 6.6? Here are the open bugs on cabal that I've collected lately. The ones in the 1.2 milestone, marked "critical" are the ones I consider "release-critical". Unfortunitely, they're pretty vague, mostly it's trying to decide what should get in the release: http://hackage.haskell.org/cgi-bin/trac/trac.cgi/report/3 Lots of the other bugs are pretty easy. Click on "Easy Tickets" here to see stuff that's up for grabs :) http://hackage.haskell.org/cgi-bin/trac/trac.cgi/wiki peace, isaac
participants (4)
-
Ian Lynagh
-
Isaac Jones
-
Ross Paterson
-
Tomasz Zielonka