読者です 読者をやめる 読者になる 読者になる

きくらげ観察日記

好きなことを、適当に。

Cabalで静的ファイルをパッケージに含める

Haskell

YourPackage.cabalに

data-dir:
    dirname
data-files:
    *.txt
    img/*.png

のように記述すると、dirname以下のdata-filesに指定したファイルがインストール時にコピーされます。

また、これらのファイルにアクセスするためのPaths_YourPackage という名前のモジュールが自動生成され、

realpath <- Paths_YourPackage.getDataFileName "img/hoge.png"

というようにすることで実際のパスが得られます。