cabal-install配置文件的文档

15

~/.cabal/config 存储 cabal-install 使用的配置信息。我想对它进行一些技术手段。(具体来说,安装多个 GHC 版本时,我希望有单独的文档索引)。

然而,除了默认文件中包含的内容外,我找不到任何关于其语法或变量的文档。是否有可用的文档?

编辑:我已经说明了上面的目标,但是让我添加一些细节:如果在两个 GHC 版本中安装了相同的软件包(例如 GTK),它们将最终出现在相同的文档索引文件中。我希望每个 GHC 安装的本地文档索引是分开的。我相信可以通过设置文档目录来以某种方式实现这一点,但必须存在当前使用的 GHC 版本的变量。如果没有这样的变量,可能会有一些解决方法,但除非我看到文档,否则无法确定。


“config”文件中的选项与“cabal install”接受的命令行标志基本相同,不是吗? - C. A. McCann
我不确定你想做什么。也许这可以帮助你:你可以将多个 GHC 安装到不同的目录中,.cabal 目录中的软件包将安装到不同的子目录中,例如 'parsec-3.1.1/ghc-7.0.4/',只需更改 'PATH' 即可使用不同的 GHC。 - wuxb
@吴星波:我猜目标是使用cabal install安装软件包,但是配置文件只有一个位置,因此即使有多个Cabal的副本,也没有简单的方法可以选择配置。 - C. A. McCann
@吴兴波:这可能是可行的,但如果可能的话,我不想有多个配置文件。我已经有一个用于切换路径的shell函数,但我也希望它能够适用于已安装的文档。 - Tener
2个回答

9

这似乎可以工作,尽管我只测试了一个版本的GHC:

documentation: True
doc-index-file: $datadir/doc/$compiler/index.html

install-dirs user
    docdir: $datadir/doc/$compiler/$pkgid

如果其他选项保持默认,这将在.cabal/share/doc/<ghc-version>/<package-name>生成文档,并在.cabal/share/doc/<ghc-version>/index.html中生成索引。


3

在网上似乎很少找到相关信息,甚至 cabal-install 代码的 haddock 也没有。所以您最好从源代码中自行解决这个问题。可以使用 cabal unpack cabal-install 命令,或在线查看 cabal-install 仓库。在 Distribution/Client/Config.hs 文件中查看 SavedConfig,例如它从 Setup.hs 导入 GlobalFlags;各个标志如 globalCacheDir 与它们的配置文件语法(也是命令行语法)关联在以下 globalCommand 函数中,此处为 remote-repo-cache。

您还应该在 irc.freenode.net 上的 #haskell 频道向 dcoutts 询问是否有新的文档可用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接