ITADN
haskell/cabal
haskell/cabal · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Cabal

Hackage version Stackage version Documentation Status IRC chat Matrix chat GitLab pipeline status

此 Cabal Git 仓库包含以下主要软件包:

规范的上游仓库位于 https://github.com/haskell/cabal。

Cabal 项目的提案

提案流程 是开发者获得对 Cabal 生态系统进行较大更改所需共识的机制。

  • 它是轻量级的,在 cabal-proposals 仓库中打开并讨论 PR,并设有固定的讨论期。
  • 它由开发者主导,最终决定由 Cabal 开发者会议上的开发者做出。
  • 它是灵活的,没有正式的投票程序,决定通过粗略共识做出。

获取 cabal-install 二进制文件的方式

  1. GHCup推荐):使用其网站上的说明 获取 GHCup 并运行:

    ghcup install --set cabal latest
    
  2. 从官方网站下载: 适用于您平台的 cabal-install 二进制下载应包含 cabal 可执行文件。

预览版本

获取未发布的 cabal-install 版本: 让您有机会试用尚未发布的功能。 目前,我们仅提供适用于 x86_64 平台的二进制文件。

  1. master 分支尖端构建的 GitHub 预览版本: 从 GitHub 下载 或使用此 GHCup 命令进行安装:

    ghcup install cabal -u https://github.com/haskell/cabal/releases/download/cabal-head/cabal-head-Linux-x86_64.tar.gz head
    

根据情况将 "Linux" 替换为 "Windows" 或 "macOS"。

默认的 Linux 构建动态链接到 zlibgmpglibc。 您需要安装这些库的相应版本才能使用它。 或者,也提供了一个静态链接的 "Linux-static" 二进制文件。

如果由于过时的 Cabal 库导致构建失败,您可能需要在 cabal.project 文件中添加以下内容: ``` allow-newer: *:Cabal, *:Cabal-syntax

source-repository-package
    type: git
    location: https://github.com/haskell/cabal.git
    subdir: Cabal Cabal-syntax
```

2. 从 pull request 构建的更前沿的二进制文件始终可用, 可在 GitHub 上的 Validate 工作流页面底部找到, 或从用于静态链接 Linux 构建的 build-alpine 工作流中获取。

日常使用 cabal-install 的构建方式

  1. 使用 cabal-install: 如果你已有 cabal-install 的现有版本,请运行:

    cabal install cabal-install
    

以获取 cabal-install 的最新版本。(您可能希望先执行 cabal update。)

  1. 从 Git: 同样,如果已存在 cabal-install 的某个版本, 您可以从 Git 仓库安装最新版本。克隆该 Git 仓库,进入其根目录,并运行:

    cabal install --project-file=cabal.release.project cabal-install
    
  2. 自举: 如果你没有现成的 cabal-install 版本, 请查看 bootstrap 目录。

学习如何使用 cabal 并获取支持

cabal 附带了一份详尽的 用户手册。 如果你是 cabal 的新手并希望快速学习基础知识,请查阅 使用 Haskell 和 Cabal 入门

有问题?请在 Haskell Matrix (在线聊天)或 Haskell Discourse 中提问。

支持窗口

我们对 GHC 的支持窗口为三年(参考), 适用于 Cabal 库和 cabal-install。 即:

  • Cabal 库必须能够开箱即用地针对 GHC 附带的 引导库进行构建,适用于自 Cabal 库发布日期起过去三年内发布的任何 GHC 版本。
  • cabal-install 应能够使用 bootstrap/bootstrap.py 脚本进行构建,适用于自 cabal-install 发布日期起过去三年内发布的任何 GHC 版本。
  • cabal-install 应能够驱动自 cabal-install 发布日期起过去三年内发布的任何 GHC 主版本的最新次版本。 在此上下文中,“驱动”意味着 cabal-install 将与用于构建该包的 Cabal 库(通常是随 ghc 版本附带的那个,但并非总是如此)协同工作。

自升级到最新版本(即 cabal install cabal-install) 必须与过去三年内发布的所有 cabal-install 版本兼容。

Cabal 维护者会尝试以最小努力的方式支持三年前的 GHC 版本。

用于开发和对 cabal 做出贡献的构建

参见 CONTRIBUTING.md

维护者

参见 MAINTAINERS.md