Глава 15. Приложения

Содержание
15.1. Значения USES
15.2. Значения __FreeBSD_version

15.1. Значения USES

Таблица 15.1. Значения USES
НаименованиеАргументыОписание
ada(нет)Зависимость от компилятора с поддержкой Ada. Соответствующим образом определяется значение CC.
bison(нет), build, run, bothИспользует devel/bison. По умолчанию, без аргументов или с аргументом build, bison означает зависимость для сборки, run для выполения, и both для сборки и выполнения.
charsetfix(нет)Предотвращает установку charset.alias. Этот файл должен устанавливаться только совместно с converters/libiconv. Используя CHARSETFIX_MAKEFILEIN, можно указать другой путь относительно WRKSRC, если charset.alias устанавливается иначе чем через WRKSRC/Makefile.in.
cmake(нет), outsource, runИспользует CMake для конфигурации и построения. При использовании аргумента outsource будет произведена сборка вне дерева исходных текстов (out-of-source). При использовании аргумента run регистрируется как зависимость для выполнения. Для получения дополнительной информации смотрите Раздел 6.4.4, <<Использование cmake>>.
compiler(нет), c++0x, c++11-lang, c++11-lib, c11, openmp, nestedfct, featuresОпределяет используемый компилятор с учётом любых пожеланий. Используйте c++11-lang, если для порта нужен компилятор с поддержкой C++11, и c++11-lib, если для порта также нужна стандартная библиотека C++11. Если для порта нужен компилятор, понимающий C++0X, C11, OpenMP или вложенные функции, для этого можно использовать соответствующие параметры. Используйте features, чтобы запросить список функциональных особенностей, поддерживаемых компилятором по умолчанию. После подключения bsd.port.pre.mk порт может проверить результат, используя эти переменные:
  • COMPILER_TYPE: системный компилятор по умолчанию, gcc или clang

  • ALT_COMPILER_TYPE: альтернативный системный компилятор, gcc или clang. Значение устанавливается, только если оба компилятора присутствуют в основной системе.

  • COMPILER_VERSION: первые две цифры версии компилятора по умолчанию.

  • ALT_COMPILER_VERSION: первые две цифры версии альтернативного компилятора, если такой присутствует.

  • CHOSEN_COMPILER_TYPE: используемый компилятор, gcc или clang

  • COMPILER_FEATURES: поддерживаемые возможности компилятора по умолчанию. В настоящее время здесь указана библиотека C++.

cran(нет), auto-plistИспользует Comprehensive R Archive Network. Используйте auto-plist для автоматического получения pkg-plist.
desktop-file-utils(нет)Использует update-desktop-database из devel/desktop-file-utils. Будет включён дополнительный этап post-install без взаимодействия с уже имеющимися этапами post-install. В plist будут добавлены строки для запуска update-desktop-database при установке и удалении пакета.
desthack(нет)Изменяет поведение GNU configure для правильной поддержки DESTDIR, в случае если программное обеспечение этого не делает.
display(нет), ARGSУстанавливает окружение виртуального дисплея. Если переменная окружения DISPLAY не установлена, то Xvfb добавляется как зависимость для построения и CONFIGURE_ENV дополняется номером порта текущего запущенного экземпляра Xvfb. Параметр ARGS по умолчанию имеет значение install и управляет фазой, в которой запускается и останавливается виртуальный дисплей.
dos2unix(нет)В составе порта имеются файлы с окончанием строк в формате DOS, для которых требуется преобразование. Для управления тем, какие из файлов должны быть преобразованы, используются три переменные. По умолчанию преобразуются все файлы, включая двоичные.
  • DOS2UNIX_REGEX: сопоставление с именем файла с использованием регулярных выражений.

  • DOS2UNIX_FILES: строковое сопоставление с именем файла.

  • DOS2UNIX_GLOB: сопоставление с именем файла с использованием шаблонов поиска.

