macports で入れた cabal がアップグレードできなかった。
$ sudo port upgrade hs-cabal
Error: Target org.macports.configure returned: shell command "cd /opt/local/var/
macports/build/_opt_local_var_
macports_sources_
rsync.macports.org_release_
ports_devel_hs-cabal/work/cabal-install-0.6.2 && runhaskell Setup configure --
ghc --prefix=/opt/local" returned error 1
Command output: Configuring cabal-install-0.6.2...
Setup: At least the following dependencies are missing:
HTTP >=4000.0.2 && <4001, zlib >=0.4 && <0.6
Error: Unable to upgrade port: 1
$
ghc-pkg list
/opt/local/lib/
ghc-6.10.3/./package.conf:
Cabal-1.6.0.3, HUnit-1.2.0.3, QuickCheck-1.2.0.0, WebServer-1.2,
array-0.2.0.0, base-3.0.3.1, base-4.1.0.0, bytestring-0.9.1.4,
containers-0.2.0.1, directory-1.0.0.3, (dph-base-0.3),
(dph-par-0.3), (dph-prim-interface-0.3), (dph-prim-par-0.3),
(dph-prim-seq-0.3), (dph-seq-0.3), extensible-exceptions-0.1.1.0,
filepath-1.1.0.2, (
ghc-6.10.3),
ghc-prim-0.1.0.0,
haddock-2.4.2,
haskell-src-1.0.1.3, haskell98-1.0.1.0, hpc-0.5.0.3, html-1.0.1.2,
integer-0.1.0.1, mtl-1.1.0.2, network-2.2.1, old-locale-1.0.0.1,
old-time-1.0.0.2, packedstring-0.1.0.1, parallel-1.1.0.1,
parsec-2.1.0.1, pretty-1.0.1.0, process-1.0.1.1, random-1.0.0.1,
regex-base-0.72.0.2,
regex-compat-0.71.0.1,
regex-
posix-0.72.0.3,
rts-1.0, stm-2.1.1.2, syb-0.1.0.1, template-
haskell-2.3.0.1,
time-1.1.3,
unix-2.3.2.0,
xhtml-3000.2.0.1
/Users/sho/.
ghc/
i386-
darwin-6.10.3/package.conf:
JsContracts-0.4, WebBits-0.15, network-2.2.1.2, network-2.2.1.3,
regex-base-0.93.1,
regex-compat-0.92,
regex-
posix-0.94.1,
time-1.1.4, zlib-0.5.0.0, zlib-0.5.2.0
$
zlib は自分のホームディレクトリにインストールされているが、cabal からこのライブラリが見えていない。
hs-cabal の Portfile(/opt/local/var/macports/sources/rsync.macports.org/release/ports/devel/hs-cabal/Portfile) を変更する。
以下の行を
configure { system "cd ${worksrcpath} && runhaskell Setup configure --ghc --prefix=${prefix}"
}
configure { system "cd ${worksrcpath} && runhaskell Setup configure --ghc --prefix=${prefix} --user"
}
にする。(--user を付け足す)
その後
sudo port upgrade hs-cabal
でばっちり。