2
votes

Recently when I have found good sources packages for ghc 6.12/6.10 on Hackage I've been forced to do some minor or major changes to the cabal files to make those packages to work under windows. Besides to fork and merge my fixes with github, what seems to be the best way/ good enough practice to take these modified builds to a couple of other windows boxes that only has a basic haskell platform installed?

I should prefer if I somehow could work with the cabal-install because that is what one normally use. Should one put the modfied build dirs on a shared/networked dir and mount from the targeted windows box? Say something like this:

on machine prepare

 cabal fetch foo
    cabal unpack foo
    cd foo
    edit .cabal and .hs
    cabal configure
    cabal build

On machine useanddevelopnormal

cd machinepreparemount
cd foo
cabal install
3

3 Answers

2
votes

The Yackage tool allows you to run a local Hackage-compatible server easily. You could deploy your modified versions on Yackage, add the Yackage repo to your repository list and then use cabal install as usual.

1
votes

Using github is certainly "good enough" although if it seems to be a regular operation that you do in order to get something working on Windows, you may want to mention it on the development mailing lists for GHC, or at least on haskell-cafe. If this procedure is minor enough, if may need to be incorporated into general builds.

Definitely, working with the cabal-install is suggested. However you are able to distribute your personal fixes is a private matter, and not meant for others to control.

1
votes

In principle it is possible to make local hackage archives and to point cabal-install at it. However currently we do not have very good tools for producing the archive format. If you have the time, it's a matter of getting the right directory layout and using tar to make the index.