fam(нет), fam, gaminИспользует File Alteration Monitor как зависимость от библиотеки порта devel/fam или devel/gamin. Пользователи могут задать WITH_FAM_SYSTEM для указания своего предпочтения.
fmake(нет)Использует devel/fmake как зависимость для сборки.
fortrangcc (default), ifortИспользует компилятор Fortran от GNU или Intel.
fuse(нет)Порт будет зависеть от библиотеки FUSE и возможно от модуля ядра, в соответствии с версией FreeBSD.
gettext(нет), lib (по умолчанию), build, runИспользует devel/gettext. По умолчанию, без аргументов или с аргументом lib, означает зависимость от библиотеки libintl.so. build и run соответственно означают зависимости от от xgettext для сборки и выполнения.
gmake(нет)Использует devel/gmake как зависимость для сборки и подготавливает окружение для использования gmake в качестве make для сборки по умолчанию.
iconv(нет), lib, build, patchИспользует функции iconv, из порта converters/libiconv как зависимость для сборки и выполнения или же из основной системы на 10-CURRENT после появления собственного iconv в 254273. По умолчанию, без параметров или с параметром lib, iconv означает зависимость для сборки и выполнения, build для сборки и patch для использования патчей. Более подробно смотрите Раздел 6.21, <<Использование iconv>>.
imake(нет), env, notallИспользует devel/imake как зависимость для сборки. С аргументом env всего лишь подготавливает окружение и не задаёт каких-либо целей. С аргументом notall запрещает передачу -a команде xmkmf.
kmod(нет)Заполняет шаблоны для портов модулей ядра:
  • Добавляет kld в список CATEGORIES.

  • Задаёт SSP_UNSAFE.

  • Задаёт IGNORE, если исходные тексты ядра не найдены в SRC_BASE.

  • В качестве значения по умолчанию для KMODDIR устанавливает /boot/modules, добавляет его в PLIST_SUB и MAKE_ENV и создает на этапе установки. Если для KMODDIR установлено значение /boot/kernel, оно будет заменено на /boot/modules. Это предотвращает повреждение пакетов вследствие переименования /boot/kernel в /boot/kernel.old в процессе обновления ядра.

  • Управляет перекрёстными ссылками модулей ядра во время установки и удаления.

libtool(нет)Применяет исправления для сценариев libtool. Должно быть добавлено для всех портов, использующих libtool.
lua(нет), XY+, XY, build, runДобавляет зависимость от Lua. По умолчанию является зависимостью от библиотеки, если это не переопределено параметрами build или run. Версия по умолчанию 5.2, если не задана с помощью параметра XY (например, 51 или 52+).
motif(нет)Использует x11-toolkits/open-motif как зависимость от библиотеки. Пользователи могут задавать WANT_LESSTIF для использования зависимости от x11-toolkits/lesstif вместо x11-toolkits/open-motif.
ncurses(нет), base, portИспользует ncurses, тем самым задаёт некоторые нужные переменные.
ninja(нет)Использует ninja для построения порта. Пользователи могут задать NINJA_VERBOSE для подробного вывода сообщения.
openalal, soft (по умолчанию), si, alutИспользует OpenAL. Может быть указан бэкэнд, по умолчанию используется программная реализация. Пользователь может указать предпочитаемый бэкэнд с использованием переключателя WANT_OPENAL. Правильными значениями для этого переключателя являются soft (по умолчанию) и si.
pathfix(нет)Исправляет общие пути для их соответствия иерархии FreeBSD в файлах Makefile.in и configure, принадлежащих исходному коду порта.
perl5(нет)Зависит от Perl. Могут быть заданы следующие переменные:
  • PERL_VERSION: Полная версия Perl для использования; если не задано, используется значение по умолчанию

  • PERL_ARCH: Имя каталога для архитектурозависимых библиотек, по умолчанию mach

  • PERL_PORT: Имя порта Perl для установки; значение по умолчанию наследуется из PERL_VERSION

  • SITE_PERL: Имя каталога для пакетов Perl со специальным размещением

  • USE_PERL5: Фазы для использования Perl, может быть extract, patch, build, install или run. Также может быть configure, modbuild или modbuildtiny, когда требуются Makefile.PL, Build.PL или его вариация Module::Build::Tiny. По умолчанию build run.

pgsql(нет), X.Y, X.Y+, X.Y-

Обеспечивает поддержку PostgreSQL. Мейнтейнеры могут задавать требуемую версию. Могут быть указаны минимальная и максимальная версии; например, 9.0-, 8.4+.

Добавляет зависимость от компонентов PostgreSQL с использованием WANT_PGSQL=component[:target]. Например, WANT_PGSQL=server:configure pltcl plperl. Для получения полного перечня используйте make -V _USE_PGSQL_DEP.

