Mac OSX 10.9 (marvericks) に GHC 7.8.2 をインストールする方法

  • 26
    いいね
  • 1
    コメント
この記事は最終更新日から1年以上が経過しています。

GHC 7.8.1 の寿命 is 3日間…

型シノニムに bug があり急遽 7.8.2 がリリースになった。https://ghc.haskell.org/trac/ghc/ticket/8978

GHC 7.8 はけっこう新機能がはいったようで(pattern synonyms とか)けっこう界隈の盛り上がりを感じてたのではやくつかってみたい。

そのうち brew でもインストールできるようになるとおもう。(formula にパッチおくろうとしたけどぼくの力量だといろいろつらぽよが発生した)

$PATH のこととか cabal のこととか知らない人はたぶんこの記事は関係ない。homebrew が対応してくれるのでそれを待ったほうが良いと思う。

GHC をいれる

公式がバイナリ配布してるのでありがたい。

https://www.haskell.org/ghc/download_ghc_7_8_2#sources から MacOS X (x86_64) のバイナリをどっちでもいいので選んで解凍する。

INSTALL を参照して configure してから make install しろ、とかいてるのでそのとおりにする。わたしは後で homebrew でインストールする気がしたので、後で削除できるように $HOME/.local/ghc とかにインストールした。

入る。

コマンド的には

tar jxf ghc-7.8.2-x86_64-apple-darwin-mavericks.tar.bz2
cd ghc-7.8.2
./configure --prefix=<my-dir>
make install

あとは $PATH を書き換えてから ghc --version で 7.8.2 になっていたら OK。へんなときは which ghc とかで環境変数 $PATH が設定できてるかたしかめてみる。

cabal-install をいれる

Haskell platform はただの cabal パッケージのあつまりなので実はいれなくても毎々 cabal install すれば良い。というか最近の Haskeller はだいたい cabal sandbox とかつかってるだろうから依存パッケージは cabal で管理してるので大丈夫。ということで cabal-install をいれる。

必要ないかもしれない情報・手順 わたしはなんかこわれたりするのいやだったので、~/.cabal~/.ghc を move しておいた。具体的には mv ~.cabal ~/.cabal-back とかした。

http://www.haskell.org/cabal/download.html から "Binary download for OS X Mavericks" を入れる。

解凍する。

./cabal update
./cabal install cabal-install

これで新しい cabal が入る。

cabal file の更新

各々自分の Haskell プロジェクトに移動する。プロジェクト名.cabal に依存パッケージがかいてある欄があって、そこの base を更新しないと新しい GHC でビルドできない。なので base を新しいバージョンでも OK なように書き換える。

   other-extensions:    TupleSections
-  build-depends:       base >=4.6 && <4.7
+  build-depends:       base >=4.6 && <4.8

これで cabal install --enable-tests --only-dependencies とかできるはず。

Enjoy 7.8.2!!


Haskell Platform について


追記

cabal ファイルのパッケージバージョン指定について


追記

happy パッケージ関連でエラーが出ることがあるので、そのときは cabal install happy する。

ghc-mod が依存している haskell-src-exts が happy に依存していて、なぜか happy は cabal の依存で解決されない(インストール済みであることを要求している)ので。