有没有办法在MacPorts中用另一个软件包(比指定的软件包)满足某个端口的依赖性?更具体地说,要使用包XYZ-devel而不是XYZ作为需要XYZ的第二个端口?用其他软件包替换MacPorts的依赖关系
在此先感谢。
有没有办法在MacPorts中用另一个软件包(比指定的软件包)满足某个端口的依赖性?更具体地说,要使用包XYZ-devel而不是XYZ作为需要XYZ的第二个端口?用其他软件包替换MacPorts的依赖关系
在此先感谢。
如果-devel
端口没有作为变体提供,那么唯一的方法是编辑Portfile。
$ sudo port edit $the_port
将在编辑器中打开指定的端口。您可以将发布端口的依赖关系更改为-devel
端口。
需要注意的是:
-devel
版本(可能性很小,但有可能)的工作。port selfupdate
时得到恢复。如果您不想在每次更新时都“修复”Portfile,则可能需要设置local Portfile repository。您可以使用“端口变体”命令来显示给定端口的可用变体列表。例如:
[[email protected] ~]$ port variants ffmpeg ffmpeg has the variants: darwin_10: Platform variant, selected automatically no_gpl: disallow use of GPL code, license will be LGPL no_mmx: disable all x86 asm optimizations speex: enable Speex decoding via libspeex
然后,您可以使用“+ variantname”激活或“ - variantname”去激活指定版本的安装(例如,可以使用“sudo的港口安装的ffmpeg +的Speex “用speex变体安装ffmpeg)。这是唯一的方法(不会破坏MacPorts),您可以在不同的配置和依赖关系之间进行选择。
感谢您的提示。我现在所做的是将X-devel端口复制到我的本地存储库,并将其重命名为X.此外,我将修补程序下载到该目录以便它找到它们(否则它会尝试从X的目录下载它们服务器上的-devel端口)。 – Johannes 2009-12-19 20:32:41