Предотвратить установку MacPorts предварительно установленного пакета?

Я пытаюсь установить libiconv с помощью MacPorts. Мне нужно создать его для запуска в OS X 10.5, пока мой Mac работает 10.6. Поэтому я добавил это как macports.conf:

macosx_deployment_target 10.5

Это якобы заставляет MacPorts строить порт с 10,5 SDK. Однако установленные библиотеки по-прежнему содержат команду LC_DYLD_INFO load, доступную только в 10.6.

Я переустановил порт с опцией -v и обнаружил, что он загружает и устанавливает готовый пакет без компиляции. Пакет, очевидно, был построен на 10,6 машинах.

Вопрос: как заставить MacPorts построить порт на моей машине с моими настройками? Спасибо.

Изменить: я создаю универсальные двоичные файлы x86/x64 с помощью этой команды:

sudo port -v install libiconv +universal

Ответ 1

Как и в MacPorts 2.1.0, в файле конфигурации /opt/local/etc/macports/macports.conf есть новый параметр buildfromsource, который управляет использованием предварительно созданных архивов:

# When to build ports from source. Default is 'ifneeded', which downloads an
# archive if available or builds from source otherwise. 'always' has the same
# effect as -s on the command line, and 'never' is likewise the same as -b.
#buildfromsource    ifneeded

Ответ 2

Duh! Я смотрел вверх и вниз в течение большей части дня. И сразу после того, как я опубликовал вопрос, я сам это выясню.

Добавьте команду -s в port, и она потянет и скомпилирует источник локально:

sudo port -s -v install libiconv +universal