Замените зависимость MacPorts другим пакетом

Есть ли способ удовлетворить определенную зависимость порта с другим пакетом (чем указанный) в MacPorts? В частности, использовать пакет XYZ-devel вместо просто XYZ для второго порта, для которого требуется XYZ?

Заранее спасибо.


person Johannes    schedule 10.12.2009    source источник


Ответы (2)


Если порт -devel не предлагается в качестве варианта, то единственным способом является редактирование файла порта.

$ sudo port edit $the_port

откроет указанный порт в редакторе. Вы можете изменить зависимость с порта выпуска на порт -devel.

Обратите внимание, что:

  1. Это может сломать порт, так как он может не работать с -devel версией (маловероятно, но возможно).
  2. Ваши изменения в файле порта будут отменены в любое время, когда вы сделаете port selfupdate. Если вы не хотите «исправлять» портфайл при каждом обновлении, вы можете настроить локальный репозиторий файлов портов.
person mipadi    schedule 12.12.2009
comment
Спасибо за чаевые. Что я делаю сейчас, так это копирую порт X-devel в свой локальный репозиторий и переименовываю его в X. Кроме того, я загружаю исправления в этот каталог, чтобы он их нашел (иначе он попытался бы загрузить их из каталога X). -devel порт на сервере). - person Johannes; 19.12.2009

Вы можете использовать команду «варианты порта», чтобы отобразить список доступных вариантов для данного порта. Бывший:

[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

Затем вы можете использовать "+имя_варианта" для активации или "-имя_варианта" для деактивации данного варианта установки (например, можно использовать "sudo port install ffmpeg + speex", чтобы установить ffmpeg с вариантом speex). Это единственный способ (который не сломает MacPorts), которым вы можете выбирать между различными конфигурациями и зависимостями.

person Michael Aaron Safyan    schedule 10.12.2009