有没有办法在MacPorts中使用另一个包(而不是指定的包)来满足某个端口依赖?更具体地说,对于需要XYZ的第二个端口,使用XYZ-devel包而不仅仅是XYZ?
提前致谢。
答案 0 :(得分:1)
您可以使用“port variants”命令显示给定端口的可用变体列表。例如:
[michaelsafyan@codemage ~]$ 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 port”安装ffmpeg + speex“以使用speex变量安装ffmpeg)。这是您可以在不同配置和依赖关系之间进行选择的唯一方法(不会破坏MacPorts)。
答案 1 :(得分:1)
如果-devel
端口不作为变体提供,那么唯一的方法是编辑端口文件。
$ sudo port edit $the_port
将在编辑器中打开指定的端口。您可以将依赖关系从发布端口更改为那里的-devel
端口。
请注意:
-devel
版本(不太可能,但可能)。port selfupdate
时,您对Portfile的更改都将被还原。如果您不希望每次更新时都必须“修复”Portfile,您可能需要设置local Portfile repository。