最近,当我在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
答案 0 :(得分:2)
Yackage工具允许您轻松运行本地Hackage兼容服务器。您可以在Yackage上部署修改后的版本,将Yackage仓库添加到您的存储库列表中,然后像往常一样使用cabal安装。
答案 1 :(得分:1)
使用github肯定是“足够好”,尽管如果它似乎是为了在Windows上运行某些东西而进行的常规操作,您可能想在GHC的开发邮件列表中提及它,或者至少在哈斯克尔咖啡厅。如果此过程足够小,可能需要将其合并到一般构建中。
当然,建议使用cabal-install。但是,您可以分发您的个人修复是私事,而不是其他人可以控制的。
答案 2 :(得分:1)
原则上,可以制作本地hackage档案并在其上安装cabal-install。但是目前我们没有很好的工具来生成存档格式。如果你有时间,那就是获得正确的目录布局并使用tar来制作索引。