On Mon, 2008-06-09 at 16:22 -0700, Don Stewart wrote:
gwern0:
On 2008.06.09 23:36:19 +0100, Duncan Coutts <duncan.coutts@worc.ox.ac.uk> scribbled 0.5K characters:
On Mon, 2008-06-09 at 23:35 +0200, Misha Aizatulin wrote:
hello,
I would like to distribute a shell script as part of my haskell project. How can I tell cabal to install the script as an
executable?
At the moment there is no easy way of doing that. It can be
installed as
a data file pretty easily but not into the $bindir.
You'd have to write a custom Setup.hs script and change the postInst hook. Use LocalBuildInfo.absoluteInstallDirs to get the bindir.
Duncan
And of course, at that point, you'd be better off just writing the script in Haskell.
(Seriously, I had to do that for the Roguestar packages. It was hardly any trouble at all - Haskell is a better scripting language than I think people give it credit for.)
I'd agree here. It probably is easier to rewrite it in Haskell (just use system everywhere), and keep easy distribution via cabal-install.
Yikes. Every time I learn something new about Cabal, it's /always/ some new limitation, never a new feature. Are there any plans to someday permit doing things with Cabal the Cabal developers haven't added specific code for yet? jcc