代码之家  ›  专栏  ›  技术社区  ›  Norman Ramsey

如何创建与“cabal upload”一起使用的合适的.tar.gz文件?

  •  6
  • Norman Ramsey  · 技术社区  · 15 年前

    与其他程序员共享haskell库的标准方法是创建一个cabal包并将其上载到 http://hackage.haskell.org . 我写了一个我想分享的图书馆 我已经成功地创建了一个利用在线指南创建阴谋文件的阴谋包。我已经构建了这个包并在本地安装了它。现在我想把它上传到hackage。但是 cabal upload 想要一个.tar.gz文件。有 里姆斯 我找不到应该放在.tar.gz中的内容,也找不到应该如何创建它。

    谁知道,或者知道在哪里可以找到,如何创建一个.tar.gz,它将与 阴谋集团上载 ?

    2 回复  |  直到 9 年前
        1
  •  12
  •   Dan    15 年前

    the wiki :

    由于代码是压缩的,我们可以直接创建一个带有cabal install的tarball(您也可以使用runhaskell setup.hs sdist,但是您的系统需要tar 1 ):

    $ cabal sdist
    Building source dist for haq-0.0...
    Source tarball created: dist/haq-0.0.tar.gz
    

    这样做的好处是,cabal将做更多的检查,并确保tarball具有hackagedb所期望的结构。请注意,它确实要求许可文件存在。它打包了构建项目所需的文件;要包含其他文件(如上面示例中的test.hs和自述文件),我们需要添加:

    extra-source-files: Tests.hs README
    

    把所有东西都包括在内。

        2
  •  4
  •   Alex Ling Zhong    9 年前

    或者如果你用的是DARC,

    darcs dist
    

    注意 cabal sdist 将只提取 .cabal 文件,因此您可能需要在 extra-source-files:

    你可以检查一下你的皮球是否有效

    cabal check
    

    它运行的测试与hackage运行的测试相同。