Как правильно указать зависимость x11 в формуле доморощенного?
По умолчанию superenv удаляет / opt / X11 / lib из своих аргументов.
Я пишу формулу для пакета, который я могу собрать вне homebrew с помощью обычного configure, make install.
Итак, у меня есть эта функция установки:
def install
ENV["PKG_CONFIG_PATH"] = "/usr/local/opt/qt/lib/pkgconfig"
# ENV["PATH"] = "/usr/local/bin:/usr/bin:/bin" <--- work around
Dir.chdir("codebase")
system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}"
system "make install"
end
Фаза связи, которая получает эхо, показывает
/bin/sh ../../../../libtool --tag=CXX --mode=link clang++ .... -I /opt/X11/include ..... -L/opt/X11/lib ...
Но ссылка не работает с
ld: library not found for -lX11
Если я добавлю это в начало определения класса, сборка будет успешной
env :std
Кроме того, я могу установить PATH внутри функции сборки, и сборка будет успешной.
Это имеет смысл, поскольку в контексте brew install
, / usr / local / Homebrew / Library / Homebrew / shims / super появляется в начале PATH, и этот каталог содержит clang ++, который кроме всего прочего удаляет компоненты / opt / X11.
Я полагаю, что для такого поведения есть веская причина, и мне любопытно, как лучше всего указать эту библиотеку X11.