Cabal と GHC 6.12.1 を使用して Hackage からnano-hmac-0.2.0パッケージ (必要なパッケージの依存関係)をインストールしようとしていますが、次のエラーで失敗します:
Data/Digest/OpenSSL/HMAC.hsc:1:0:
Warning: Module `Prelude' is deprecated:
You are using the old package `base' version 3.x.
Future GHC versions will not support base version 3.x. You
should update your code to use the new base version 4.x.
<no location info>:
Failing due to -Werror.
案の定、パッケージの .cabal ファイルには次の行があります。
ghc-options: -Wall -Werror -O2 -fvia-C
オプションをオーバーライドして-Werror
、.cabal ファイルを手動で変更せずにパッケージをインストールできるようにしたいのですが、うまくいく方法が見つかりません。具体的には、次のように、GHC の引数リストに--ghc-options
a を追加するために、Cabal に渡してみました。-Wwarn
$ cabal install nano-hmac-0.2.0 -v2 --ghc-options='-Wwarn'
ただし、これは私が望むことではありません。詳細な出力は、-Wwarn
がGHCの引数リストの先頭に追加されていることを確認し-Werror
ますが、.cabalファイルからのが後で表示され、それを上書きしているようです:
/usr/bin/ghc -Wwarn --make -package-name nano-hmac-0.2.0 -hide-all-packages -fbuilding-cabal-package -i -idist/build -i. -idist/build/autogen -Idist/build/autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -odir dist/build -hidir dist/build -stubdir dist/build -package-id base-3.0.3.2-0092f5a086872e0cdaf979254933cd43 -package-id bytestring-0.9.1.5-125aff5b9d19ec30231ae2684b8c8577 -O -Wall -Werror -O2 -fvia-C -XForeignFunctionInterface -XBangPatterns -XCPP Data.Digest.OpenSSL.HMAC
また、Cabal に渡し--constraint='base >= 4'
て、より新しいバージョンの base を強制的に使用させ、警告を完全に回避しようとしましたが、同じ失敗が発生し、詳細な出力に次のように表示されます。
Dependency base ==3.0.3.2: using base-3.0.3.2
Cabal コマンド ラインを使用して .cabal ファイルからのメッセージを削除または上書きする方法はあり-Werror
ますか? それとも、自分で .cabal ファイルを変更しなければなりませんか?