「Cabal Sdist」にすべての「ビルドに必要なファイル」が含まれていないのはなぜですか?
質問
による ウィキ エントリ、
プロジェクトの構築に必要なファイルをパッケージ化します
簡単な実行可能ファイルのみがあります .cabal
基本的に含まれるプロジェクト
Executable myprog
hs-source-dirs: src
main-is: MyMain.hs
追加で構成されています .hs
以下のファイル src/
下 src/MyMain.hs
. 。例えば、 src/Utils.hs
そして他のいくつか。
cabal build
構築に問題はありません myprog
, 、必要な追加をコンパイルします .hs
以下のファイル src/
, 、 しかし cabal sdist
そうではないため、機能不全のソースタルボールを作成します。私は何が間違っているのですか? HS-Source-Dirsの下にすべてのソースファイルを含めるようにCabalに指示するにはどうすればよいですか?
サイドノートとして、GNU AutoToolsとともに、 make distcheck
ターゲットは、最初にソースタールボールを構築し、次に新しく生成されたソースタルボールを介してプロジェクトを構築しようとし、すべてがOKであることを確認します。似たようなものはありますか cabal
, 、私のソースタルボールが健全であることを確認するために?
解決
に他のHaskellファイルをリストする必要があります .cabal
ファイル、内部 Executable
スタンザ。
other-modules: Utils AFewOthers
配布には、あなたのにリストされているソースファイルのみが含まれます .cabal
ファイル。 Cabalには、パッケージに含まれているソースファイルを検出する他の方法はありません。あなたはまだ構築することができます cabal build
電話 ghc --make
, 、およびGHCは、必要なすべてのソースファイルを見つけてコンパイルします。