cabal-make almost ready

Conal Elliott conal at conal.net
Mon Jan 22 21:11:52 EST 2007


I've been working on some haddock-related Cabal tweaks and a "make" include
file called "cabal-make", which manages syntax coloring (vis hscolour) with
links from the haddock docs, web-based links to other libraries, and
wiki-based user comments.  It's ready to release for others' use except for
one problem (as mentioned below).  The --haddock-args flag ends up turning
my forward slashes into backslashes (on my WinXP machine), so all of the web
links are broken.  I'd appreciate suggestions about this problem.

You can find an example doc generated by cabal-make (a previous
implementation that didn't quite fit cabal) at
http://darcs.haskell.org/packages/TV/doc/html/Interface-TV-Output.html .
Suggestions welcome.

- Conal

---------- Forwarded message ----------
From: Conal Elliott <conal at conal.net>
Date: Jan 19, 2007 5:18 PM
Subject: Re: [Conal Elliott] Re: getting cabal to pass more info to haddock
To: Isaac Jones <ijones at syntaxpolice.org>
Cc: cabal-devel <cabal-devel at haskell.org>

Hi Isaac.  Now I see why the patch file was empty.  And after some
head-scratching about your note below, I'm glad the patch was empty.  I
hadn't noticed the --xxx-args flags for configure, and instead added a new
haddock flag.  Giving a flag to configure makes a lot more sense.

So now I have just a new pair of flags enable-use-packages &
disable-use-packages, which control whether haddock gets
automatically-generated --use-package flags.

My makefile are now performing this sort of incantation:

./setup configure --disable-use-packages --haddock-args="\
  --read-interface=http://haskell.org/ghc/docs/latest/html/libraries/base,c:/ghc/ghc-6.6/doc/html/libraries/base/base.haddock
\
  --read-interface=http://haskell.org/ghc/docs/latest/html/libraries/mtl,c:/ghc/ghc-6.6/doc/html/libraries/mtl/mtl.haddock\
  "

The only problem is --haddock-args ends up turning my forward slashes into
backslashes, so all of the web links are broken.

Any advice?

   - Conal

On 1/17/07, Isaac Jones <ijones at syntaxpolice.org > wrote:
>
> Hi Conel.  Thanks for this!  It sounds like the ideas from your
> makefile could be used for Hackage for generating nice Haddock :)
>
> There is a general meachanism for adding --foo-args for each Program
> that cabal knows about; can you use this meachanism to add --foo-arg
> as well, instead of special-casing for haddock?
>
> If you do that, can you make the help output not suck?  Currently it
> does something like this:
>
>            --ar-args=ARGS                  give the args to ar
>            --haddock-args=ARGS             give the args to haddock
>            --ld-args=ARGS                  give the args to ld
>            --pfesetup-args=ARGS            give the args to pfesetup
>            --ranlib-args=ARGS              give the args to ranlib
>            --runghc-args=ARGS              give the args to runghc
>            --runhugs-args=ARGS             give the args to runhugs
>            --tar-args=ARGS                 give the args to tar
>
> it would be nice to concerve lines with sometthing like this:
>
> --ar-arg=ARG       --ar-args=ARGS          give the arg or args to ar
> --haddock-arg=ARG  --haddock-args=ARGS     give the arg or args to haddock
> etc
>
> The patch you sent seemed like an empty file to me.  Maybe I'm just
> being nihilistic ;)
>
> peace,
>
>   isaac
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/cabal-devel/attachments/20070122/f0124a79/attachment.htm


More information about the cabal-devel mailing list