X.Org является реализацией X11, доступной в Коллекции
Портов. Если ваше приложение зависит от компонентов X,
установите в переменную USE_XORG
в
перечень требуемых компонентов. К настоящему времени
доступными компонентами являются:
bigreqsproto compositeproto damageproto dmx
dmxproto dri2proto evieproto fixesproto fontcacheproto
fontenc fontsproto fontutil glproto ice inputproto kbproto
libfs oldx pciaccess pixman printproto randrproto
recordproto renderproto resourceproto scrnsaverproto sm
trapproto videoproto x11 xau xaw xaw6 xaw7 xbitmaps
xcmiscproto xcomposite xcursor xdamage xdmcp xevie xext
xextproto xf86bigfontproto xf86dgaproto xf86driproto
xf86miscproto xf86rushproto xf86vidmodeproto xfixes xfont
xfontcache xft xi xinerama xineramaproto xkbfile xkbui xmu
xmuu xorg-server xp xpm xprintapputil xprintutil xproto
xproxymngproto xrandr xrender xres xscrnsaver xt xtrans
xtrap xtst xv xvmc xxf86dga xxf86misc
xxf86vm
.
Всегда актуальный перечень можно найти в
/usr/ports/Mk/bsd.xorg.mk
.
Проект Mesa является попыткой обеспечить свободную
реализацию OpenGL. Вы можете указать зависимость от
различных компонентов этого проекта при помощи переменной
USE_GL
. Действительные опции:
glut, glu, glw, glew, gl
и
linux
. Для обратной совместимости
значение yes
соответствует
glu
.
USES= imake | Используется imake . |
XMKMF | Задаёт маршрут до xmkmf , если
он отсутствует в PATH . По умолчанию
это xmkmf -a . |
# Использовать некоторые библиотеки X11 USE_XORG= x11 xpm
Если вашему порту требуется Motif, задайте переменную
USES= motif
в файле
Makefile
. Реализация Motif,
используемая по умолчанию, находится в
x11-toolkits/open-motif.
Пользователи вместо этого могут выбрать
x11-toolkits/lesstif через
установку переменной WANT_LESSTIF
.
Переменная MOTIFLIB
будет установлена
в bsd.port.mk
, чтобы ссылаться на
соответствующую библиотеку Motif. Пожалуйста, измените
исходные тексты вашего порта на использование
${MOTIFLIB}
везде, где упоминается
библиотека Motif, в первоначальном
Makefile
или
Imakefile
.
Существует два общих случая:
Если порт обращается к библиотеке Motif как
-lXm
в своих файлах
Makefile
или
Imakefile
, просто подставьте вместо
этих обращений
${MOTIFLIB}
.
Если порт использует XmClientLibs
в своем файле Imakefile
, измените
это обращение на ${MOTIFLIB}
${XTOOLLIB} ${XLIB}
.
Заметьте, что переменная MOTIFLIB
(как
правило) раскрывается в
-L/usr/local/lib -lXm
или
/usr/local/lib/libXm.a
, так что нет нужды
впереди добавлять -L
или
-l
.
Если ваш порт устанавливает шрифты для X Window System,
поместите их в каталог
LOCALBASE/lib/X11/fonts/local
.
Некоторые приложения для успешной компиляции требуют
наличие работающего дисплея X11. Это создает проблему для
машин, которые работают в режиме headless. При использовании
следующего канонического хака инфраструктура построения
запустит сервер X в виртуальном фреймбуфере. Затем
переменная работающего DISPLAY
передается при
построении.
USES= display
Элементы рабочего стола (стандарта Freedesktop) предоставляют способ автоматической настройки функций рабочего стола при установке новой программы, не требуя вмешательства пользователя. Например, новые программы автоматически отображаются в меню приложений совместимых окружений рабочего стола. Элементы рабочего стола изначально появились в окружении рабочего стола GNOME, но в настоящее время являются стандартом и также работают с KDE и Xfce. Такая небольшая автоматизация предоставляет реальное удобство для пользователя, и посему элементы рабочего стола приветствуются в приложениях, которые можно использовать в окружении рабочего стола.
Порты, включающие предопределенные файлы
*.desktop
, должны включать эти файлы в
pkg-plist
и устанавливать их в каталог
$LOCALBASE/share/applications
.
Для установки этих файлов используется макрос
INSTALL_DATA
.
Если в файле порта
portname.desktop
имеется запись
MimeType, то база данных рабочего стола олжна быть
обновлена после установки и удаления. Для этого укажите
USES
= desktop-file-utils.
Элементы рабочего стола можно легко создавать для
приложений, используя переменную
DESKTOP_ENTRIES
. Будет автоматически
создан, установлен и добавлен в
pkg-plist
файл с названием
name.desktop
. Синтаксис:
DESKTOP_ENTRIES= "NAME" "COMMENT" "ICON" "COMMAND" "CATEGORY" StartupNotify
Перечень возможных категорий доступен на вебсайте
Freedesktop. StartupNotify
отобразит, поддерживает ли приложение уведомления
о запуске. Как правило, это графический
индикатор часы вместо указателя мыши, меню или панель,
которые уведомляют пользователя о загрузке программы.
Программа, поддерживающая уведомления о запуске, очистит
этот индикатор после запуска. Программы, несовместимые с
уведомлениями о запуске, не будут очищать индикатор
(возможно, вызывая путаницу и приводя пользователей в
бешенство), и поэтому должны иметь
StartupNotify
в выключенном состоянии
false
; тогда индикатор не будет
отображаться совсем.
Пример:
DESKTOP_ENTRIES= "ToME" "Roguelike game based on JRR Tolkien's work" \ "${DATADIR}/xtra/graf/tome-128.png" \ "tome -v -g" "Application;Game;RolePlaying;" \ false
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.