Нам нравится использовать brew , но в нем не так много формул набора инструментов gnome , и мы можем очень быстро установить gnome-terminal с помощью FinkCommander . Мы создали различные части gnome с нуля, но создание формулы brew только для того, чтобы gnome-terminal казался излишним, когда он уже доступен.
Несмотря на это, у нас были проблемы с созданием gnome-terminal с помощью FinkCommander , то есть до тех пор, пока мы не удалили все ссылки на установленные компоненты brew из переменных среды; мы, конечно, должны были извлечь /usr/local/bin и /usr/local/opt/gnu-tar/libexec/gnubin из $PATH , и просто ради ударов мы убедились, что ${DY}LD_LIBRARY_PATH не указывает на /usr/local/lib и т. д. Это позволило gnome-terminal успешно строить и устанавливать с FinkCommander .
Кроме того, у нас есть программное обеспечение, которое мы хотим установить через brew , fink и port но brew плохо работает с другими. Это привело к более общему вопросу: достаточно ли просто переключать переменные пути и среды для переключения между средами и установками brew и fink/port? Мы знаем, что нам нужно скрыть brew от fink через переменные окружения при сборке gnome-terminal с помощью FinkCommander , и предполагается, что для некоторой определенной формулы brew обратное утверждение верно.
Что вообще мы должны сделать, чтобы иметь лучшее из всех трех миров? То есть, что нужно сделать, чтобы все три, brew , fink и port , были построены и установлены параллельно? Поскольку все управляемые пакеты были созданы с нуля, каждый пакет должен знать, где находятся его собственные динамически связанные библиотеки. Достаточно ли смешивать переменные среды $PATH , $MANPATH и $DYLD_LIBRARY_PATH на лету, чтобы поставить одну установку перед другой, чтобы использовать ее определенные инструменты? Мы что-то упустили?
