Stack:如何在`Setup.hs`中使用多包依赖?

时间:2015-10-19 15:09:11

标签: haskell cabal haskell-stack

我有一个stack多包项目,其中"多包"是zip-conduit-0.2.2.2(我需要调整一些依赖版本,以便用nightly-2015-10-12进行编译。)

我在主程序包中使用zip-conduit,我也希望在Setup.hs中以便能够打包zip文件。

我的cabal文件中有build-type: Customstack build尝试构建Setup.hs。问题是构建Setup.hs无法找到依赖项zip-conduit-0.2.2.2

我可以在Setup.hs中使用多包依赖吗?如果是这样的话?如果没有,我的替代方案是什么?

注意:我看过这个引用https://github.com/commercialhaskell/stack/pull/899,但我不明白。

2 个答案:

答案 0 :(得分:5)

您似乎需要为该程序包将explicit-setup-deps设置为true。很遗憾Stack无法自动处理这种情况,但是在.cabal文件中没有依赖信息,似乎没有其他选择。

如果您对此处的历史感兴趣,请参阅文档中的链接问题。

答案 1 :(得分:0)

我不认为可以为Setup.hs声明包依赖项。

一些想法:

  • 要求已安装相关软件包。

  • for token in tokens: try: token.decode('hex') except Exception as e: print token, type(e) raise e shell发送到外部命令以执行压缩,只需要外部命令必须存在。

  • 使安装程序成为cabal文件中的附加exe目标。在继续构建库之前,Setup.hs可以构建安装程序目标,然后构建库,然后使用构建的安装程序exe来安装库。