USES= bison perl
Глава 17. Использование макроса USES
Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.
Содержание
17.1. Введение в USES
Макросы USES упрощают объявление требований и настроек для порта. Они могут добавлять зависимости, изменять поведение при сборке, добавлять метаданные в пакеты и так далее, просто выбирая предустановленные значения.
Каждый раздел в этой главе описывает возможное значение для USES, а также его возможные аргументы. Аргументы добавляются к значению после двоеточия (:). Несколько аргументов разделяются запятыми (,).
USES= tar:xz
USES= drupal:7,theme
USES= pgsql:9.3+ cpe python:2.7,build
17.2. 7z
Возможные аргументы: (нет), p7zip, partial
Извлечение с использованием 7z(1) вместо bsdtar(1) и устанавливает EXTRACT_SUFX=.7z. Опция p7zip добавляет зависимость от 7z из archivers/p7zip, если версия из базовой системы не может извлечь файлы. EXTRACT_SUFX не изменяется, если используется опция partial, это может быть полезно, если основной дистрибутивный файл не имеет расширения .7z.
17.3. ada
Возможные аргументы: (нет), 6, 12, (запуск)
Зависит от компилятора с поддержкой Ada и устанавливает CC соответствующим образом. По умолчанию используется gcc6-aux из портов.
17.4. angr
Возможные аргументы: binaries, nose
Обеспечить поддержку портов, требующих платформу бинарного анализа angr.
Если присутствует аргумент binaries, для тестирования порта требуются специальные бинарные файлы angr.
Если присутствует аргумент nose, порт использует nosetests для цели тестирования. Этот аргумент подразумевает USES=python:test.
Фреймворк предоставляет следующие переменные, которые могут быть установлены портом:
ANGR_VERSIONВерсия программ проекта
angr.ANGR_BINARIES_TAGNAMEИмя тега для бинарных файлов
angr.ANGR_NOSETESTSПуть к программе
nosetests.
17.5. ansible
Возможные аргументы: env, module, plugin
Обеспечивает поддержку портов, зависящих от пакета sysutils/ansible.
Если присутствует аргумент env, порт не зависит от sysutils/ansible, но требует установки некоторых переменных Ansible.
Если присутствует аргумент module, то порт является модулем Ansible.
Если присутствует аргумент plugin, то порт является плагином Ansible.
Фреймворк предоставляет следующие переменные порту:
ANSIBLE_CMDПуть к программе ansible.
ANSIBLE_DOC_CMDПуть к программе ansible-doc.
ANSIBLE_RUN_DEPENDSRUN_DEPENDS с портом Ansible.
ANSIBLE_DATADIRПуть к корню структуры каталогов, где хранятся все модули и плагины Ansible.
ANSIBLE_ETCDIRПуть к каталогу etc Ansible.
ANSIBLE_PLUGINS_PREFIXПуть к каталогу "plugins" в
${ANSIBLE_DATADIR}.ANSIBLE_MODULESDIRПуть к каталогу для локальных модулей Ansible.
ANSIBLE_PLUGINSDIRПуть к каталогу для локальных плагинов Ansible.
ANSIBLE_PLUGIN_TYPEТип плагина Ansible (например, "connection", "inventory" или "vars").
17.6. apache
Возможные аргументы: (нет), 2.4, build, run, server
Обеспечивает поддержку портов, зависящих от веб-сервера Apache.
Аргумент version можно использовать для указания конкретной версии Apache httpd. Можно задать определённую версию (USES=apache:2.4), минимальную версию (USES=apache:2.4+) или максимальную версию (USES=apache:-2.4).
Если указан аргумент build, к порту добавляется зависимость для сборки.
Если указан аргумент run, к порту добавляется зависимость времени выполнения.
Если указан аргумент server, это означает, что порт является серверным.
Фреймворк предоставляет следующие переменные, которые могут быть установлены портом:
AP_FAST_BUILDАвтоматическая сборка модуля
AP_GENPLISTАвтоматическое создание
PLISTплюс добавление модуля в отключенном состоянии в httpd.conf (только если нет файлаpkg-plist)MODULENAMEИмя модуля Apache. По умолчанию:
${PORTNAME}SHORTMODNAMEКраткое название модуля Apache. По умолчанию:
${MODULENAME:S/mod_//}SRC_FILEИсходный файл модуля APACHE. По умолчанию:
${MODULENAME}.c
Следующие переменные могут быть доступны для порта:
APACHE_VERSIONОсновная-вспомогательная версия выбранного сервера Apache, например 2.4
APACHEETCDIRРасположение каталога конфигурации Apache. По умолчанию: ${LOCALBASE}/etc/apache24
APACHEINCLUDEDIRРасположение include-файлов Apache. По умолчанию: ${LOCALBASE}/include/apache24
APACHEMODDIRРасположение модулей Apache. По умолчанию: ${LOCALBASE}/libxexec/apache24
APACHE_DEFAULT::Версия Apache по умолчанию
17.7. autoreconf
Возможные аргументы: (нет), build
Выполняет autoreconf. Эта команда объединяет функциональность aclocal, autoconf, autoheader, automake, autopoint и libtoolize. Каждая из этих команд применяется к ${AUTORECONF_WRKSRC}/configure.ac или его старому названию ${AUTORECONF_WRKSRC}/configure.in. Если configure.ac определяет подкаталоги с их собственными configure.ac с использованием AC_CONFIG_SUBDIRS, autoreconf также рекурсивно обновит их. Аргумент :build только добавляет зависимости времени сборки на эти инструменты, но не запускает autoreconf. Порт может установить AUTORECONF_WRKSRC, если WRKSRC не содержит путь к configure.ac.
17.8. azurepy
Возможные аргументы: (отсутствуют)
Обеспечить поддержку портов py-azure*. Удаляет пространства имен azure и очищает общие файлы.
17.9. blaslapack
Возможные аргументы: (нет), atlas, netlib (по умолчанию), gotoblas, openblas
Добавляет зависимости от библиотек Blas / Lapack.
17.10. bdb
Возможные аргументы: (отсутствуют), 5 (по умолчанию), 18
Добавить зависимость от библиотеки Berkeley DB. По умолчанию используется databases/db5. Также может зависеть от databases/db18 при использовании аргумента :18. Можно объявить диапазон допустимых значений: :5+ находит самую высокую установленную версию и возвращается к 5, если ничего другого не установлено. INVALID_BDB_VER можно использовать для указания версий, которые не работают с этим портом. Фреймворк предоставляет порту следующие переменные:
BDB_LIB_NAMEИмя библиотеки Berkeley DB. Например, при использовании databases/db5 она содержит
db-5.3.BDB_LIB_CXX_NAMEНазвание библиотеки Berkeley DBC++. Например, при использовании databases/db5 она содержит
db_cxx-5.3.BDB_INCLUDE_DIRРасположение каталога с заголовочными файлами Berkeley DB. Например, при использовании пакета databases/db5, он будет содержать
${LOCALBASE}/include/db5.BDB_LIB_DIRРасположение каталога библиотеки Berkeley DB. Например, при использовании databases/db5, он содержит
${LOCALBASE}/lib.BDB_VERОбнаруженная версия Berkeley DB. Например, при использовании
USES=bdb:5+и установленной Berkeley DB 18, будет содержать18.
databases/db48 устарел и не поддерживается. Он не должен использоваться ни одним портом. |
17.11. bison
Возможные аргументы: (нет), build, run, both
Использует пакет devel/bison По умолчанию, без аргументов или с аргументом build, подразумевается, что bison является зависимостью на этапе сборки, run — зависимостью на этапе выполнения, а both — зависимостью как на этапе сборки, так и на этапе выполнения.
17.12. budgie
Возможные аргументы: (отсутствуют)
Предоставить поддержку окружения рабочего стола Budgie. Используйте USE_BUDGIE для выбора необходимых компонентов порта. Дополнительную информацию см. в разделе Использование Budgie.
17.13. cabal
Порты не следует создавать для библиотек Haskell, подробнее см. в Библиотеки Haskell. |
Возможные аргументы: (отсутствуют), hpack, nodefault
Устанавливает значения и цели по умолчанию, используемые для сборки программного обеспечения на Haskell с помощью Cabal. Добавляется зависимость для сборки на порт компилятора Haskell (lang/ghc). Если в переменной BUILD_DEPENDS уже указана другая версия GHC (например, lang/ghc810), она будет использована вместо версии по умолчанию. Если указан аргумент hpack, добавляется зависимость для сборки на devel/hs-hpack, и hpack вызывается на этапе конфигурации для генерации файла .cabal. Если указан аргумент nodefault, фреймворк не будет пытаться загрузить основной дистрибутивный файл из Hackage. Этот аргумент добавляется неявно, если присутствует USE_GITHUB или USE_GITLAB.
Фреймворк предоставляет следующие переменные:
CABAL_REVISIONПакеты Haskell, размещённые на Hackage, могут иметь ревизии. Установите этот параметр в целочисленное значение, чтобы использовать исправленное описание пакета.
USE_CABALЕсли программное обеспечение использует зависимости на Haskell, перечислите их в этой переменной. Каждый элемент должен присутствовать на Hackage и быть указан в формате
имяпакета-0.1.2. Зависимости также могут иметь ревизии, которые указываются после символа_. Поддерживается автоматическое формирование списка зависимостей, см. Сборка приложений на Haskell с помощьюcabal.CABAL_FLAGSСписок флагов, передаваемых
cabal-installна этапах настройки и сборки. Флаги передаются в исходном виде. Эта переменная обычно используется для включения или отключения флагов, объявленных в файле .cabal. Передайтеfoo, чтобы включить флагfoo, и-foo, чтобы отключить его.CABAL_EXECUTABLESСписок исполняемых файлов, устанавливаемых портом. Значение по умолчанию:
${PORTNAME}. Для получения списка возможных значений этой переменной обратитесь к файлу .cabal портируемого проекта. Каждое значение соответствует разделуexecutableв файле .cabal. Элементы из этого списка автоматически добавляются в pkg-plist.SKIP_CABAL_PLISTЕсли определено, не добавлять элементы из
${CABAL_EXECUTABLES}в pkg-plist.opt_USE_CABALДобавляет элементы в
${USE_CABAL}в зависимости от опцииopt.opt_CABAL_EXECUTABLESДобавляет элементы в
${CABAL_EXECUTABLES}в зависимости от опцииopt.opt_CABAL_FLAGSЕсли
optвключён, добавить значение к${CABAL_FLAGS}. В противном случае добавить-value, чтобы отключить флаг. Обратите внимание, что это поведение немного отличается от простогоCABAL_FLAGS, так как оно не принимает значения, начинающиеся с-.CABAL_WRAPPER_SCRIPTSПодмножество
${CABAL_EXECUTABLES}, содержащее программы на Haskell, которые будут обёрнуты в shell-скрипт, устанавливающий переменные окружения*_datadirперед запуском программы. Это также приводит к тому, что фактический бинарный файл Haskell устанавливается в каталогlibexec/cabal/. Данная настройка необходима для программ на Haskell, которые устанавливают свои файлы данных в каталогshare/.FOO_DATADIR_VARSСписок дополнительных пакетов Haskell, чьи файлы данных должны быть доступны исполняемому файлу с именем
FOO. Исполняемый файл должен быть частью${CABAL_WRAPPER_SCRIPTS}. Указанные пакеты Haskell не должны иметь суффикса версии.CABAL_PROJECTНекоторые проекты на Haskell могут уже иметь файл
cabal.project, который также создаётся фреймворком портов. Если это так, используйте эту переменную, чтобы указать, что делать с оригинальным файломcabal.project. Установка этой переменной в значениеremoveприведёт к удалению оригинального файла. Установка этой переменной в значениеappendприведёт к следующему:Исходный файл переместится в
cabal.project.${PORTNAME}на этапеextract.Исходный файл
cabal.project.${PORTNAME}и сгенерированныйcabal.projectобъединятся в один файл после этапаpatch. Использованиеappendпозволяет выполнить патчинг исходного файла перед его объединением.
17.14. cargo
Возможные аргументы: (отсутствуют)
Использует Cargo для настройки, сборки и тестирования. Может применяться для портирования приложений на Rust, использующих систему сборки Cargo. Дополнительную информацию смотрите в Сборка приложений на Rust с помощью cargo.
17.15. charsetfix
Возможные аргументы: (отсутствуют)
Предотвращает установку файла charset.alias портом. Этот файл должен устанавливаться только пакетом converters/libiconv. Переменная CHARSETFIX_MAKEFILEIN может быть установлена в путь относительно WRKSRC, если charset.alias не устанавливается через ${WRKSRC}/Makefile.in.
17.16. cl
Возможные аргументы: (отсутствуют)
Предоставляет поддержку портов Common Lisp.
Фреймворк предоставляет следующие переменные, которые могут быть установлены портами:
ASDF_MODULESСписок модулей
ASDFдля сборки, когда установленFASL_TARGET(по умолчаниюPORTNAME)FASL_TARGETСобрать fasl вариант порта (один из
ccl,clispилиsbcl)USE_ASDFЗависит от пакета devel/cl-asdf
USE_ASDF_FASLЗависит от
devel/cl-asdf-<FASL_TARGET>USE_CCLЗависит от пакета lang/ccl; подразумевается при
FASL_TARGET=cclUSE_CLISPЗависит от пакета lang/clisp; подразумевается при
FASL_TARGET=clispUSE_SBCLЗависит от пакета lang/sbcl; подразумевается, если
FASL_TARGET=SBCL
Фреймворк предоставляет следующие переменные, которые могут быть прочитаны портами:
ASDF_PATHNAMEПуть к исходному коду CL
ASDF_REGISTRYПуть к реестру CL, содержащему файлы asd
CCLПуть к компилятору Clozure Common Lisp
CLISPПуть к компилятору GNU Common Lisp
CL_LIBDIR_RELКаталог библиотек CL относительно
LOCALBASEилиPREFIXFASL_DIR_RELОтносительный путь к скомпилированным fasl-файлам; зависит от
FASL_TARGETFASL_PATHNAMEПуть к CL fasl
LISP_EXTRA_ARGДополнительные аргументы, используемые при сборке fasl
SBCLПуть к компилятору Steel Bank Common Lisp
17.17. cmake
Возможные аргументы: (отсутствуют), insource, noninja, run, testing
Используйте CMake для настройки порта и генерации системы сборки.
По умолчанию выполняется сборка в дереве вне исходного кода, оставляя исходные файлы в WRKSRC свободными от артефактов сборки. С аргументом insource вместо этого будет выполнена сборка в исходном коде. Этот аргумент должен быть исключением и использоваться только в случае, когда обычная сборка вне исходного кода не работает.
По умолчанию для сборки используется Ninja (devel/ninja). В некоторых случаях это может работать некорректно. С аргументом noninja сборка будет использовать обычный make. Этот аргумент следует применять только если сборка на основе Ninja не работает.
С аргументом run регистрируется зависимость во время выполнения в дополнение к зависимости при сборке.
С аргументом testing, добавляется цель тестирования, использующая CTest. При запуске тестов порт будет переконфигурирован для тестирования и пересобран.
Для получения дополнительной информации см. Использование cmake.
17.18. compiler
Возможные аргументы: (нет), env (по умолчанию, подразумевается), C++17-lang, C++14-lang, C++11-lang, gcc-C++11-lib, C++11-lib, C++0x, c11, nestedfct, features
Определяет, какой компилятор использовать, исходя из заданных предпочтений. Используйте C++17-lang, если порту требуется компилятор с поддержкой C++17, C++14-lang, если порту требуется компилятор с поддержкой C++14, C++11-lang, если порту требуется компилятор с поддержкой C++11, gcc-C++11-lib, если порту требуется компилятор g++ с библиотекой C++11, или C++11-lib, если порту требуется стандартная библиотека с поддержкой C++11. Если порту требуется компилятор, понимающий C++0X, C11 или вложенные функции, следует использовать соответствующие параметры.
Используйте features для запроса списка возможностей, поддерживаемых компилятором по умолчанию. После включения bsd.port.pre.mk порт может проверить результаты с помощью следующих переменных:
COMPILER_TYPE: компилятор по умолчанию в системе, gcc или clangALT_COMPILER_TYPE: альтернативный компилятор в системе, gcc или clang. Устанавливается только при наличии двух компиляторов в базовой системе.COMPILER_VERSION: первые две цифры версии компилятора по умолчанию.ALT_COMPILER_VERSION: первые две цифры версии альтернативного компилятора, если он присутствует.CHOSEN_COMPILER_TYPE: выбранный компилятор, gcc или clangCOMPILER_FEATURES: возможности, поддерживаемые компилятором по умолчанию. В настоящее время указана библиотека C++.
17.19. cpe
Возможные аргументы: (отсутствуют)
Включает информацию о Common Platform Enumeration (CPE) в манифест пакета в виде строки формата CPE 2.3. Подробности см. в спецификации CPE. Чтобы добавить информацию CPE в порт, выполните следующие шаги:
Поищите официальную запись CPE для программного продукта, используя либо поисковую систему CPE от NVD, либо официальный словарь CPE (предупреждение: очень большой XML-файл). Никогда не создавайте данные CPE самостоятельно.
Добавьте
cpeвUSESи сравните результат выполненияmake -V CPE_STRс записью в словаре CPE. Продолжайте шаг за шагом, пока результатmake -V CPE_STRне станет корректным.Если название продукта (второе поле, по умолчанию
PORTNAME) указано неверно, определитеCPE_PRODUCT.Если название производителя (первое поле, по умолчанию
CPE_PRODUCT) указано неверно, определитеCPE_VENDOR.Если поле версии (третье поле, по умолчанию
PORTVERSION) указано неверно, определитеCPE_VERSION.Если поле обновления (четвертое поле, по умолчанию пустое) указано неверно, определите
CPE_UPDATE.Если это всё ещё неверно, проверьте файл Mk/Uses/cpe.mk для получения дополнительной информации или свяжитесь с Команды информационной безопасности портов <ports-secteam@FreeBSD.org>.
Извлекайте как можно больше информации для имени CPE из существующих переменных, таких как
PORTNAMEиPORTVERSION. Используйте модификаторы переменных для извлечения соответствующих частей из этих переменных, вместо того чтобы жестко прописывать имя.Всегда выполняйте
make -V CPE_STRи проверяйте вывод перед коммитом любых изменений, затрагивающихPORTNAME,PORTVERSIONили любые другие переменные, используемые для формированияCPE_STR.
17.20. cran
Возможные аргументы: (нет), auto-plist, compiles
Использует Comprehensive R Archive Network. Укажите auto-plist для автоматического создания pkg-plist. Укажите compiles, если порт содержит код, который необходимо компилировать.
17.21. desktop-file-utils
Возможные аргументы: (отсутствуют)
Использует update-desktop-database из пакета devel/desktop-file-utils. Дополнительный шаг post-install будет выполнен без вмешательства в уже существующие шаги post-install в Makefile порта. Строка с @desktop-file-utils будет добавлена в plist. Используйте этот макрос только если порт предоставляет файл .desktop, содержащий запись MimeType.
17.22. desthack
Возможные аргументы: (отсутствуют)
Изменяет поведение GNU configure для корректной поддержки DESTDIR в случае, если исходное программное обеспечение этого не делает.
17.23. display
Возможные аргументы: (отсутствуют), ARGS
Настраивает виртуальное окружение для отображения. Если переменная окружения DISPLAY не установлена, то Xvfb добавляется как зависимость при сборке, а CONFIGURE_ENV расширяется с указанием номера порта текущего запущенного экземпляра Xvfb. Параметр ARGS по умолчанию имеет значение install и управляет фазой, вокруг которой запускается и останавливается виртуальный дисплей.
17.24. dos2unix
Возможные аргументы: (отсутствуют)
Порт содержит файлы с символами конца строки в формате DOS, которые необходимо преобразовать. Несколько переменных могут быть установлены для контроля, какие файлы будут преобразованы. По умолчанию преобразуются все файлы, включая бинарные. См. Простые автоматические замены для примеров.
DOS2UNIX_REGEX: сопоставлять имена файлов на основе регулярного выражения.DOS2UNIX_FILES: соответствуют точным именам файлов.DOS2UNIX_GLOB: сопоставлять имена файлов на основе шаблона файлов оболочки.DOS2UNIX_WRKSRC: каталог, с которого начинать преобразования. По умолчанию${WRKSRC}.
17.25. drupal
Возможные аргументы: 7, module, theme
Автоматизирует установку порта, который является темой или модулем Drupal. Использовать с версией Drupal, которую ожидает порт. Например, USES=drupal:7,module означает, что этот порт создает модуль Drupal 7. Тему Drupal 7 можно указать с помощью USES=drupal:7,theme.
17.26. ebur128
Возможные аргументы: (нет), build, lib, run, test
Добавляет зависимость от пакета audio/ebur128. Позволяет прозрачно зависеть от вариантов rust или legacy, используя DEFAULT_VERSIONS в make.conf. Например, для использования устаревшей версии укажите DEFAULT_VERSIONS+=ebur128=legacy
Без аргументов поведение аналогично случаю с предоставлением аргумента lib. Остальные аргументы указывают соответствующую категорию зависимости.
17.27. eigen
Возможные аргументы: 2, 3, build (по умолчанию), run
Добавить зависимость от пакета math/eigen.
17.28. electronfix
Возможные аргументы: 31, 32, 33
Предоставить поддержку для простого портирования Electron-приложений, распространяемых в бинарной форме. Добавляет зависимость на этапах сборки и выполнения от devel/electron31, devel/electron32 или devel/electron33 в зависимости от используемого аргумента.
Фреймворк предоставляет следующие переменные, которые могут быть установлены портами:
ELECTRONFIX_SYMLINK_FILESСписок файлов для создания символьных ссылок из дистрибутива Electron.
ELECTRONFIX_MAIN_EXECUTABLEИмя файла основного исполняемого файла, который будет заменен оригинальным бинарным файлом Electron.
17.29. elfctl
Возможные аргументы: (отсутствуют), build (по умолчанию), stage
Установите управляющие заметки функций ELF-бинарных файлов, задав ELF_FEATURES.
Когда не указан аргумент или указан аргумент build, операции выполняются над бинарными файлами в BUILD_WRKSRC, а файлы, перечисленные в ELF_FEATURES, указываются относительно BUILD_WRKSRC. Когда указан аргумент stage, операции выполняются над бинарными файлами в STAGEDIR, а файлы, перечисленные в ELF_FEATURES, указываются относительно STAGEDIR.
ELF_FEATURES= featurelist:path/to/file1 \ featurelist:path/to/file2
Формат featurelist описан в elfctl(1).
17.30. elixir
Возможные аргументы: (отсутствуют)
Предоставить поддержку для портов, использующих lang/elixir. Добавляет зависимость во время сборки и выполнения на lang/elixir.
Предоставляемые фреймворком переменные:
ELIXIR_APP_NAMEНазвание приложения Elixir, как оно установлено в каталоге lib Elixir
ELIXIR_LIB_ROOTПуть к библиотекам Elixir по умолчанию
ELIXIR_APP_ROOTКорневой каталог для этого приложения Elixir
ELIXIR_HIDDENПриложения, которые необходимо скрыть из пути выполнения кода; обычно
${PORTNAME}ELIXIR_LOCALEЛокаль UTF-8, которая будет использоваться Elixir во время сборки (подойдет любая локаль UTF-8)
MIX_CMDКоманда
mixMIX_COMPILEКоманда
mix, используемая для компиляции приложения на ElixirMIX_REWRITEАвтоматически заменять зависимости Mix на пути к коду
MIX_BUILD_DEPSСписок
BUILD_DEPENDSв формате категория/имя_порта (часто упоминаемый как "deps" в Erlang и Elixir)MIX_RUN_DEPSСписок
RUN_DEPENDSв формате категория/имя портаMIX_DOC_DIRSДополнительные каталоги документации для установки в
DOCSDIRMIX_DOC_FILESДополнительные файлы документации для установки в
DOCSDIR(обычно README.md)MIX_ENVОкружение для сборки Mix (в том же формате, что и
MAKE_ENV)MIX_ENV_NAMEИмя среды сборки Mix, обычно "prod"
MIX_BUILD_NAMEИмя выходного файла сборки в _build/, обычно
${MIX_ENV_NAME}MIX_TARGETИмя цели Mix, обычно "compile"
MIX_EXTRA_APPSСписок подприложений для сборки, если имеются
MIX_EXTRA_DIRSСписок дополнительных каталогов для установки в
ELIXIR_APP_ROOTMIX_EXTRA_FILESСписок дополнительных файлов для установки в
ELIXIR_APP_ROOT
17.31. emacs
Возможные аргументы: (нет) (по умолчанию), build, run, noflavors
Предоставляет поддержку для портов, требующих Emacs. Аргумент build создает зависимость сборки от Emacs. Аргумент run создает зависимость выполнения от Emacs. Если оба аргумента build и run отсутствуют, создаются зависимости сборки и выполнения от Emacs. Аргумент noflavors запрещает флейворы и подразумевается, если нет зависимости выполнения от Emacs.
Стандартный вариант Emacs для портов с USES=emacs можно определить в make.conf. Например, для варианта nox используйте DEFAULT_VERSIONS+= emacs=nox. Допустимые флейворы: full, canna, nox, wayland, devel_full, devel_nox.
Переменные, которые могут быть установлены портами:
EMACS_FLAVORS_EXCLUDEНЕ собирать эти флейворы Emacs. Если
EMACS_FLAVORS_EXCLUDEне определена и:существует зависимость во время выполнения от Emacs
аргумент noflavors не указан
то предполагаются все допустимые флейворы Emacs.
EMACS_NO_DEPENDSНЕ добавлять зависимости сборки или выполнения от Emacs. Это предотвратит создание вариантов, и никакие файлы байт-кода не будут сгенерированы как часть пакета.
Переменные, которые могут быть прочитаны портами:
EMACS_CMDКоманда Emacs с полным путём (например, /usr/local/bin/emacs-30.1)
EMACS_FLAVORИспользуется для зависимостей (например,
BUILD_DEPENDS= dash.el${EMACS_PKGNAMESUFFIX}>0:devel/dash@${EMACS_FLAVOR})EMACS_LIBDIRКаталог библиотек Emacs без
${PREFIX}(например, share/emacs)EMACS_LIBDIR_WITH_VERКаталог библиотеки без
${PREFIX}, включая версию (например, share/emacs/30.1)EMACS_MAJOR_VERОсновная версия Emacs (например, 30)
EMACS_PKGNAMESUFFIXPKGNAMESUFFIXдля различия вариантов EmacsEMACS_SITE_LISPDIRКаталог site-lisp Emacs без
${PREFIX}(например, share/emacs/site-lisp)EMACS_VERВерсия Emacs (например, 30.1)
EMACS_VERSION_SITE_LISPDIRКаталог site-lisp Emacs, включая номер версии (например, share/emacs/30.1/site-lisp)
17.32. erlang
Возможные аргументы: (нет), enc, rebar, rebar3
Добавляет зависимость на время сборки и выполнения от lang/erlang. В зависимости от аргумента, добавляет дополнительные зависимости для сборки. enc добавляет зависимость от devel/erlang-native-compiler, rebar добавляет зависимость от devel/rebar, а rebar3 добавляет зависимость от devel/rebar3.
В дополнение, следующие переменные доступны для порта:
ERL_APP_NAME: Имя приложения Erlang, как оно установлено в каталоге lib Erlang (без указания версии)ERL_APP_ROOT: Корневой каталог для этого приложения ErlangREBAR_CMD: Путь к команде "rebar"REBAR3_CMD: Путь к команде "rebar3"REBAR_PROFILE: Профиль RebarREBAR_TARGETS: Список целей Rebar (обычно compile, возможно escriptize)ERL_BUILD_NAME: Имя сборки для rebar3ERL_BUILD_DEPS: Список BUILD_DEPENDS в формате категория/имя_портаERL_RUN_DEPS: Список RUN_DEPENDS в формате категория/имя_портаERL_DOCS: Список файлов и каталогов документации
17.33. fakeroot
Возможные аргументы: (отсутствуют)
Изменяет некоторые стандартные поведения систем сборки для разрешения установки от имени пользователя. Дополнительную информацию о fakeroot можно найти на https://wiki.debian.org/FakeRoot.
17.34. fam
Возможные аргументы: (нет), fam, gamin
Использует монитор изменений файлов (FAM — File Alteration Monitor) как зависимость от библиотеки, либо devel/fam, либо devel/gamin. Конечные пользователи могут задать WITH_FAM_SYSTEM, чтобы указать свои предпочтения.
17.35. firebird
Возможные аргументы: (отсутствуют), 25
Добавить зависимость от клиентской библиотеке базы данных Firebird.
17.36. fonts
Возможные аргументы: (отсутствуют), fc, fontsdir (по умолчанию), none
Добавляет зависимость во время выполнения на инструменты, необходимые для регистрации шрифтов. В зависимости от аргумента добавляет строку @fc ${FONTSDIR}, строку @fontsdir ${FONTSDIR} или не добавляет строку, если аргумент none, в plist. FONTSDIR по умолчанию имеет значение ${PREFIX}/share/fonts/${FONTNAME}, а FONTNAME — ${PORTNAME}. Добавляет FONTSDIR в PLIST_SUB и SUB_LIST
17.38. fpc
Возможные аргументы: (нет), run
Обеспечить поддержку портов на основе Free Pascal. Установит компилятор Free Pascal и модули.
Добавляет зависимость сборки от lang/fpc.
Если указан аргумент run, также добавляется зависимость запуска.
17.39. fuse
Возможные аргументы: 2 (по умолчанию), 3
Порт будет зависеть от библиотеки FUSE и обрабатывать зависимость от модуля ядра в зависимости от версии FreeBSD.
17.40. gem
Возможные аргументы: (отсутствуют), noautoplist
Обработка сборки с RubyGems. Если используется noautoplist, список упаковки не генерируется автоматически.
Это подразумевает USES=ruby.
17.41. gettext
Возможные аргументы: (отсутствуют)
Устарело. Будет включать как gettext-runtime, так и gettext-tools.
17.42. gettext-runtime
Возможные аргументы: (отсутствуют), lib (по умолчанию), build, run
Использует пакет devel/gettext-runtime. По умолчанию, без аргументов или с аргументом lib, подразумевает зависимость от библиотеки libintl.so. Аргументы build и run подразумевают, соответственно, зависимость во время сборки и во время выполнения от gettext.
17.43. gettext-tools
Возможные аргументы: (отсутствуют), build (по умолчанию), run
Использует пакет devel/gettext-tools. По умолчанию, без аргумента или с аргументом build, регистрируется зависимость во время сборки от msgfmt. С аргументом run регистрируется зависимость во время выполнения.
17.44. ghostscript
Возможные аргументы: X, build, run, nox11
Можно указать конкретную версию X. Доступные версии: 7, 8, 9 и agpl (по умолчанию). nox11 указывает, что требуется версия порта -nox11. build и run добавляют зависимости на Ghostscript во время сборки и выполнения соответственно. По умолчанию добавляются зависимости как на сборку, так и на выполнение.
17.45. gl
Возможные аргументы: (отсутствуют)
Предоставляет простой способ зависеть от компонентов GL. Компоненты должны быть перечислены в USE_GL. Доступные компоненты:
eglдобавить зависимость от библиотеки libEGL.so из пакета graphics/libglvnd
gbmДобавить зависимость от библиотеки libgbm.so из пакета graphics/mesa-libs
glДобавить зависимость от библиотеки libGL.so из пакета graphics/libglvnd
glesv2Добавить зависимость от библиотеки libGLESv2.so из пакета graphics/libglvnd
glewДобавить зависимость от библиотеки libGLEW.so из пакета graphics/glew
gluДобавить зависимость от библиотеки libGLU.so из graphics/libGLU
glutДобавить зависимость от библиотеки libglut.so из graphics/freeglut
openglДобавить зависимость от библиотеки libOpenGL.so из graphics/libglvnd
17.46. gmake
Возможные аргументы: (отсутствуют)
Использует пакет devel/gmake как зависимость во время сборки и настраивает окружение для использования gmake в качестве стандартного make при сборке.
17.47. gnome
Возможные аргументы: (отсутствуют)
Предоставляет простой способ зависеть от компонентов GNOME. Компоненты должны быть перечислены в USE_GNOME. Доступные компоненты:
atkatkmmcairocairommdconfesoundevolutiondataserver3gconf2gconfmm26gdkpixbufgdkpixbuf2glib12glib20glibmmgnomecontrolcenter3gnomedesktop3gnomedesktop4gnomedocutilsgnomemenus3gnomemimedatagnomeprefixgnomesharp20gnomevfs2gsoundgtk-update-icon-cachegtk12gtk20gtk30gtkhtml3gtkhtml4gtkmm20gtkmm24gtkmm30gtksharp20gtksourceviewgtksourceview2gtksourceview3gtksourceviewmm3gvfsintlhackintltoolintrospectionlibartlgpl2libbonobolibbonobouilibgda5libgda5-uilibgdamm5libglade2libgnomelibgnomecanvaslibgnomekbdlibgnomeprintlibgnomeprintuilibgnomeuilibgsflibgtkhtmllibgtksourceviewmmlibidllibrsvg2libsigc++12libsigc++20libwncklibwnck3libxml++26libxml2libxsltmetacitynautilus3orbit2pangopangommpangox-compatpy3gobject3pygnome2pygobjectpygobject3pygtk2pygtksourceviewreferencehackvtevte3
Зависимость по умолчанию — на время сборки и выполнения, её можно изменить с помощью :build или :run. Например:
USES= gnome USE_GNOME= gnomemenus3:build intlhack
См. Использование GNOME для получения дополнительной информации.
17.48. go
Порты не следует создавать для библиотек Go, дополнительную информацию см. в Библиотеки Go. |
Возможные аргументы: (нет), N.NN, N.NN-devel, modules, no_targets, run
Устанавливает значения и цели по умолчанию, используемые для сборки ПО на Go. Добавляется зависимость сборки от порта компилятора Go, сопровождающие порта могут установить требуемую версию. По умолчанию сборка выполняется в режиме GOPATH. Если ПО на Go использует модули, режим с поддержкой модулей можно включить с помощью аргумента modules. no_targets настроит окружение сборки, как GO_ENV, GO_BUILDFLAGS, но пропустит создание целей извлечения (extract) и сборки (build). run также добавит зависимость выполнения от порта компилятора Go.
Процесс сборки контролируется несколькими переменными:
GO_MODULEИмя модуля приложения, указанное директивой
moduleвgo.mod. В большинстве случаев это единственная необходимая переменная для портов, использующих модули Go.GO_PKGNAMEИмя пакета Go при сборке в режиме GOPATH. Это каталог, который будет создан в
${GOPATH}/src. Если не задано явно и присутствуетGH_SUBDIRилиGL_SUBDIR, тоGO_PKGNAMEбудет выведено из них. Не требуется при сборке в режиме с поддержкой модулей.GO_TARGETПакеты для сборки. Значение по умолчанию —
${GO_PKGNAME}.GO_TARGETтакже может быть кортежем в форматеpackage:path, где path может быть либо простым именем файла, либо полным путём, начинающимся с${PREFIX}.GO_TESTTARGETПакеты для тестирования. Значение по умолчанию —
./…(текущий пакет и все подпакеты).CGO_CFLAGSДополнительные значения
CFLAGS, передаваемые компилятору C с помощьюgo.CGO_LDFLAGSДополнительные значения
LDFLAGS, передаваемые компилятору C черезgo.GO_BUILDFLAGSДополнительные аргументы сборки, передаваемые в
go build.GO_TESTFLAGSДополнительные аргументы сборки, передаваемые в
go test.
См. Сборка приложений на Go для примеров использования.
17.49. gperf
Возможные аргументы: (отсутствуют)
Добавить зависимость во время сборки на devel/gperf, если gperf отсутствует в базовой системе.
17.50. grantlee
Возможные аргументы: 5, selfbuild
Обработать зависимость от Grantlee. Указать 5 для зависимости от версии на основе Qt5, devel/grantlee5. selfbuild используется внутри devel/grantlee5 для получения номеров их версий.
17.51. groff
Возможные аргументы: build, run, both
Регистрирует зависимость от textproc/groff, если пакет отсутствует в базовой системе.
17.52. gssapi
Возможные аргументы: (отсутствуют), base (по умолчанию), heimdal, mit, flags, bootstrap
Обрабатывает зависимости, необходимые для использования GSS-API. Доступны только библиотеки, предоставляющие механизм Kerberos. По умолчанию (или при значении base) используется библиотека GSS-API из базовой системы. Также можно установить значение heimdal для использования security/heimdal или mit для использования security/krb5.
Если локальная установка Kerberos не находится в LOCALBASE, установите HEIMDAL_HOME (для heimdal) или KRB5_HOME (для krb5) на каталог установки Kerberos.
Эти переменные экспортируются для использования портами:
GSSAPIBASEDIRGSSAPICPPFLAGSGSSAPIINCDIRGSSAPILDFLAGSGSSAPILIBDIRGSSAPILIBSGSSAPI_CONFIGURE_ARGS
Опция flags может быть указана вместе с base, heimdal или mit для автоматического добавления GSSAPICPPFLAGS, GSSAPILDFLAGS и GSSAPILIBS в CFLAGS, LDFLAGS и LDADD соответственно. Например, используйте base,flags.
Опция bootstrap — это специальный префикс, предназначенный только для использования в security/krb5 и security/heimdal. Например, используйте bootstrap,mit.
OPTIONS_SINGLE= GSSAPI
OPTIONS_SINGLE_GSSAPI= GSSAPI_BASE GSSAPI_HEIMDAL GSSAPI_MIT GSSAPI_NONE
GSSAPI_BASE_USES= gssapi
GSSAPI_BASE_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_HEIMDAL_USES= gssapi:heimdal
GSSAPI_HEIMDAL_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_MIT_USES= gssapi:mit
GSSAPI_MIT_CONFIGURE_ON= --with-gssapi=${GSSAPIBASEDIR} ${GSSAPI_CONFIGURE_ARGS}
GSSAPI_NONE_CONFIGURE_ON= --without-gssapi17.53. gstreamer
Возможные аргументы: (отсутствуют)
Предоставляет простой способ зависимости от компонентов GStreamer. Компоненты должны быть перечислены в USE_GSTREAMER. Доступные компоненты:
a52decaalibamrnbamrwbdecaomassrenderbadbs2bcairocdiocdparanoiachromaprintcurldashdtlsdtsdvdvddvdreadediting-servicesfaacfaadflacflitegdkpixbufglgmegnonlingoodgsmgtk4gtkhalhlsjackjpegkatekmsladspalamelibavlibcacalibde265libmmslibvisuallv2mmmodplugmpeg2decmpeg2encmpg123mplexmusepackneonoggopencvopenexropenh264openjpegopenmptopuspangopngpulseqtresindvdrsvgrtmpshout2sidplaysmoothstreamingsndfilesndiosoundtouchsoupspandspspeexsrtptaglibtheorattmltwolameuglyv4l2vorbisvpxvulkanwavpackwebpwebrtcdspx264x265xximagesrczbar
17.54. guile
Возможные аргументы: (нет), X.Y, flavors, build, run, alias, conflicts
Добавляет зависимость от Guile. По умолчанию это зависимость от соответствующей библиотеки libguile*.so, если не переопределено опциями build и/или run. Опция alias настраивает BINARY_ALIAS соответствующим образом (см. Использование BINARY_ALIAS).
Версия по умолчанию устанавливается с помощью обычного механизма DEFAULT_VERSIONS; если версия по умолчанию не входит в список указанных версий, то используется последняя доступная версия из списка.
Приложения, использующие Guile, обычно собираются только для одной версии Guile. Однако модули расширений или библиотек должны использовать опцию flavors для сборки с несколькими флейворами.
Для получения дополнительной информации см. Использование Guile.
17.55. horde
Возможные аргументы: (отсутствуют)
Добавить зависимости времени сборки и выполнения для devel/pear-channel-horde. Другие зависимости Horde можно добавить с помощью USE_HORDE_BUILD и USE_HORDE_RUN. Дополнительную информацию см. в разделе Модули Horde.
17.56. iconv
Возможные аргументы: (нет), lib, build, patch, translit, wchar_t
Использует функции iconv, либо из порта converters/libiconv как зависимость на этапе сборки и выполнения, либо из базовой системы. По умолчанию, без аргументов или с аргументом lib, подразумевает iconv с зависимостями на этапе сборки и выполнения. build подразумевает зависимость на этапе сборки, а patch — на этапе патчинга. Если порт использует расширения WCHAR_T или //TRANSLIT для iconv, добавьте соответствующие аргументы, чтобы использовалась правильная версия iconv. Для получения дополнительной информации см. Использование iconv.
17.57. imake
Возможные аргументы: (нет), env, notall, noman
Добавить devel/imake как зависимость на этапе сборки и выполнить xmkmf -a на этапе configure. Если указан аргумент env, цель configure не устанавливается. Если флаг -a вызывает проблемы для порта, добавьте аргумент notall. Если xmkmf не генерирует цель install.man, добавьте аргумент noman.
17.58. java
Возможные аргументы: (нет), ant, build, extract, run
По умолчанию используется USES=java:build,run, если аргументы не предоставлены и NO_BUILD не определен. Если NO_BUILD определен, используется USES=java:run. Если указан аргумент ant, порт использует Apache Ant. Если указан аргумент build, порт JDK добавляется в зависимости сборки. Если указан аргумент extract, порт JDK добавляется в зависимости извлечения. Если указан аргумент run, порт JDK добавляется в зависимости выполнения.
Фреймворк предоставляет следующие переменные, которые могут быть установлены портом:
JAVA_VERSIONСписок подходящих версий Java для порта, разделенных пробелами. Необязательный символ
+позволяет указать диапазон версий. (допустимые значения8[+],11[+],17[+],18[+],19[+],20[+],21[+],22[+],22[+])JAVA_OSСписок поддерживаемых операционных систем для порта JDK, разделённых пробелами. (допустимые значения:
native,linux)JAVA_VENDORСписок подходящих поставщиков портов JDK для порта, разделенных пробелами. (допустимые значения:
openjdk,oracle)
Фреймворк предоставляет следующие переменные для чтения портом:
JAVA_PORTИмя порта JDK. (например, 'java/openjdk8')
JAVA_PORT_VERSIONВерсия порта JDK. (например, '8')
JAVA_PORT_OSИспользуемая операционная система для порта JDK. (например, 'linux')
JAVA_PORT_VENDORПоставщик порта JDK. (например, 'openjdk')
JAVA_PORT_OS_DESCRIPTIONОписание операционной системы, используемой портом JDK. (например, 'Linux')
JAVA_PORT_VENDOR_DESCRIPTIONОписание поставщика порта JDK. (например, 'OpenJDK BSD Porting Team')
JAVA_HOMEПуть к каталогу установки JDK. (например, /usr/local/openjdk8)
JAVACПуть к используемому компилятору Java. (например, /usr/local/openjdk8/bin/javac или /usr/local/bin/javac)
JARПуть к используемому инструменту JAR. (например, /usr/local/openjdk8/bin/jar или /usr/local/bin/fastjar)
APPLETVIEWERПуть к утилите appletviewer. (например, /usr/local/linux-jdk1.8.0/bin/appletviewer)
JAVAПуть к исполняемому файлу
java. Используется для запуска программ на Java. (например, /usr/local/openjdk8/bin/java)JAVADOCПуть к программе
javadoc.JAVAHПуть к программе
javah.JAVAPПуть к программе
javap.JAVA_KEYTOOLПуть к утилите
keytool.JAVA_N2AПуть к инструменту
native2ascii.JAVA_POLICYTOOLПуть к программе
policytool.JAVA_SERIALVERПуть к утилите
serialver.RMICПуть к генератору RMI-заглушек/скелетов,
rmic.RMIREGISTRYПуть к программе реестра RMI,
rmiregistry.RMIDПуть к программе демона RMI.
JAVA_CLASSESПуть к архиву, содержащему файлы классов JDK. В большинстве JDK это ${JAVA_HOME}/jre/lib/rt.jar.
JAVASHAREDIRБазовый каталог для всех общих ресурсов Java.
JAVAJARDIRКаталог, в котором порт должен устанавливать JAR-файлы.
JAVALIBDIRКаталог, в котором находятся JAR-файлы, установленные другими портами.
17.59. jpeg
Возможные аргументы: lib (по умолчанию, подразумевается), build, run
Помощь в обработке зависимостей от jpeg.
Если указан аргумент lib или аргументы не предоставлены, то в порт добавляется зависимость от библиотеки.
Если указан аргумент build, то в порт добавляется зависимость сборки.
Если указан аргумент run, то к порту добавляется зависимость времени выполнения.
Если указан аргумент both, то к порту добавляется зависимость для сборки и зависимость для выполнения.
Фреймворк предоставляет следующую переменную, которая может быть установлена портами:
JPEG_PORTУказывает реализацию JPEG для использования. Возможные значения:
graphics/jpeg-turbo (по умолчанию)
17.60. kde
Возможные аргументы: 5
Добавить зависимость от компонентов KDE. Подробнее см. в Использование KDE.
17.61. kmod
Возможные аргументы: (отсутствуют), debug
Заполняет шаблон для портов модулей ядра, в настоящее время:
Добавьте
kldвCATEGORIES.Установите
SSP_UNSAFE.Установите
IGNORE, если исходные коды ядра не найдены вSRC_BASE.Определить
KMODDIRпо умолчанию как /boot/modules, добавить его вPLIST_SUBиMAKE_ENV, а также создать его при установке. ЕслиKMODDIRустановлен в /boot/kernel, он будет перезаписан в /boot/modules. Это предотвращает повреждение пакетов при обновлении ядра из-за переименования /boot/kernel в /boot/kernel.old в процессе.Обрабатывать перекрестные ссылки на модули ядра при установке и удалении, используя
@kld.Если указан аргумент
debug, порт может установить отладочную версию модуля в KERN_DEBUGDIR/KMODDIR. По умолчаниюKERN_DEBUGDIRкопируется изDEBUGDIRи устанавливается в /usr/lib/debug. Фреймворк позаботится о создании и удалении необходимых каталогов.
17.62. kodi
Возможные аргументы: (отсутствуют), noautoplist
Обеспечить поддержку дополнений для multimedia/kodi. Если указан аргумент noautoplist, автоматическое создание plist не выполняется.
17.63. lazarus
Возможные аргументы: (отсутствуют), gtk2 (по умолчанию), qt5, qt6, flavors
Обеспечить поддержку портов на основе editors/lazarus.
Если аргументы не предоставлены или указан gtk2, приложение lazarus-app будет собрано с интерфейсом gtk2, и порт editors/lazarus будет собран с интерфейсом gtk2.
Если указан аргумент qt5, приложение lazarus-app собирается с интерфейсом qt5.
Если указан аргумент qt6, приложение lazarus-app собирается с интерфейсом qt6.
Если указан аргумент flavors, приложение lazarus-app собирается с поддержкой функций флейворов.
Если порт не требует автоматической компиляции файлов проекта lazarus, можно определить следующую переменную:
NO_LAZBUILD= yes
Доступны следующие переменные для портов:
LAZARUS_PROJECT_FILESСписок lpi-файлов. Он не должен быть пустым. По умолчанию: пусто
LAZARUS_DIRПуть к каталогу установки lazarus. По умолчанию: ${LOCALBASE}/share/lazarus-${LAZARUS_VER}
LAZBUILD_ARGSДополнительные аргументы lazbuild. В большинстве случаев это может быть
-d. Подробнее см. lazbuild(1). По умолчанию: пустоLAZARUS_NO_FLAVORSНе собирать эти флейворы lazarus. Если
LAZARUS_NO_FLAVORSне определена, то предполагаются все допустимые флейворы lazarus.WANT_LAZARUS_DEVELЕсли установлено значение
yes, то используйте lazarus/devel как зависимость сборки.
17.64. ldap
Возможные аргументы: (нет), <версия>, клиент, сервер
Регистрирует зависимость от пакета net/openldap. Использует конкретную <версию> (без точечной нотации), если она указана. В противном случае пытается найти установленную версию. При необходимости возвращается к версии по умолчанию, указанной в bsd.default-versions.mk. client указывает на зависимость во время выполнения от клиентской библиотеки. Это также значение по умолчанию. server указывает на зависимость во время выполнения от сервера.
Следующие переменные могут быть доступны для порта:
IGNORE_WITH_OPENLDAPЭта переменная может быть определена, если порты не поддерживают одну или несколько версий OpenLDAP.
WITH_OPENLDAP_VERПользовательская переменная для установки версии OpenLDAP.
OPENLDAP_VERОбнаруженная версия OpenLDAP.
17.66. libarchive
Возможные аргументы: (отсутствуют)
Регистрирует зависимость от archivers/libarchive. Любые порты, зависящие от libarchive, должны включать USES=libarchive.
17.67. libedit
Возможные аргументы: (отсутствуют)
Регистрирует зависимость от devel/libedit. Все порты, зависящие от libedit, должны включать USES=libedit.
17.68. libtool
Возможные аргументы: (нет), keepla, build
Исправляет скрипты libtool. Это должно быть добавлено во все порты, использующие libtool. Аргумент keepla может быть использован для сохранения файлов .la. Некоторые порты не поставляются с собственной копией libtool и требуют зависимость во время сборки от devel/libtool, используйте аргумент :build для добавления такой зависимости.
17.69. linux
Возможные аргументы: c6, c7
Порт фреймворка совместимости с Linux. Укажите c6 для зависимостей от пакетов CentOS 6. Укажите c7 для зависимостей от пакетов CentOS 7. Доступные пакеты:
allegroalsa-plugins-ossalsa-plugins-pulseaudioalsalibatkavahi-libsbasecairocups-libscurlcyrus-sasl2dbusglibdbuslibsdevtoolsdriexpatflacfontconfiggdkpixbuf2gnutlsgraphite2gtk2harfbuzzjasperjbigkitjpeglibasyncnslibaudiofilelibelflibgcryptlibgfortranlibgpg-errorlibmnglibogglibpciaccesslibsndfilelibsouplibssh2libtasn1libthailibtheoralibv4llibvorbislibxml2mikmodnaslibsncurses-basensprnssopenalopenal-softopenldapopenmotifopensslpangopixmanpngpulseaudio-libsqtqt-x11qtwebkitscimlibssdl12sdlimagesdlmixersqlite3tcl85tcp_wrappers-libstifftk85uclxorglibs
17.70. llvm
Возможные аргументы: (нет), XY, min=XY, max=XY, build, run, lib
Добавляет зависимость от LLVM. По умолчанию это зависимость для сборки, если не переопределено опциями run или lib. Версия по умолчанию задаётся в LLVM_DEFAULT. Также можно указать конкретную версию. Минимальную и максимальную версии можно указать с помощью параметров min и max соответственно. Фреймворк портов экспортирует следующие переменные в порт:
LLVM_VERSIONВерсия, выбранная из аргументов к llvm.mk
LLVM_PORTВыбранный порт llvm
LLVM_CONFIGllvm-configвыбранного портаLLVM_LIBLLVMlibLLVM.soвыбранного портаLLVM_PREFIXПрефикс инсталляции выбранного порта
17.71. localbase
Возможные аргументы: (отсутствуют), ldflags
Гарантирует использование библиотек из зависимостей в LOCALBASE вместо библиотек из базовой системы. Указывает ldflags для добавления -L${LOCALBASE}/lib в LDFLAGS вместо LIBS. Порты, зависящие от библиотек, которые также присутствуют в базовой системе, должны использовать эту опцию. Она также используется внутри несколькими другими USES.
17.72. lua
Возможные аргументы: (нет), XY, XY+, -XY, XY-ZA, module, flavors, build, run, env
Добавляет зависимость от Lua. По умолчанию это зависимость от библиотеки, если не переопределено опциями build и/или run. Опция env предотвращает добавление любой зависимости, при этом все обычные переменные остаются определенными.
Версия по умолчанию устанавливается с помощью обычного механизма DEFAULT_VERSIONS, если только версия или диапазон версий не указаны в качестве аргумента, например, 51 или 51-54.
Приложения, использующие Lua, обычно собираются только для одной версии Lua. Однако модули библиотек, предназначенные для загрузки кодом Lua, должны использовать опцию module для сборки с несколькими вариантами.
Для получения дополнительной информации см. Использование Lua.
17.73. luajit
Возможные аргументы: (нет), X
Добавляет зависимость от среды выполнения luajit. Можно указать конкретную версию X. Доступные версии: luajit, luajit-devel, luajit-openresty
После включения bsd.port.options.mk или bsd.port.pre.mk порт может проверять эти переменные:
LUAJIT_VERВыбранная версия luajit
LUAJIT_INCDIRПуть к заголовочным файлам luajit
LUAJIT_LUAVERКакой версии спецификации luajit выбрана (2.0 для luajit, иначе 2.1)
Для получения дополнительной информации см. Использование Lua.
17.74. lxqt
Возможные аргументы: (отсутствуют)
Обработка зависимостей для рабочей среды LXQt. Используйте USE_LXQT для выбора необходимых компонентов для порта. Дополнительную информацию см. в разделе Использование LXQt.
17.75. magick
Возможные аргументы: (нет), X, build, nox11, run, test
Добавить зависимость библиотеки от ImageMagick. Можно указать конкретную версию X. Доступные версии: 6 и 7 (по умолчанию). nox11 означает, что требуется версия порта -nox11. build, run и test добавляют зависимости на сборку, выполнение и тестирование для ImageMagick.
17.76. makeinfo
Возможные аргументы: (отсутствуют)
Добавить зависимость во время сборки на makeinfo, если его нет в базовой системе.
17.77. makeself
Возможные аргументы: (отсутствуют)
Указывает, что файлы дистрибутива являются архивами makeself и устанавливает соответствующие зависимости.
17.78. mate
Возможные аргументы: (отсутствуют)
Предоставляет простой способ зависимостей от компонентов MATE. Компоненты должны быть перечислены в USE_MATE. Доступные компоненты:
autogencajacommoncontrolcenterdesktopdialogsdocutilsiconthemeintlhackintltoollibmatekbdlibmateweathermarcomenusnotificationdaemonpanelplumapolkitsessionsettingsdaemon
Зависимость по умолчанию — на время сборки и выполнения, её можно изменить с помощью :build или :run. Например:
USES= mate USE_MATE= menus:build intlhack
17.79. meson
Возможные аргументы: (нет), `muon `
Предоставить поддержку для проектов на основе Meson. Дополнительную информацию смотрите в Использование meson.
Если указан аргумент muon, в порт добавляется зависимость от devel/muon.
17.80. metaport
Возможные аргументы: (отсутствуют)
Устанавливает следующие переменные для упрощения создания метапорта: MASTER_SITES, DISTFILES, EXTRACT_ONLY, NO_BUILD, NO_INSTALL, NO_MTREE, NO_ARCH.
17.81. minizip
Возможные аргументы: (отсутствуют), ng
Добавляет зависимость библиотеки от archivers/minizip или archivers/minizip-ng соответственно.
17.82. mlt
Возможные аргументы: 7, nodepend
Обеспечить поддержку портов, зависящих от multimedia/mlt7.
Если указан аргумент nodepend, зависимости от библиотек не создаются. Этот аргумент имеет смысл только для портов multimedia/mlt7*.
17.83. mysql
Возможные аргументы: (отсутствуют), версия, client (по умолчанию), server, embedded
Предоставить поддержку MySQL. Если версия не указана, попытаться определить установленную версию. В случае неудачи использовать версию по умолчанию, MySQL-5.6. Возможные версии: 55, 55m, 55p, 56, 56p, 56w, 57, 57p, 80, 100m, 101m и 102m. Суффиксы m и p обозначают флейворы MariaDB и Percona для MySQL. Параметры server и embedded добавляют зависимости во время сборки и выполнения на сервер MySQL. При использовании server или embedded добавьте client, чтобы также включить зависимость от libmysqlclient.so. Порт может установить IGNORE_WITH_MYSQL, если некоторые версии не поддерживаются.
Фреймворк устанавливает MYSQL_VER в обнаруженную версию MySQL.
17.84. mono
Возможные аргументы: (отсутствуют), nuget
Добавляет зависимость от фреймворка Mono (в настоящее время только C#), устанавливая соответствующие зависимости.
Укажите nuget, если порт использует пакеты nuget. NUGET_DEPENDS должен содержать имена и версии пакетов nuget в формате имя=версия. Можно добавить необязательное расположение пакета (origin), используя имя=версия:_ расположение _.
Вспомогательная цель buildnuget выведет содержимое NUGET_DEPENDS на основе предоставленного файла packages.config.
17.85. motif
Возможные аргументы: (отсутствуют)
Использует x11-toolkits/open-motif как зависимость библиотеки. Конечные пользователи могут установить WANT_LESSTIF в make.conf, чтобы использовать x11-toolkits/lesstif как зависимость вместо x11-toolkits/open-motif. Аналогично, установка WANT_OPEN_MOTIF_DEVEL в make.conf добавит зависимость от x11-toolkits/open-motif-devel
17.86. mpi
Возможные аргументы: mpich (по умолчанию), openmpi
Обеспечить поддержку портов, зависящих от MPI.
Если указан аргумент mpich, в порт добавляется зависимость от net/mpich.
Если указан аргумент openmpi, в порт добавляется зависимость от net/openmpi.
Фреймворк портов предоставляет следующие переменные, которые могут быть прочитаны портом:
MPI_LIBSБиблиотеки, необходимые для связывания программ с использованием
MPI.MPI_CFLAGSФлаги компилятора, необходимые для сборки программ с использованием
MPI.MPICCРасположение исполняемого файла
mpicc. По умолчанию: ${MPI_HOME}/bin/mpicc.MPICXXРасположение исполняемого файла
mpicxx. По умолчанию: ${MPI_HOME}/bin/mpicxx.MPIF90Расположение исполняемого файла
mpif90. По умолчанию: ${MPI_HOME}/bin/mpif90.MPIFCТо же, что и выше.
MPI_HOMEКаталог установки
MPI. По умолчанию используется${LOCALBASE}дляMPICH.MPIEXECРасположение исполняемого файла
mpiexec. По умолчанию: ${MPI_HOME}/bin/mpiexec.MPIRUNРасположение исполняемого файла
mpirun. По умолчанию: ${MPI_HOME}/bin/mpirun.
17.87. ncurses
Возможные аргументы: (нет), base, port
Использует ncurses и устанавливает некоторые полезные переменные.
17.88. nextcloud
Возможные аргументы: (отсутствуют)
Добавляет поддержку приложений Nextcloud, добавляя зависимость во время выполнения на www/nextcloud.
17.89. ninja
Возможные аргументы: (нет), build, make (по умолчанию), run
Если указаны аргументы build или run, это соответственно добавляет зависимость во время сборки или выполнения от пакета devel/ninja. Если указан make или аргументы не предоставлены, используется ninja для сборки порта вместо make. make подразумевает build. Если переменная NINJA_DEFAULT установлена в samurai, тогда зависимости устанавливаются для пакета devel/samurai вместо этого.
17.90. nodejs
Возможные аргументы: (нет), build, run, current, lts, 10, 14, 16,
17.
Использует nodejs. Добавляет зависимость от пакета www/node*. Если указана поддерживаемая версия, то также необходимо указать run и/или build.
17.91. objc
Возможные аргументы: (отсутствуют)
Добавить зависимости Objective C (компилятор, библиотека времени выполнения), если базовая система их не поддерживает.
17.92. ocaml
Возможные аргументы: (нет), build, camlp4, dune, findlib, findplist, ldconfig, run, tk, tkbuild, tkrun, wash
Обеспечить поддержку OCaml.
Если аргументы не указаны, по умолчанию используются build, run.
Если указан аргумент build, то lang/ocamlc добавляется в BUILD_DEPENDS, EXTRACT и PATCH_DEPENDS.
Если указан аргумент camlp4, то для сборки используется devel/ocamlp4.
Если указан аргумент dune, то devel/ocaml-dune используется как система сборки.
Если указан аргумент findlib, то для установки пакетов будет использоваться ocamlfind. Каталоги пакетов будут автоматически удалены.
Если указан аргумент findplist, то содержимое целевых каталогов findlib будет добавлено автоматически.
Если указан аргумент ldconfig, то файл ld.conf OCaml будет обработан автоматически. При использовании dune Dune может устанавливать stublibs в каталог(-и) пакетов site-lib или в отдельный каталог ниже каталога DUNE_LIBDIR site-lib. Установите, если порт устанавливает общие библиотеки в ocaml
Если указан аргумент run, добавить ocamlc в RUN_DEPENDS.
Если указан аргумент tk, то в порт добавляется зависимость на сборку и выполнение от пакета x11-toolkits/ocaml-labltk. Подразумевает tkbuild и tkrun.
Если указан аргумент tkbuild, то пакет x11-toolkits/ocaml-labltk добавляется в BUILD_DEPENDS, EXTRACT и PATCH_DEPENDS.
Если указан аргумент tkrun, то x11-toolkits/ocaml-labltk добавляется в RUN_DEPENDS.
Если указан аргумент wash, общие каталоги Ocaml будут очищены при удалении. Полезно при установке в нестандартный PREFIX.
Портом могут быть установлены следующие переменные:
OCAML_PKGDIRSКаталоги в site-lib для обработки, если указан аргумент
findlib. По умолчанию:${PORTNAME}OCAML_LDLIBSКаталоги в
PREFIX, которые будут автоматически добавлены/удалены из ld.conf. По умолчанию:${OCAML_SITELIBDIR}/${PORTNAME}OCAML_PACKAGESСписок пакетов для сборки и установки. По умолчанию
${PORTNAME}
17.93. octave
Возможные аргументы: (нет), env
Использует math/octave. env загружает только одну переменную окружения OCTAVE_VERSION.
17.94. openal
Возможные аргументы: al, soft (по умолчанию), si, alut
Использует OpenAL. Бэкенд может быть указан, с программной реализацией по умолчанию. Пользователь может указать предпочтительный бэкенд с помощью WANT_OPENAL. Допустимые значения для этой настройки: soft (по умолчанию) и si.
17.95. pathfix
Возможные аргументы: (отсутствуют)
Ищите Makefile.in и configure в PATHFIX_WRKSRC (по умолчанию WRKSRC) и исправляйте стандартные пути, чтобы они соответствовали иерархии FreeBSD. Например, исправляется каталог установки для файлов .pc pkgconfig на ${PREFIX}/libdata/pkgconfig. Если порт использует USES=autoreconf, Makefile.am будет автоматически добавлен в PATHFIX_MAKEFILEIN.
Если порт USES=cmake, он будет искать файл CMakeLists.txt в PATHFIX_WRKSRC. При необходимости это имя файла по умолчанию можно изменить с помощью PATHFIX_CMAKELISTSTXT.
17.96. pear
Возможные аргументы: env
Добавляет зависимость от пакета devel/pear. Настраивает поведение по умолчанию для программного обеспечения, использующего PHP Extension and Application Repository. Использование аргументов env только устанавливает переменные окружения PEAR. Дополнительную информацию см. в Модули PEAR.
17.97. perl5
Возможные аргументы: (отсутствуют)
Зависит от Perl. Настройка выполняется с помощью USE_PERL5.
USE_PERL5 может содержать фазы, в которых используется Perl: extract, patch, build, run или test.
USE_PERL5 также может содержать configure, modbuild или modbuildtiny, если требуется Makefile.PL, Build.PL или вариант Build.PL для Module::Build::Tiny.
USE_PERL5 по умолчанию имеет значение build run. При использовании configure, modbuild или modbuildtiny, build и run подразумеваются автоматически.
См. Использование Perl для получения дополнительной информации.
17.98. pgsql
Возможные аргументы: (нет), X.Y, X.Y+, X.Y-, X.Y-Z.A
Предоставить поддержку PostgreSQL. Ответственный за порт может указать требуемую версию. Можно указать минимальную и максимальную версии или диапазон; например, 9.0-, 8.4+, 8.4-9.2
По умолчанию добавляемая зависимость будет клиентской, но если порту требуются дополнительные компоненты, это можно указать с помощью WANT_PGSQL=компонент[:цель]; например, WANT_PGSQL=server:configure pltcl plperl. Доступные компоненты:
clientcontribdocspgtclplperlplpythonpltclserver
17.99. php
Возможные аргументы: (нет), phpize, ext, zend, build, cli, cgi, mod, web, embed, pecl, flavors, noflavors
Обеспечить поддержку PHP. Добавить зависимость во время выполнения на версию PHP по умолчанию, lang/php81.
phpizeИспользуется для создания расширения PHP. Поддерживает флейворы.
extИспользуется для сборки, установки и регистрации расширения PHP. Поддерживает флейворы.
zendИспользуется для сборки, установки и регистрации Zend-расширения. Поддерживает флейворы.
buildУстановить PHP также как зависимость во время сборки.
cliТребуется версия PHP для командной строки.
cgiТребуется CGI-версия PHP.
modТребуется модуль Apache для PHP.
webТребуется модуль Apache или CGI-версия PHP.
embedТребуется встроенная версия библиотеки PHP.
peclУстановить значения по умолчанию для загрузки расширений PHP из репозитория PECL. Включает флейворы.
flavorsВключить автоматическую генерацию флейворов PHP. Флейворы будут созданы для всех версий PHP, за исключением указанных в
IGNORE_WITH_PHP.noflavorsОтключить автоматическое создание флейворов PHP. Должно использоваться только с расширениями, предоставляемыми самим PHP.
Переменные используются для указания необходимых модулей PHP, а также версий PHP, которые поддерживаются.
USE_PHPСписок необходимых расширений PHP во время выполнения. Добавьте
:buildк названию расширения, чтобы указать зависимость во время сборки. Пример:pcre xml:build gettext
IGNORE_WITH_PHPПорт не работает с PHP указанной версии. Возможные значения можно посмотреть в содержимом
_ALL_PHP_VERSIONSв Mk/Uses/php.mk.
При сборке расширения PHP или Zend с помощью :ext или :zend, можно задать следующие переменные:
PHP_MODNAMEИмя расширения PHP или Zend. Значение по умолчанию:
${PORTNAME}.PHP_HEADER_DIRSСписок подкаталогов, из которых следует устанавливать заголовочные файлы. Фреймворк всегда будет устанавливать заголовочные файлы, находящиеся в том же каталоге, что и расширение.
PHP_MOD_PRIOПриоритет загрузки расширения. Это число от
00до99.Для расширений, которые не зависят от других расширений, приоритет автоматически устанавливается в
20, а для расширений, зависящих от другого расширения, приоритет автоматически устанавливается в30. Некоторые расширения могут требовать загрузки перед всеми остальными, например, www/php56-opcache. Некоторые могут требовать загрузки после расширения с приоритетом30. В таком случае добавьтеPHP_MOD_PRIO=XXв Makefile порта. Например:USES= php:ext USE_PHP= wddx PHP_MOD_PRIO= 40
Эти переменные доступны для использования в PKGNAMEPREFIX или PKGNAMESUFFIX:
PHP_PKGNAMEPREFIXСодержит
php_XY_-, где XY — версия PHP текущей редакции. Используется с расширениями и модулями PHP.PHP_PKGNAMESUFFIXСодержит
-php_XY_, где XY — версия PHP текущего варианта. Используется с PHP-приложениями.PECL_PKGNAMEPREFIXСодержит
php_XY_-pecl-, где XY — версия PHP текущей редакции. Используется с модулями PECL.
С вариантами сборки все расширения PHP, расширения PECL, модули PEAR должны иметь разные имена пакетов, поэтому они должны использовать одну из трёх переменных в |
17.100. pkgconfig
Возможные аргументы: (отсутствуют), build (по умолчанию), run, both
Использует devel/pkgconf. Без аргументов или с аргументом build подразумевает зависимость от pkg-config во время сборки. run подразумевает зависимость во время выполнения, а both — зависимости как во время выполнения, так и во время сборки.
17.101. pure
Возможные аргументы: (нет), ffi
Использует lang/pure. В основном применяется для сборки портов, зависящих от pure. С аргументом ffi подразумевает devel/pure-ffi как зависимость во время выполнения.
17.102. pyqt
Возможные аргументы: (нет), 4, 5
Использует PyQt. Если порт является частью самого PyQT, установите PYQT_DIST. Используйте USE_PYQT для выбора необходимых порту компонентов. Доступные компоненты:
coredbusdbussupportdemodesignerdesignerplugindocguimultimedianetworkopenglqscintilla2sipsqlsvgtestwebkitxmlxmlpatterns
Эти компоненты доступны только с PyQT4:
assistantdeclarativehelpphononscriptscripttools
Эти компоненты доступны только с PyQT5:
multimediawidgetsprintsupportqmlserialportwebkitwidgetswidgets
Зависимость по умолчанию для каждого компонента — это время сборки и выполнения. Чтобы выбрать только сборку или выполнение, добавьте _build или _run к имени компонента. Например:
USES= pyqt USE_PYQT= core doc_build designer_run
17.103. pytest
Возможные аргументы: (нет), 4
Вводит новую зависимость от devel/pytest. Он определяет цель do-test, которая будет правильно запускать тесты. Используйте аргумент, чтобы зависеть от определённой версии devel/pytest. Для портов, использующих devel/pytest, рекомендуется использовать это вместо конкретной цели do-test. Фреймворк предоставляет порту следующие переменные:
PYTEST_ARGSДополнительные аргументы для pytest (по умолчанию пусто).
PYTEST_IGNORED_TESTSсписки шаблонов
pytest -kдля игнорирования тестов (по умолчанию пустые). Для тестов, которые не должны проходить, например, требующих доступа к базе данных.PYTEST_BROKEN_TESTSсписки шаблонов
pytest -kтестов для игнорирования (по умолчанию пустые). Для сломанных тестов, которые требуют исправления.
В дополнение следующие переменные могут быть заданы пользователем:
PYTEST_ENABLE_IGNORED_TESTSВключить тесты, которые в противном случае игнорируются
PYTEST_IGNORED_TESTS.PYTEST_ENABLE_BROKEN_TESTSВключить тесты, которые в противном случае игнорируются
PYTEST_BROKEN_TESTS.PYTEST_ENABLE_ALL_TESTSВключить тесты, которые в противном случае игнорируются
PYTEST_IGNORED_TESTSиPYTEST_BROKEN_TESTS.
17.104. python
Возможные аргументы: (нет), X.Y, X.Y+, -X.Y, X.Y-Z.A, patch, build, run, test
Использует Python. Можно указать поддерживаемую версию или диапазон версий. Если Python требуется только во время сборки, выполнения или тестирования, его можно установить как зависимость для сборки, выполнения или тестирования с помощью build, run или test. Если Python также требуется на этапе исправлений, используйте patch. Дополнительную информацию см. в разделе Использование Python.
USES=python:env можно использовать, когда необходимы переменные, экспортируемые фреймворком, но зависимость от Python не требуется. Это может быть полезно при использовании с USES=shebangfix, если цель состоит только в исправлении shebang без добавления зависимости от Python.
17.105. qmail
Возможные аргументы: (нет), build, run, both, vars
Использует mail/qmail. С аргументом build подразумевается зависимость от qmail во время сборки. Аргумент run подразумевает зависимость во время выполнения. Использование без аргументов или с аргументом both подразумевает зависимости как во время выполнения, так и во время сборки. Аргумент vars только устанавливает переменные QMAIL для использования в порте.
17.106. qmake
Возможные аргументы: (отсутствуют), norecursive, outsource, no_env, no_configure
Использует QMake для настройки. Для получения дополнительной информации см. Использование qmake.
17.107. qt
Возможные аргументы: 5, 6, no_env
Добавить зависимость от компонентов Qt. no_env передаётся напрямую в USES= qmake. Подробнее см. в Использование Qt.
17.108. qt-dist
Возможные аргументы: (нет) или 5 и (нет) или 6 и (нет) или один из 3d, 5compat, base, charts, connectivity, datavis3d, declarative, doc, languageserver, gamepad, graphicaleffects, imageformats, location, lottie, multimedia, networkauth, positioning, quick3d, quickcontrols2, quickcontrols, quicktimeline, remoteobjects, script, scxml, sensors, serialbus, serialport, shadertools, speech, svg, tools, translations, virtualkeyboard, wayland, webchannel, webengine, webglplugin, websockets, webview, x11extras, xmlpatterns.
Предоставляет поддержку сборки компонентов Qt 5 и Qt 6. Обеспечивает настройку соответствующей конфигурации окружения для сборки порта.
Порт представляет собой компонент networkauth из Qt 5, который входит в файл дистрибутива networkauth.
PORTNAME= networkauth
DISTVERSION= ${QT5_VERSION}
USES= qt-dist:5Порт представляет собой компонент websockets из Qt 6, который входит в файл дистрибутива websockets.
PORTNAME= websockets
PORTVERSION= ${QT6_VERSION}
USES= qt-dist:6Если PORTNAME не совпадает с именем компонента, его можно передать как аргумент в qt-dist.
Порт представляет собой компонент gui из Qt 5, который входит в файл дистрибутива base.
PORTNAME= gui
DISTVERSION= ${QT5_VERSION}
USES= qt-dist:5,base17.109. readline
Возможные аргументы: (нет), port
Использует readline в качестве зависимости библиотеки и устанавливает CPPFLAGS и LDFLAGS по необходимости. Если используется аргумент port или если readline отсутствует в базовой системе, добавляет зависимость от devel/readline
17.110. ruby
Возможные аргументы: (нет), build, extconf, run, setup
Предоставить поддержку для портов, связанных с Ruby. (none) без аргументов добавляет зависимость во время выполнения на lang/ruby. build добавляет зависимость на lang/ruby во время сборки. extconf указывает, что порт использует extconf.rb для настройки. run добавляет зависимость на lang/ruby во время выполнения. Это также значение по умолчанию. setup указывает, что порт использует setup.rb для настройки и сборки.
Пользователь может определить следующие переменные:
RUBY_VERАльтернативная короткая версия ruby в виде
x.y.RUBY_DEFAULT_VERУстановите (например)
2.7, чтобы использоватьruby27в качестве версии по умолчанию.RUBY_ARCHУстановите имя архитектуры (например, i386-freebsd7).
Следующие переменные экспортируются для использования портом:
RUBYУстановлена в полный путь к ruby. Если задано, значения следующих переменных автоматически получаются из исполняемого файла ruby:
RUBY_ARCH,RUBY_ARCHLIBDIR,RUBY_LIBDIR,RUBY_SITEARCHLIBDIR,RUBY_SITELIBDIR,RUBY_VERиRUBY_VERSIONRUBY_VERУстановлена в альтернативную короткую версию ruby в формате
x.y.RUBY_EXTCONFУстановлена в альтернативное имя для extconf.rb (по умолчанию: extconf.rb).
RUBY_EXTCONF_SUBDIRSУстановлена в список подкаталогов, если включено несколько модулей.
RUBY_SETUPУстановлена в альтернативное имя для setup.rb (по умолчанию: setup.rb).
17.111. samba
Возможные аргументы: build, env, lib, run
Обработать зависимость от Samba. env не добавит никаких зависимостей, а только установит переменные. build и run добавят зависимости во время сборки и выполнения на smbd. lib добавит зависимость на libsmbclient.so. Экспортируемые переменные:
SAMBA_PORTРасположение порта Samba по умолчанию.
SAMBA_INCLUDEDIRРасположение заголовочных файлов Samba.
SAMBA_LIBSКаталог, в котором доступны общие библиотеки Samba.
SAMBA_LDB_PORTРасположение порта ldb, используемого выбранной версией Samba (например, databases/ldb28). Он должен использоваться, если порту требуется зависимость от той же версии ldb, что и у выбранной версии Samba.
SAMBA_TALLOC_PORTРасположение порта talloc, используемого выбранной версией Samba. Следует использовать, если порту требуется зависеть от той же версии talloc, что и выбранная версия Samba.
SAMBA_TDB_PORTРасположение порта TDB, используемого выбранной версией Samba. Его следует использовать, если порту требуется зависеть от той же версии TDB, что и выбранная версия Samba.
SAMBA_TEVENT_PORTРасположение порта tevent, используемого выбранной версией Samba. Это следует использовать, если порту необходимо зависеть от той же версии tevent, что и выбранная версия Samba.
17.112. scons
Возможные аргументы: (отсутствуют)
Предоставить поддержку для использования devel/scons. Дополнительную информацию смотрите в Использование scons.
17.113. sdl
Возможные аргументы: sdl
Обеспечить поддержку использования пакетов SDL. Переменная USE_SDL является обязательной и указывает, какие компоненты добавить в зависимости.
Поддерживаемые в настоящее время модули SDL1.2:
sdl
console
gfx
image
mixer
mm
net
pango
sound
ttf
Текущие поддерживаемые модули SDL2:
sdl2
gfx2
image2
mixer2
net2
sound2
ttf2
Текущие поддерживаемые модули SDL3:
sdl3
image3
ttf3
17.114. shared-mime-info
Возможные аргументы: (отсутствуют)
Использует update-mime-database из пакета misc/shared-mime-info. Это автоматически добавит шаг post-install таким образом, что сам порт всё ещё может указать собственный шаг post-install при необходимости. Также добавляет запись @shared-mime-info в plist.
17.115. shebangfix
Возможные аргументы: (отсутствуют)
Множество программ используют некорректные расположения для интерпретаторов скриптов, особенно /usr/bin/perl и /bin/bash. Макрос shebangfix исправляет строки shebang в скриптах, перечисленных в SHEBANG_REGEX, SHEBANG_GLOB или SHEBANG_FILES.
SHEBANG_REGEXСодержит одно расширенное регулярное выражение и используется с аргументом
-iregexв find(1). См.USESshebangfixсSHEBANG_REGEX.SHEBANG_GLOBСодержит список шаблонов, используемых с аргументом
-nameв find(1). См.USESshebangfixсSHEBANG_GLOB.SHEBANG_FILESСодержит список файлов или шаблонов sh(1). Макрос shebangfix выполняется из
${WRKSRC}, поэтомуSHEBANG_FILESможет содержать пути, относительные к${WRKSRC}. Также он может работать с абсолютными путями, если требуется исправление файлов вне${WRKSRC}. См.USESshebangfixсSHEBANG_FILES.
В настоящее время Bash, Java, Ksh, Lua, Perl, PHP, Python, Ruby, Tcl и Tk поддерживаются по умолчанию.
Существует три переменных конфигурации:
SHEBANG_LANGСписок поддерживаемых интерпретаторов.
_interp__CMDПуть к интерпретатору команд в FreeBSD. Значение по умолчанию —
${LOCALBASE}/bin/interp._interp__OLD_CMDСписок неправильных вызовов интерпретаторов. Обычно это устаревшие пути или пути, используемые в других операционных системах, которые неверны в FreeBSD. Они будут заменены на правильные пути в
_interp__CMD.Эти пути всегда будут частью
interp__OLD_CMD:"/usr/bin/env _interp" /bin/interp /usr/bin/interp /usr/local/bin/interp._interp__OLD_CMDсодержит несколько значений. Любая запись с пробелами должна быть заключена в кавычки. См. Указание всех путей при добавлении интерпретатора вUSESshebangfix.
Исправление шебанг-строк выполняется на этапе Правильные пути для поддерживаемых интерпретаторов доступны в |
При использовании с |
USES=shebangfixЧтобы добавить другой интерпретатор, установите SHEBANG_LANG. Например:
SHEBANG_LANG= lua
USES=shebangfixЕсли они еще не были определены и не было значений по умолчанию для _interpOLD_CMD и _interpCMD, запись Ksh можно определить как:
SHEBANG_LANG= ksh
ksh_OLD_CMD= "/usr/bin/env ksh" /bin/ksh /usr/bin/ksh
ksh_CMD= ${LOCALBASE}/bin/kshНекоторое программное обеспечение использует нестандартные пути для интерпретатора. Например, приложение может ожидать, что Python будет расположен в /opt/bin/python2.7. Нестандартный путь, который нужно заменить, можно указать в Makefile порта:
python_OLD_CMD= /opt/bin/python2.7
USES=shebangfix с SHEBANG_REGEXДля исправления всех файлов в ${WRKSRC}/scripts, оканчивающихся на .pl, .sh или .cgi, выполните:
USES= shebangfix SHEBANG_REGEX= ./scripts/.*\.(sh|pl|cgi)
|
USES=shebangfix с SHEBANG_GLOBДля исправления всех файлов в ${WRKSRC} с окончанием .pl или .sh выполните:
USES= shebangfix SHEBANG_GLOB= *.sh *.pl
USES=shebangfix с SHEBANG_FILESДля исправления файлов script/foobar.pl и script/*.sh в ${WRKSRC} выполните:
USES= shebangfix SHEBANG_FILES= scripts/foobar.pl scripts/*.sh
17.116. sqlite
Возможные аргументы: (нет), 2, 3
Добавить зависимость от SQLite. Используемая по умолчанию версия — 3, но также возможна версия 2 с использованием модификатора :2.
17.118. ssl
Возможные аргументы: (нет), build, run
Обеспечить поддержку OpenSSL. Зависимость только для сборки или выполнения может быть указана с использованием build или run. Эти переменные доступны для использования портом, а также добавлены в MAKE_ENV:
OPENSSLBASEПуть к базовой установке OpenSSL.
OPENSSLDIRПуть к файлам конфигурации OpenSSL.
OPENSSLLIBПуть к библиотекам OpenSSL.
OPENSSLINCПуть к заголовочным файлам OpenSSL.
OPENSSLRPATHЕсли определено, путь, который требуется компоновщику для поиска библиотек OpenSSL.
Если порт не собирается с вариантом OpenSSL, установите переменную BROKEN_SSL= libressl BROKEN_SSL_REASON_libressl= needs features only available in OpenSSL |
17.119. tar
Возможные аргументы: (нет), Z, bz2, bzip2, lzma, tbz, tbz2, tgz, txz, xz, zst, zstd
Установите EXTRACT_SUFX в .tar, .tar.Z, .tar.bz2, .tar.bz2, .tar.lzma, .tbz, .tbz2, .tgz, .txz, .tar.xz, .tar.zst или .tar.zstd соответственно.
17.120. tcl
Возможные аргументы: version, wrapper, build, run, tea
Добавьте зависимость от Tcl. Конкретная версия может быть запрошена с помощью version. Версия может быть пустой, одной или несколькими точными номерами версий (в настоящее время 84, 85 или 86), либо минимальным номером версии (в настоящее время 84+, 85+ или 86+). Чтобы запросить только неспецифичную для версии обёртку, используйте wrapper. Зависимость только на время сборки или выполнения может быть указана с помощью build или run. Для сборки порта с использованием Tcl Extension Architecture используйте tea. После включения bsd.port.pre.mk порт может проверить результаты с помощью этих переменных:
TCL_VER: выбранная версия Tcl в формате major.minorTCLSH: полный путь к интерпретатору TclTCL_LIBDIR: путь к библиотекам TclTCL_INCLUDEDIR: путь к заголовочным файлам Tcl на языке CTCL_PKG_LIB_PREFIX: Префикс библиотеки, согласно TIP595TCL_PKG_STUB_POSTFIX: Постфикс библиотеки заглушкиTK_VER: выбранная версия Tk в формате major.minorWISH: полный путь к интерпретатору TkTK_LIBDIR: путь к библиотекам TkTK_INCLUDEDIR: путь к заголовочным файлам Tk на языке C
17.121. terminfo
Возможные аргументы: (отсутствуют)
Добавляет @terminfo в файл plist. Используется, когда порт устанавливает файлы *.terminfo в каталог ${PREFIX}/share/misc.
17.122. tex
Возможные аргументы: (отсутствуют)
Обеспечить поддержку tex. Загружает все стандартные переменные для портов, связанных с TEX, и не добавляет зависимостей от других портов.
Переменные используются для указания того, какие модули TEX требуются.
USE_TEXСписок необходимых расширений TEX во время выполнения. Добавьте
:buildк названию расширения, чтобы добавить зависимость на время сборки,:run— для зависимости во время выполнения,:test— для зависимости во время тестирования,:extract— для зависимости во время извлечения. Пример:base texmf:build source:run
Текущие возможные аргументы следующие:
basetexmfsourcedocsweb2ckpathseaptexencbasictlmgrtexluatexluajitsynctexxpdfopendvipskdvipdfmxxdvikgbklatexformatstexlatexpdftexjadetexluatexptexxetexxmltextexhashupdmapfmtutil
17.123. tk
Так же, как аргументы для tcl
Небольшая обертка при использовании Tcl и Tk. Возвращаются те же переменные, что и при использовании Tcl.
17.124. trigger
Возможные аргументы: (отсутствуют)
Предоставить поддержку для портов, требующих выполнения триггеров с помощью pkg(8). Триггеры выполняются в конце транзакции, если условия выполнены.
Следующая переменная может быть установлена портами:
TRIGGERSСписок триггеров для пакета. По умолчанию используется
${PORTNAME}.
Триггеры указываются в формате UCL и обычно размещаются в каталоге files/ порта.
17.125. uidfix
Возможные аргументы: (отсутствуют)
Изменяет некоторые стандартные настройки (в основном переменные) системы сборки, чтобы позволить установку этого порта обычным пользователем. Попробуйте это в порте перед использованием USES=fakeroot или исправлением.
17.126. uniquefiles
Возможные аргументы: (нет), dirs
Сделать файлы или каталоги 'уникальными', добавляя префикс или суффикс. Если используется аргумент dirs, порту требуется префикс (и только префикс) на основе UNIQUE_PREFIX для стандартных каталогов DOCSDIR, EXAMPLESDIR, DATADIR, WWWDIR, ETCDIR. Эти переменные доступны для портов:
UNIQUE_PREFIX: Префикс, используемый для каталогов и файлов. По умолчанию:${PKGNAMEPREFIX}.UNIQUE_PREFIX_FILES: Список файлов, которые необходимо предварить префиксом. По умолчанию: пусто.UNIQUE_SUFFIX: Суффикс, используемый для файлов. По умолчанию:${PKGNAMESUFFIX}.UNIQUE_SUFFIX_FILES: Список файлов, к которым необходимо добавить суффикс. По умолчанию: пусто.
17.128. varnish
Возможные аргументы: 4 (по умолчанию), 6, 7
Обрабатывает зависимости для Varnish Cache. Добавляет зависимость от пакета www/varnish*.
17.129. waf
Возможные аргументы: (отсутствуют)
Обеспечить поддержку портов, использующих систему сборки waf.
Это подразумевает USES=python:build.
Следующие переменные экспортируются для использования портом:
WAF_CMDРасположение скрипта
waf. Установите этот параметр, если скриптwafне находится в WRKSRC/waf.CONFIGURE_TARGETЦель для
configure. По умолчанию –configure.ALL_TARGETЦель для
all. По умолчаниюbuild.INSTALL_TARGETЦель для
install. По умолчаниюinstall.
17.130. webplugin
Возможные аргументы: (нет), ARGS
Автоматически создавать и удалять символические ссылки для каждого приложения, поддерживающего фреймворк webplugin. ARGS может быть одним из:
gecko: поддержка плагинов на основе Geckonative: поддержка плагинов для Gecko, Opera и WebKit-GTKlinux: поддержка Linux плагиновall(по умолчанию, неявно): поддержка всех типов плагинов(отдельные записи): поддерживаются только перечисленные браузеры
Эти переменные можно настроить:
WEBPLUGIN_FILES: Значение по умолчанию отсутствует, должно быть установлено вручную. Файлы плагинов для установки.WEBPLUGIN_DIR: Каталог для установки файлов плагина, по умолчанию PREFIX/lib/browser_plugins/WEBPLUGIN_NAME. Установите это значение, если порт устанавливает файлы плагина вне стандартного каталога, чтобы избежать битых символических ссылок.WEBPLUGIN_NAME: Конечный каталог для установки файлов плагина, по умолчаниюPKGBASE.
17.131. xfce
Возможные аргументы: (нет), gtk2
Предоставить поддержку для портов, связанных с Xfce. Подробности см. в Использование Xfce.
Аргумент gtk2 указывает, что порт требует поддержки GTK2. Он добавляет дополнительные возможности, предоставляемые некоторыми основными компонентами, например, x11/libxfce4menu и x11-wm/xfce4-panel.
17.132. xorg
Возможные аргументы: (отсутствуют)
Предоставляет простой способ зависеть от компонентов X.org. Компоненты должны быть перечислены в USE_XORG. Доступные компоненты:
| Имя | Описание |
|---|---|
| Библиотека расширений DMX |
| Библиотека fontenc |
| Создать индекс файлов шрифтов X в каталоге |
| Библиотека Inter Client Exchange для X11 |
| Библиотека FS |
| Универсальная библиотека доступа к PCI |
| Библиотека для низкоуровневого управления пикселями |
| Библиотека управления сеансами для X11 |
| Библиотека X11 |
| Библиотека протокола аутентификации для X11 |
| Библиотека X Athena Widgets |
| Библиотека X Athena Widgets |
| Библиотека X Athena Widgets |
| Данные растровых изображений X.Org |
| Библиотека с интерфейсом языка С для X протокола (XCB) |
| Библиотека расширения X Composite |
| X библиотека загрузки курсоров на стороне клиента |
| Библиотека расширения X Damage |
| Библиотека протокола управления дисплейным менеджером X (XDMCP) |
| Библиотека расширений X11 |
| Библиотека расширений X Fixes |
| Библиотека шрифтов X |
| Библиотека шрифтов X |
| Клиентский API шрифтов для приложений X |
| Библиотека расширения X Input |
| Библиотека X11 Xinerama |
| Библиотека файлов XKB |
| Библиотека X Miscellaneous Utilities |
| Библиотека X Miscellaneous Utilities |
| X.Org макросы разработки aclocal |
| Сервер X.Org X и относящиеся к нему программы |
| Заголовочные файлы протокола xorg |
| Библиотека X Pixmap |
| Библиотека расширений X Present |
| Библиотека расширений X Resize and Rotate |
| Библиотека расширения X Render |
| Библиотека мониторинга ресурсов X Resource usage |
| Библиотека XScrnSaver |
| Примитив синхронизации "SyncFence" в разделяемой памяти |
| Библиотека X Toolkit |
| Абстрактный сетевой код для X |
| Расширение X Test |
| Библиотека расширения X Video |
| Библиотека X Video Extension Motion Compensation |
| Расширение X DGA |
| Расширение X Vidmode |
17.133. xorg-cat
Возможные аргументы: app, data, doc, driver, font, lib, proto, util, xserver и (без аргументов) или один из autotools (по умолчанию), meson
Обеспечивает поддержку сборки компонентов Xorg. Управляет настройкой общих зависимостей и необходимой конфигурационной среды. Предназначено только для компонентов Xorg.
Категория должна соответствовать категориям вышестоящего репозитория.
Второй аргумент — используемая система сборки. По умолчанию используется autotools, но также поддерживается meson.
Изменено: 18 ноября 2025 г. by Vladlen Popolitov