如何使用我自己的堆栈包构建?

问题描述:

大图是我试图使用Stackage的sdl2包(lts 8.1)。虽然,我有点问题;该软件包缺少编译器标志,详见this issue on GitHub。因此,它不能正确构建。如何使用我自己的堆栈包构建?

但是,如果我克隆存储库,我可以将缺少的编译器标志添加到.cabal文件并自己构建它,这可以解决问题。我现在有一个包的工作版本。

所以我的问题是:我如何在一个单独的项目中使用我自己的sdl2包的工作版本,而不是Stackage的版本?

有几种使用Stack的方法。我最喜欢的一个,听起来很适合你的场景,用叉子上传仓库到GitHub(或者你认为合适的地方),然后添加一个对在线仓库的引用,作为extra-deppackages sectionstack.yaml。为了说明起见,这里是packages部分,其中我必须这样做:

packages: 
- '.' 
- location: 
    git: https://github.com/duplode/threepenny-gui 
    commit: 7e4e3a41cbb5e55312d4375612790d633ccf1e7a 
    extra-dep: true