问题标签 [cabal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
111 浏览

testing - 如何使用不同版本的先决条件运行我的包的测试?

假设我写了一个 Haskell 包,我想发布到 Hackage。

假设我已经为它编写了自动化测试,所以我知道它可以在我的机器上运行,使用我安装的 GHC 版本,以及它依赖于我安装的其他包的版本。

是否有一种使用它所依赖的其他版本的包和其他版本的 GHC(以及 Hugs 的版本等)来运行我的包测试的自动化方式?

目标不仅是检查它是否适用于我认为它应该适用的先决条件,而且是确认它不适用于我认为它不适用的版本。

0 投票
2 回答
287 浏览

haskell - 如果 cabal 文件更改,为什么 cabal 构建会失败?

有人帮我理解它。Cabal,很棒的应用程序,喜欢它。但是如果 cabal 文件已更改,cabal build 将失败,并显示一条消息说 run cabal configure。不过,它并没有在 cabal install 上抱怨这一点。我不明白为什么 cabal 的程序员不遗余力地检测情况并将消息输出而不是自动运行配置步骤。为什么?

0 投票
2 回答
134 浏览

cocoa - 在 cabal 文件中使用 -xc 将 m 文件传递​​给 ghc 全局设置选项

我正在尝试更新 glfw 包以在 mac 上使用 glfw 2.7。问题在于有一个新的可可端口引入了“m”文件。

所以我想只对这些文件使用 -xc 选项,但我不知道如何让它只对这些“m”文件进行操作。

我的 cabal 文件的相关部分:

有什么想法可以解决这个阴谋集团问题吗?

如果您想对其进行测试,我的源代码位于https://github.com/iaefai/glfw-haskell 。

0 投票
1 回答
930 浏览

haskell - 从 Cabal 安装时覆盖 -Werror

我正在尝试使用 Cabal 和 GHC 6.12.1 从 Hackage 安装nano-hmac-0.2.0包(我想要的包的依赖项),但它失败并出现以下错误:

果然,包的 .cabal 文件中有以下行:

我希望能够覆盖该-Werror选项,以便无需手动修改 .cabal 文件即可安装软件包,但找不到可行的方法。特别是,我尝试传递--ghc-options给 Cabal 以将 a 粘贴-Wwarn到 GHC 的参数列表中,如下所示:

但是,这不符合我的要求;详细输出验证它-Wwarn被添加到 GHC 参数列表的开头,但-Werror来自 .cabal 文件的 .cabal 文件稍后出现并且似乎覆盖了它:

我还尝试传递--constraint='base >= 4'给 Cabal 以强制它使用更新版本的 base 并完全避免警告,但我遇到了同样的失败,我仍然在详细输出中看到以下内容:

有没有办法通过 Cabal 命令行摆脱或覆盖-Werror来自 .cabal 文件的内容,或者我是否坚持自己修改 .cabal 文件?

0 投票
2 回答
2996 浏览

windows - 如何在 .cabal 中指定对外部 C 库的依赖?

我在 Hackage 上维护了一个带有 FFI 绑定的库。所以我的 Haskell 库依赖于对应的 C 库及其头文件。现在我在.cabal文件中指定外部依赖项,如下所示:

它在 Linux 中对我很有效。但是,我有一个库的用户报告说,pkg-config在 Windows 上安装相当麻烦,相反他更喜欢

我希望我的库尽可能易于构建,并且不想强制构建并非严格要求的依赖项。但是,我看到Cabal 手册建议使用PkgConfig-Depends.

我的问题:

  • 对于跨平台软件包,我应该更喜欢哪种方式?
  • 是否有可能以.cabal这样的方式编写文件,它可以使用pkg-config和不使用?
  • 而且,顺便说一句,pkg-config包含在 Haskell 平台中(我现在没有要检查的 Windows 机器)?
0 投票
0 回答
919 浏览

haskell - Trying to install Image.Codec.DevIL under windows. Needs pthread and IL. Can't get IL to work

This is the output from cabal install codec-image-devil:

I tried --extra-include-dirs and --extra-lib-dirs. but they didn't work. so I edited the .cabal in Codec-Image-DevIL-0.2.3.tar.gz. I don't know if I'm even supposed to change that. but it worked for pthread.

I added these two lines:

They are indented so they are in the Library section. I don't know if I got the format for lists right, just something i stumbled upon while googling. The libs and `header files are all in the correct place, I think.

any clue how i can get it to work?

Edit_1:

I got it to work with --extra-include-dirs and --extra-lib-dirs, so I don't need to edit the cabal anymore. but IL still doesn't work. is there a way to find out which files it's looking for?

Wdit_2:

Alright it works. I had to rename DevIL.lib and DevIL.dll to libIL.lib and libIL.dll. (not sure if I had to do both, but that's what I did. also kept them under their old names)

Edit_3:

Getting lots of errors like:

0 投票
1 回答
737 浏览

haskell - 在 Windows 上安装 Haskell cairo

我正在尝试在 Windows XP 上安装 cairo,这是我正在尝试的命令:

在这个馅饼上可以看到我得到的完整输出,但真正的错误是:

注册 cairo-0.12.0...
setup.exe: cairo-0.12.0: include-dirs: /usr/include/cairo 不存在或
不是目录(使用 --force 覆盖)
cairo-0.12 .0: include-dirs: /usr/include/pixman-1 不存在或不是
目录(使用 --force 覆盖)
cairo-0.12.0: include-dirs: /usr/include/freetype2 不存在'不存在或不是
目录(使用--force 覆盖)
cairo-0.12.0: include-dirs: /usr/include/libpng12 不存在或不是
目录(使用--force 覆盖)
cabal: 错误: 一些包安装失败:
cairo-0.12.0 在构建阶段失败。例外是:
ExitFailure 1

我知道这些目录不存在,但我一生都无法弄清楚如何让它查看正确的目录。有谁知道我怎样才能让这个安装工作​​?感谢您的任何帮助。

0 投票
2 回答
1301 浏览

haskell - `ghc-pkg` 和 `cabal` 程序有什么关系?(哈斯克尔)

据我所知cabal,这是一个管理安装包的程序,如 FreeBSD 的pkg_add. 但是还有另一个工具叫做ghc-pkg. 我不知道为什么有两个不同的程序。它们各自的作用是什么,它们之间有什么关系?

0 投票
3 回答
1915 浏览

haskell - 使用 `ghc-pkg` 注册多个版本的软件包?

我正在尝试在 FreeBSD 8.1 上安装GHC和安装。Cabal我已经安装了 GHC 7.0.1(因为它是当前的稳定版本),现在尝试安装Cabal(安装cabal-install),但它失败并显示此错误消息。

绝对我的库版本太高了。

我应该降级到 GHC 6.x 吗?或者我可以安装较低版本的软件包吗?(或并排安装)

0 投票
1 回答
1517 浏览

haskell - 为什么 Haddock 文档没有出现在 Hackage 上?

我有一个关于 Hackage 的包,其中包含黑线鳕生成的文档,但它没有出现在 Hackage 页面上。我能够成功上传所有内容,但没有显示文档。

我使用cabal haddock或使用Package > Build DocumentationLeksah IDE 生成文档。

当我去Package > Open DocLeksah 时,它找不到它,因为它正在寻找dist/doc/html/hspec/hspec/index.html但生成的文件位于dist/doc/html/hspec/index.html. 我认为 Hackage 也在同一个地方寻找。

我猜我的源文件不在预期的位置,但我不知道它们应该如何。

源代码和目录结构可以在https://github.com/trystan/hspec找到。