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
.
Некоторые порты определяют USE_XLIB
, которая
делает порт зависимым ото всех 50 или около того библиотек. Эта
переменная существует для обратной совместимости, т.к. предшествует
модульному X.Org, и не должна использоваться в новых портах.
USE_XLIB | Порт использует библиотеки X. Является устаревшим -
используйте вместо этого список компонентов X.Org в
переменной USE_XORG . |
USE_IMAKE | Порт использует imake . |
XMKMF | Задаётся маршрут до xmkmf , если он
отсутствует в переменной окружения PATH . По
умолчанию это xmkmf -a . |
X_IMAKE_PORT | Порт, предоставляющий imake и
несколько других утилит, используемых при построении
X11. |
X_LIBRARIES_PORT | Порт, предоставляющий библиотеки X11. |
X_CLIENTS_PORT | Порт, предоставляющий клиентов X. |
X_SERVER_PORT | Порт, предоставляющий сервер X. |
X_FONTSERVER_PORT | Порт, предоставляющий сервер шрифтов. |
X_PRINTSERVER_PORT | Порт, предоставляющий сервер печати. |
X_VFBSERVER_PORT | Порт, предоставляющий сервер виртуального фреймбуфера. |
X_NESTSERVER_PORT | Порт, предоставляющий вложенный сервер X. |
X_FONTS_ENCODINGS_PORT | Порт, предоставляющий кодировки для шрифтов. |
X_FONTS_MISC_PORT | Порт, предоставляющий прочие растровые шрифты. |
X_FONTS_100DPI_PORT | Порт, предоставляющий 100dpi растровые шрифты. |
X_FONTS_75DPI_PORT | Порт, предоставляющий 75dpi растровые шрифты. |
X_FONTS_CYRILLIC_PORT | Порт, предоставляющий кириллические растровые шрифты. |
X_FONTS_TTF_PORT | Порт, предоставляющий шрифты TrueType®. |
X_FONTS_TYPE1_PORT | Порт, предоставляющий шрифты Type1. |
X_MANUALS_PORT | Порт, предоставляющий страницы справочника, предназначенные для разработчиков. |
Если вашему порту требуется Motif, задайте переменную
USE_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
передается при построении.
Элементы рабочего стола (стандарта Freedesktop) предоставляют способ автоматической настройки функций рабочего стола при установке новой программы, не требуя вмешательства пользователя. Например, новые программы автоматически отображаются в меню приложений совместимых окружений рабочего стола. Элементы рабочего стола изначально появились в окружении рабочего стола GNOME, но в настоящее время являются стандартом и также работают с KDE и Xfce. Такая небольшая автоматизация предоставляет реальное удобство для пользователя, и посему элементы рабочего стола приветствуются в приложениях, которые можно использовать в окружении рабочего стола.
Порты, включающие предопределенные файлы
*.desktop
, должны включать эти файлы в
pkg-plist
и устанавливать их в каталог
.
Для установки этих файлов используется макрос $LOCALBASE
/share/applicationsINSTALL_DATA
.
Элементы рабочего стола можно легко создавать для приложений,
используя переменную DESKTOP_ENTRIES
.
Будет автоматически создан, установлен и добавлен в
pkg-plist
файл с названием
.
Синтаксис:name
.desktop
Перечень возможных категорий доступен на
вебсайте Freedesktop. StartupNotify
отобразит, поддерживает ли приложение уведомления о
запуске. Как правило, это графический индикатор часы
вместо указателя мыши, меню или панель, которые уведомляют
пользователя о загрузке программы. Программа, поддерживающая
уведомления о запуске, очистит этот индикатор после запуска.
Программы, несовместимые с уведомлениями о запуске, не будут
очищать индикатор (возможно, вызывая путаницу и приводя
пользователей в бешенство), и поэтому должны иметь
StartupNotify
в выключенном состоянии
false
; тогда индикатор не будет отображаться
совсем.
Пример:
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.