3

有没有办法用 MacPorts 中的另一个包(而不是指定的包)来满足某个端口依赖性?更具体地说,要使用包 XYZ-devel 而不仅仅是 XYZ 用于需要 XYZ 的第二个端口?

提前致谢。

4

2 回答 2

1

您可以使用“端口变体”命令显示给定端口的可用变体列表。前任:

[michaelsafyan@codemage ~]$ 端口变体 ffmpeg
ffmpeg 有以下变体:
   darwin_10:平台变体,自动选择
   no_gpl:不允许使用 GPL 代码,许可证将是 LGPL
   no_mmx:禁用所有 x86 asm 优化
   speex:通过 libspeex 启用 Speex 解码

然后,您可以使用“+ variantname ”来激活或“- variantname ”来停用安装的给定变体(例如,可以使用“sudo port install ffmpeg +speex”来安装带有 speex 变体的 ffmpeg)。这是您可以在不同配置和依赖项之间进行选择的唯一方法(不会破坏 MacPorts)。

于 2009-12-10T23:26:48.817 回答
1

如果-devel端口没有作为变体提供,那么唯一的方法是编辑端口文件。

$ sudo port edit $the_port

将在编辑器中打开指定的端口。您可以将依赖关系从发布端口更改为-devel那里的端口。

注意:

  1. 这可能会破坏端口,因为它可能不适用于该-devel版本(不太可能,但可能)。
  2. 您对 Portfile 的更改将在您执行port selfupdate. 如果您不想每次更新时都“修复” Portfile,您可能需要设置一个本地 Portfile 存储库
于 2009-12-12T23:53:49.127 回答