从Hackage操作源包如何轻松部署到几个窗口框?

时间:2010-05-12 07:29:31

标签: windows deployment haskell ghc hackage

最近,当我在Hackage上找到ghc 6.12 / 6.10的良好源代码包时,我被迫对cabal文件进行一些小的或重大的更改,以使这些包在windows下工作。 除了使用github分叉和合并我的修复程序之外, 似乎是最好的方法/足够好的练习 将这些修改过的构建版本带到其他几个只有一个基本的haskell平台安装?

如果我能以某种方式使用cabal-install,我应该更喜欢,因为这是通常使用的。 是否应该将修改后的构建目录放在共享/网络目录上并从目标窗口框安装? 说这样的话:

在机器上准备

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

关于机器使用和发展正常

cd machinepreparemount
cd foo
cabal install

3 个答案:

答案 0 :(得分:2)

Yackage工具允许您轻松运行本地Hackage兼容服务器。您可以在Yackage上部署修改后的版本,将Yackage仓库添加到您的存储库列表中,然后像往常一样使用cabal安装。

答案 1 :(得分:1)

使用github肯定是“足够好”,尽管如果它似乎是为了在Windows上运行某些东西而进行的常规操作,您可能想在GHC的开发邮件列表中提及它,或者至少在哈斯克尔咖啡厅。如果此过程足够小,可能需要将其合并到一般构建中。

当然,建议使用cabal-install。但是,您可以分发您的个人修复是私事,而不是其他人可以控制的。

答案 2 :(得分:1)

原则上,可以制作本地hackage档案并在其上安装cabal-install。但是目前我们没有很好的工具来生成存档格式。如果你有时间,那就是获得正确的目录布局并使用tar来制作索引。