有沒有辦法在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