pkgconfig(нет), build (по умолчанию), run, bothИспользует devel/pkgconf. Без аргументов или с аргументом build pkg-config означает зависимость для сборки, run для выполнения и both для сборки и выполнения.
pure(нет), ffiИспользует lang/pure. В основном используется для построения портов, относящихся к pure. С аргументом ffi означает зависимость от devel/pure-ffi для выполнения.
qmail(нет), build, run, both, varsИспользует mail/qmail. С аргументом build qmail означает зависимость для сборки и run для выполнения. Без аргументов или с аргументом both qmail означает зависимость для сборки и выполнения. vars задает переменные QMAIL для нужд порта.
qmake(нет), norecursive, outsourceИспользует QMake для конфигурации. Для получения дополнительной информации смотрите Раздел 6.10.3, <<Использование qmake>>.
readline(нет), portИспользует readline как зависимость от библиотеки и по необходимости устанавливает переменные CPPFLAGS и LDFLAGS. При использовании параметра port заставляет использовать devel/readline.
scons(нет)Обеспечивает поддержку для использования devel/scons
shared-mime-info(нет)Использует update-mime-database из misc/shared-mime-info. Это также добавляет собственный этап post-install и строки в plist для запуска update-mime-data с подходящими аргументами во время установки и удаления пакета.
shebangfix(нет)Во многом программном обеспечении указывается неправильный путь к интерпретатору (shebang), в первую очередь это касается /usr/bin/perl и /bin/bash. Это значение исправляет строку shebang в сценариях, перечисленных в SHEBANG_FILES. По умолчанию сейчас поддерживаются Perl, Python, Bash, Ruby и PHP. Для поддержки других интерпретаторов необходимо соответствующее значение SHEBANG_LANG (например, SHEBANG_LANG=lua), lua_OLD_CMD и lua_CMD.
tclPORTДобавляет зависимость от Tcl. Параметр PORT в качестве значения может принимать tcl или tk. К значению может быть добавлена версия или зависимость wrapper с использованием PORT:version или PORT:wrapper. Поле версии может иметь пустое значение, один или более номеров версии (на данный момент 84, 85 или 86) или же минимальный номер версии (на данный момент 84+, 85+ или 86+). Может быть указана зависимость для сборки или выполнения с использованием PORT,build или PORT,run. После подключения bsd.port.pre.mk порт может проверить результат, используя эти переменные:
  • TCL_VER: используемая старшая.младшая версия Tcl

  • TCLSH: полный путь к интерпретатору Tcl

  • TCL_LIBDIR: путь к библиотекам Tcl

  • TCL_INCLUDEDIR: путь к заголовочным файлам Tcl на языке Си

  • TK_VER: используемая старшая.младшая версия Tk

  • WISH: полный путь к интерпретатору Tk

  • TK_LIBDIR: путь к библиотекам Tk

  • TK_INCLUDEDIR: путь к заголовочным файлам Tk на языке Си

tkТо же, что и для tclНебольшая обёртка при одновременном использовании Tcl и Tk. Возвращает те же переменные, что и при использовании Tcl.
twisted(нет), ARGSДобавляет зависимость от twistedCore. Перечень требуемых компонентов можно указать в качестве значения этой переменной. ARGS может принимать одно из значений:
  • build: добавляет twistedCore или любой из указанных компонентов как зависимость построения.

  • run: добавляет twistedCore или любой из указанных компонентов как зависимость запуска.

Помимо build и run можно указать один или несколько поддерживаемых компонентов twisted. Поддерживаемые значения перечислены в Uses/twisted.mk.
uidfix(нет)Изменяет некоторое поведение по умолчанию (в основном, переменные) системы построения для возможности установки этого порта из-под обычного пользователя. Попробуйте это в вашем порте перед добавлением NEED_ROOT=yes.
uniquefiles(нет), dirs Делает файлы и каталоги 'уникальными' посредством добавления приставки или окончания. При использовании параметра dirs порт нуждается в приставке (и только в ней) на основе UNIQUE_PREFIX для стандартных каталогов DOCSDIR, EXAMPLESDIR, DATADIR, WWWDIR, ETCDIR. Для портов доступны следующие переменные:
  • UNIQUE_PREFIX: приставка для использования с каталогами и файлами. По умолчанию ${PKGNAMEPREFIX}.

  • UNIQUE_PREFIX_FILES: перечень файлов, для которых нужна приставка. По умолчанию пустое значение.

  • UNIQUE_SUFFIX: окончание для использования с файлами. По умолчанию ${PKGNAMESUFFIX}.

  • UNIQUE_SUFFIX_FILES: перечень файлов, для которых нужно окончание. По умолчанию пустое значение.

webplugin(нет), ARGSАвтоматически создаёт и удаляет символические ссылки для каждого из приложений с поддержкой фреймворка webplugin. ARGS может принимать одно из значений:
  • gecko: поддержка плагинов Gecko

  • native: поддержка плагинов Gecko, Opera и WebKit-GTK

  • linux: поддержка плагинов Linux

  • all (по умолчанию, неявно): поддержка всех типов плагинов

  • (отдельные записи): поддержка только указанных браузеров

Следующие переменные могут быть отредактированы:
  • WEBPLUGIN_FILES: Без значения по умолчанию, должна устанавливаться вручную. Устанавливаемые файлы плагина.

  • WEBPLUGIN_DIR: Директория для установки файлов плагина, по умолчанию PREFIX/lib/browser_plugins/WEBPLUGIN_NAME. Задавайте её, если порт устанавливает файлы плагина за пределами каталога по умолчанию, для защиты от повреждения символических ссылок.

  • WEBPLUGIN_NAME: Итоговое имя каталога для установки файлов плагина, по умолчанию PKGBASE.

zenoss(нет)Использует net-mgmt/zenoss. В основном используется для построения портов zenoss, относящихся к zenpack.
zope(нет)Использует www/zope. В основном используется для построения портов, относящихся к zope. ZOPE_VERSION может использоваться портом для указания того, что должна использоваться определённая версия zope.

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.

По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.