Stack:如何在 `Setup.hs` 中使用多包依赖?
Stack: How can I use a multi-package dependency in `Setup.hs`?
我有一个 stack
多包项目,其中 "multi-package" 是 zip-conduit-0.2.2.2
(我需要调整一些依赖版本以使其与 nightly-2015-10-12
一起编译) .
我在主包中使用 zip-conduit
,我也想在 Setup.hs
中使用,以便能够打包 zip 文件。
我的 cabal 文件中有 build-type: Custom
,stack build
尝试构建 Setup.hs
。问题是构建 Setup.hs
找不到依赖项 zip-conduit-0.2.2.2
.
我可以在 Setup.hs
中使用多包依赖吗?如果是这样怎么办?如果没有,我的选择是什么?
注:我看过这个参考https://github.com/commercialhaskell/stack/pull/899,但我没看懂。
我认为无法为 Setup.hs 本身声明包依赖关系。
一些想法:
要求依赖包已经安装
有Setup.hs
shellout到外部命令执行压缩,只要求外部命令必须存在。
使安装程序成为 cabal 文件中的附加 exe 目标。在继续构建库之前,Setup.hs 可以构建安装程序目标,然后构建库,然后使用构建的安装程序 exe 安装库。
您似乎需要将该软件包的 explicit-setup-deps 设置设为 true。不幸的是,Stack 无法自动处理这种情况,但没有 .cabal 文件中的依赖信息,似乎别无选择。
如果您对此处的历史感兴趣,请参阅文档中的链接问题。
我有一个 stack
多包项目,其中 "multi-package" 是 zip-conduit-0.2.2.2
(我需要调整一些依赖版本以使其与 nightly-2015-10-12
一起编译) .
我在主包中使用 zip-conduit
,我也想在 Setup.hs
中使用,以便能够打包 zip 文件。
我的 cabal 文件中有 build-type: Custom
,stack build
尝试构建 Setup.hs
。问题是构建 Setup.hs
找不到依赖项 zip-conduit-0.2.2.2
.
我可以在 Setup.hs
中使用多包依赖吗?如果是这样怎么办?如果没有,我的选择是什么?
注:我看过这个参考https://github.com/commercialhaskell/stack/pull/899,但我没看懂。
我认为无法为 Setup.hs 本身声明包依赖关系。
一些想法:
要求依赖包已经安装
有
Setup.hs
shellout到外部命令执行压缩,只要求外部命令必须存在。使安装程序成为 cabal 文件中的附加 exe 目标。在继续构建库之前,Setup.hs 可以构建安装程序目标,然后构建库,然后使用构建的安装程序 exe 安装库。
您似乎需要将该软件包的 explicit-setup-deps 设置设为 true。不幸的是,Stack 无法自动处理这种情况,但没有 .cabal 文件中的依赖信息,似乎别无选择。
如果您对此处的历史感兴趣,请参阅文档中的链接问题。