7

Haskell ライブラリを他のプログラマーと共有する標準的な方法は、Cabal パッケージを作成してhttp://hackage.haskell.orgにアップロードすることです。私は共有したいライブラリを作成しました。また、cabal ファイルを作成するためのオンライン ガイドラインを使用して、Cabal パッケージを作成することに成功しました。パッケージをビルドしてローカルにインストールしました。問題なく動作します。これを Hackage にアップロードします。しかしcabal upload、.tar.gz ファイルが必要です。Cabalのドキュメントは山ほどありますが、この .tar.gz に何が入っているのか、どのように作成すればよいのかわかりません。

.tar.gz で適切に動作する .tar.gz を作成する方法を誰が知っているか、どこで見つけられるか知っていますcabal uploadか?

4

2 に答える 2

12

ウィキから:

コードは cabalized であるため、直接 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 がもう少しチェックを行い、HackageDB が期待する構造が tarball にあることを確認するという利点があります。LICENSE ファイルが存在する必要があることに注意してください。プロジェクトのビルドに必要なファイルをパッケージ化します。他のファイル (上記の例の Test.hs や README など) を含めるには、以下を追加する必要があります。

extra-source-files: Tests.hs README

.cabal ファイルに追加して、すべてを含めます。

于 2010-04-06T20:07:37.517 に答える
4

または、darcsを使用している場合は、

darcs dist

cabal sdistファイルにリストされているファイルのみを.cabal取得するため、下にREADMEなどを追加する必要がある場合があることに注意してください。extra-source-files:

有効なtarballを使用して確認できます

cabal check

これは、Hackageが実行するのと同じテストを実行します。

于 2010-04-06T20:53:04.567 に答える