如何创建一个合适的.tar.gz文件以用于`cabal upload`?

Nor*_*sey 7 haskell cabal hackage haskell-platform

与其他程序员共享Haskell库的标准方法是创建一个Cabal包并将其上传到http://hackage.haskell.org.我写了一个我想分享的图书馆,我已经成功创建了一个Cabal软件包,使用在线指南来创建cabal文件.我已经构建了包并在本地安装 - 工作正常.现在我想将它上传到Hackage.但是cabal upload想要一个.tar.gz文件.有大量的Cabal文档,我找不到应该进入这个.tar.gz或者我应该如何创建它.

谁知道,或者知道我在哪里可以找到,如何创建一个能够正常工作的.tar.gz cabal upload

Dan*_*Dan 12

来自维基:

由于代码是cabalised,我们可以直接使用cabal-install创建一个tarball(你也可以使用runhaskell Setup.hs sdist,但是你的系统1需要tar ):

$ cabal sdist
Building source dist for haq-0.0...
Source tarball created: dist/haq-0.0.tar.gz
Run Code Online (Sandbox Code Playgroud)

这样做的好处是Cabal会进行更多检查,并确保tarball具有HackageDB期望的结构.请注意,它确实需要LICENSE文件存在.它打包了构建项目所需的文件; 要包含其他文件(例如上例中的Test.hs和我们的README),我们需要添加:

extra-source-files: Tests.hs README
Run Code Online (Sandbox Code Playgroud)

到.cabal文件包含所有内容.