如何使用我自己的堆栈包构建?
问题描述:
大图是我试图使用Stackage的sdl2
包(lts 8.1)。虽然,我有点问题;该软件包缺少编译器标志,详见this issue on GitHub。因此,它不能正确构建。如何使用我自己的堆栈包构建?
但是,如果我克隆存储库,我可以将缺少的编译器标志添加到.cabal文件并自己构建它,这可以解决问题。我现在有一个包的工作版本。
所以我的问题是:我如何在一个单独的项目中使用我自己的sdl2
包的工作版本,而不是Stackage的版本?
答
有几种使用Stack的方法。我最喜欢的一个,听起来很适合你的场景,用叉子上传仓库到GitHub(或者你认为合适的地方),然后添加一个对在线仓库的引用,作为extra-dep
到packages
section的stack.yaml
。为了说明起见,这里是packages
部分,其中我必须这样做:
packages:
- '.'
- location:
git: https://github.com/duplode/threepenny-gui
commit: 7e4e3a41cbb5e55312d4375612790d633ccf1e7a
extra-dep: true