- 関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
402 :デフォルトの名無しさん[sage]:2015/08/30(日) 00:01:23.79 ID:U2/m8tQL - ひょっとして、コメントアウトを外してない、なんてことはないかい?
-- html-location: を html-location: hoge にしないといけないよ。
|
- 関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
405 :デフォルトの名無しさん[sage]:2015/08/30(日) 02:57:07.12 ID:U2/m8tQL - >>404
以前似たような質問をしてた方と同じ人ですか? 前回ともども、ろくすっぽ調べもせずテキトウに答えちゃってごめん。 いろいろ試してみたんだけど、どうやら無理っぽい。 html-locationはその時にインストールしたパッケージの内部のドキュメントのリンク先を変えるものらしい。 haddockにある別のオプションを変えることで、ドキュメント右上のContentsや、Indexの参照先を変えることはできた。 でも、ご所望の、パッケージが依存している別のパッケージのドキュメントへのリンクは、書き換えられないみたいだ。 すべてのパッケージのドキュメント位置の情報は、ghc-pkg が握ってる。 $ ghc-pkg field '*' haddock-html ... haddock-html: /usr/local/Cellar/ghc/7.10.2/share/doc/ghc/html/libraries/array-0.5.1.0 haddock-html: /usr/local/Cellar/ghc/7.10.2/share/doc/ghc/html/libraries/base-4.8.1.0 haddock-html: /usr/local/Cellar/ghc/7.10.2/share/doc/ghc/html/libraries/bin-package-db-0.0.0.0 haddock-html: /usr/local/Cellar/ghc/7.10.2/share/doc/ghc/html/libraries/binary-0.7.5.0 ... これらの情報を参照して、haddockはパッケージのリンク先を書くんだと思う。 だから、やりたいことを実現するには、そもそもの依存パッケージの位置を変えるしかない。 (cabalを通して呼ばれるhaddockにだけその情報を渡す方法があるのかもしれないが、俺の調査ではわからなかった。 cabal installへのフラグ--haddock-option=--optghc=-package-db=hoge/.../package.conf.dなどを試したけど何も変わらず)
|
- 関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
407 :405[sage]:2015/08/30(日) 11:56:14.08 ID:U2/m8tQL - ああ、もし、sandbox使ってるんだったら、
$ ghc-pkg field '*' haddock-html ではなく、 $ cabal sandbox hc-pkg field '*' haddock-html を呼んでください。 あと、405の時点では「haddockがghc-pkgを内部で呼ぶ」と思ってたんだけど、実は「cabal が haddock に依存先パッケージのドキュメントの位置を渡す」ということがわかった。 cabal install に --verbose=3 を渡して、haddockに渡っているオプションを見て気づいた。 cabal の --package-db オプションの値が、haddockへ --read-interface オプションとして渡されるらしい(ただし、sandboxにいるときは cabal install に直接package-dbを指示しても無視されるみたい)。
|
- 関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
409 :デフォルトの名無しさん[sage]:2015/08/30(日) 13:07:09.40 ID:U2/m8tQL - おめでとう。
haddockのバグだったのか(cabalではなく)。 haskellのツール周りは色々混み合っててよくわかんないなあ。
|