Subscribed unsubscribe Subscribe Subscribe

Cabal sandboxで実行ファイルをインストールする

haskell

c2hsとかthreadscopeなど、ライブラリではなく実行ファイル + αを含むパッケージをcabal hellに陥ることなくホームディレクトリの.cabalにインストールするには--bindirと--datadirを指定してsandboxにインストールすればよい。

cabal get threadscope
cd threadscope-0.2.6
cabal sandbox init
cabal install --bindir ~/.cabal/bin --datadir ~/.cabal/share

最後のコマンドは呪文みたいなものなのでシェルの履歴に入れておこう。

こうすればsandboxにインストールしているのでユーザのパッケージDBを壊すこともないし、実行ファイルとそれに必要なデータファイルは~/.cabalにインストールされるので、ソースディレクトリを削除しても問題無い。