从本地数据库获取“PackageDescriptions”列表

时间:2017-09-17 09:48:55

标签: haskell cabal

无论如何,大概是使用Cabal包来获取当前本地数据库中PackageDesciption的列表?

1 个答案:

答案 0 :(得分:2)

我不知道是否有内置"这样做,但我已经使用了这个

ghc-pkg list | grep -v "\(^/\|^$\|(\)" | xargs cabal info | grep "\(^\*\|License\)"

提取"许可证"所有已安装软件包的信息。

  1. 如果您使用stackcabal-sandbox,则第一个命令需要替换为stack exec -- ghc-pkg listcabal sandbox hc-pkg list
  2. (第一个)正则表达式删除路径行,如/opt/ghc/8.0.2/lib/ghc-8.0.2/package.conf.d,空行和以(开头的行 - 不知何故ghc-pkg生成的彩色行如ghc-8.0.2结束在grepping时我的终端中启动(
  3. "在所有包裹上绘制阴谋信息"
  4. [可选]提取包本身的包信息(从*License字段开始。
  5. 我希望这就是你要找的东西。我认为另一种方法是编写一个haskell程序并使用Cabal作为库。