Sostituire la dipendenza MacPorts con altro pacchetto
-
19-09-2019 - |
Domanda
C'è un modo per soddisfare una certa dipendenza porta con un altro pacchetto (quella specificata) in MacPorts? Più specificamente, per usare il pacchetto XYZ-devel invece di XYZ per una seconda porta che richiede XYZ?
Grazie in anticipo.
Soluzione
Se la porta -devel
non è offerto come una variante, allora l'unico modo è quello di modificare il Portfile.
$ sudo port edit $the_port
si aprirà la porta specificata in un editor. È possibile modificare la dipendenza dal porto di rilascio per il porto -devel
lì.
Si noti che:
- Questo può rompere la porta, dal momento che non può funzionare con la versione
-devel
(improbabile, ma possibile). - Le modifiche al Portfile otterrà ripristinato ogni volta che fai un
port selfupdate
. Se non si vuole avere a "fissare" il Portfile ogni volta che si aggiorna, si consiglia di impostare una locale Portfile repository .
Altri suggerimenti
È possibile utilizzare la "porta di varianti" comando per visualizzare l'elenco delle varianti disponibili per una determinata porta. Es:
[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
È quindi possibile utilizzare "+ Variantname " per attivare o "- Variantname " per disattivare una determinata variante per il "sudo port install (per esempio, si può usare installare ffmpeg + speex" per installare ffmpeg con la variante speex). Questo è l'unico modo (che non rompere MacPorts) che è possibile scegliere tra diverse configurazioni e le dipendenze.