【问题标题】:Replace MacPorts dependency with other package用其他包替换 MacPorts 依赖项
【发布时间】:2010-12-25 11:26:08
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: macos osx-snow-leopard macports


    【解决方案1】:

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

    $ sudo port edit $the_port
    

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

    注意:

    1. 这可能会破坏端口,因为它可能不适用于-devel 版本(不太可能,但可能)。
    2. 只要您执行port selfupdate,您对 Portfile 的更改就会恢复。如果您不想在每次更新时都“修复” Portfile,您可能需要设置一个local Portfile repository

    【讨论】:

    • 感谢您的提示。我现在要做的是将 X-devel 端口复制到我的本地存储库,并将其重命名为 X。此外,我将补丁下载到该目录以便它找到它们(否则它会尝试从 X 的目录下载它们-devel 端口)。
    【解决方案2】:

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

    [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)。

    【讨论】:

      猜你喜欢
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      相关资源
      最近更新 更多