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

时间:2017-02-19 12:50:10

标签: haskell sdl-2 haskell-stack

更大的图景是我正在尝试使用Stackage的>>> class SimpleRepr(type): ... def __repr__(cls): ... return cls.__name__ ... >>> class Side(metaclass=SimpleRepr): pass ... >>> class Left(Side): pass ... >>> class Right(Side): pass ... >>> { Left: 3, Right: 7 } {Left: 3, Right: 7} 包(见8.1)。虽然,我有一个问题;该程序包缺少编译器标志,如this issue on GitHub中所述。因此,它没有正确构建。

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

所以我的问题是:我如何在一个单独的项目中使用我自己的class Side(object): __slots__ = ('name',) def __init__(self, name): self.name = name def __repr__(self): return self.name Left = Side('Left') Right = Side('Right') 包的工作版本,而不是Stackage中的版本?

1 个答案:

答案 0 :(得分:4)

使用Stack有几种方法可以做到这一点。我最喜欢的,听起来非常适合您的场景,是使用您的fork将存储库上传到GitHub(或者您认为合适的任何其他位置),然后将对在线存储库的引用添加为{{1} } extra-dep的{​​{3}}。为了便于说明,这里是我的项目的stack.yaml部分,我必须这样做:

packages