Die X11-Implementierung, welche die Ports-Sammlung bereitstellt, ist X.Org. Wenn Ihre Applikation von X-Komponenten abhängt, listen Sie die benötigten Komponenten in USE_XORG auf. Als dies geschrieben wurde, wurden die folgenden Komponenten bereitgestellt:
bigreqsproto compositeproto damageproto dmx dmxproto evieproto fixesproto fontcacheproto fontenc fontsproto fontutil glproto ice inputproto kbproto libfs oldx printproto randrproto recordproto renderproto resourceproto scrnsaverproto sm trapproto videoproto x11 xau xaw xaw6 xaw7 xaw8 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 xpr oto xproxymngproto xrandr xrender xres xscrnsaver xt xtrans xtrap xtst xv xvmc xxf86dga xxf86misc xxf86vm.
Die aktuelle Liste finden Sie immer in /usr/ports/Mk/bsd.xorg.mk.
Das Mesa Projekt ist ein Versuch, eine freie OpenGL Implementierung bereitzustellen. Sie können eine Abhängigkeit von verschiedenen Komponenten diese Projektes in der Variable USE_GL spezifizieren. ouml;gliche Optionen sind: glut, glu, glw, glew, gl und linux. Für Abwärtskompatibilität gilt der Wert yes als glu.
Viele Ports definieren USE_XLIB, was dafür sorgt, dass der Port von allen (rund 50) Bibliotheken abhängt. Diese Variable existiert, um Abwärtskompatibilität sicherzustellen (sie stammt noch aus der Zeit vor dem modularem X.Org), und sollte bei neuen Ports nicht mehr benutzt werden.
Tabelle 6-5. Variablen für Ports, die X benutzen
USE_XLIB | Der Port benutzt die X-Bibliotheken. Soll nicht mehr verwendet werden - benutzen Sie stattdessen eine Liste von Komponenten in USE_XORG. |
USE_X_PREFIX | Soll nicht mehr benutzt werden, ist jetzt äquivalent zu USE_XLIB und kann einfach durch letzteres ersetzt werden. |
USE_IMAKE | Der Port benutzt imake. Impliziert USE_X_PREFIX. |
XMKMF | Ist auf den Pfad zu xmkmf gesetzt, wenn nicht in PATH. Vorgabe ist xmkmf -a. |
Tabelle 6-6. Variablen bei Abhängigkeit von einzelnen Teilen von X11
X_IMAKE_PORT | Ein Port, der imake und einige andere Werkzeuge, die zum Erstellen von X11 benutzt werden, bereitstellt. |
X_LIBRARIES_PORT | Ein Port, der die X11-Bibliotheken bereitstellt. |
X_CLIENTS_PORT | Ein Port, der X11-Clients bereitstellt. |
X_SERVER_PORT | Ein Port, der den X11-Server bereitstellt. |
X_FONTSERVER_PORT | Ein Port, der den Fontserver bereitstellt. |
X_PRINTSERVER_PORT | Ein Port, der den Printserver bereitstellt. |
X_VFBSERVER_PORT | Ein Port, der den virtuellen Framebuffer-Server bereitstellt. |
X_NESTSERVER_PORT | Ein Port, der einen nested X-Server bereitstellt. |
X_FONTS_ENCODINGS_PORT | Ein Port, der Kodierungen für Schriftarten bereitstellt. |
X_FONTS_MISC_PORT | Ein Port, der verschiedene Bitmap-Schriftarten bereitstellt. |
X_FONTS_100DPI_PORT | Ein Port, der 100dpi Bitmap-Schriftarten bereitstellt. |
X_FONTS_75DPI_PORT | Ein Port, der 75dpi Bitmap-Schriftarten bereitstellt. |
X_FONTS_CYRILLIC_PORT | Ein Port, der kyrillische Bitmap-Schriftarten bereitstellt. |
X_FONTS_TTF_PORT | Ein Port, der TrueType®-Schriftarten bereitstellt. |
X_FONTS_TYPE1_PORT | Ein Port, der Type1-Schriftarten bereitstellt. |
X_MANUALS_PORT | Ein Port, der entwicklerorientierte Manualpages bereitstellt. |
Beispiel 6-2. Benutzung von X11-bezogenen Variablen in einem Port
# Port benutzt X11-Bibliotheken und hängt vom Font-Server sowie # von kyrillischen Schriftarten ab. RUN_DEPENDS= ${LOCALBASE}/bin/xfs:${X_FONTSERVER_PORT} \ ${LOCALBASE}/lib/X11/fonts/cyrillic/crox1c.pcf.gz:${X_FONTS_CYRILLIC_PORT} USE_XORG= x11 xpm
Wenn Ihr Port eine Motif-Bibliothek benötigt, definieren Sie USE_MOTIF im Makefile. Die Standard-Motif-Implementierung ist x11-toolkits/open-motif. Benutzer können stattdessen x11-toolkits/lesstif wählen, indem Sie die WANT_LESSTIF-Variable setzen.
Die Variable MOTIFLIB wird von bsd.port.mk auf die entsprechende Motif-Bibliothek gesetzt. Bitte patchen Sie den Quelltext Ihres Ports, sodass er überall ${MOTIFLIB} benutzt, wo die Motif-Bibliothek im Original Makefile oder Imakefile referenziert wird.
Es gibt zwei verbreitete Fälle:
Wenn sich der Port in seinem Makefile oder Imakefile auf die Motif-Bibliothek als -lXm bezieht, ersetzen Sie das einfach durch ${MOTIFLIB}.
Wenn der Port in seinem Imakefile XmClientLibs benutzt, ersetzen Sie das durch ${MOTIFLIB} ${XTOOLLIB} ${XLIB}.
Anmerkung: MOTIFLIB expandiert (normalerweise) zu -L/usr/X11R6/lib -lXm oder /usr/X11R6/lib/libXm.a - d.h. Sie müssen kein -L oder -l davor einfügen.
Wenn Ihr Port Schriftarten für das X-Window-System installiert, legen Sie diese nach LOCALBASE/lib/X11/fonts/local.
Manche Applikationen benötigen ein funktionierendes X11-Display, damit die Kompilierung funktioniert. Das stellt für Systeme, die ohne Display laufen, ein Problem dar. Wenn die folgende Variable benutzt wird, startet die Bauumgebung den virtuellen Framebuffer-X-Server, und ein funktionierendes DISPLAY wird dem Build übergeben.
USE_DISPLAY= yes
Desktop-Einträge (Freedesktop Standard) können in Ihrem Port einfach über die DESKTOP_ENTRIES-Variable erzeugt werden. Diese Einträge erscheinen dann im Applikationsmenü von standardkonformen Desktop-Umgebungen wie GNOME oder KDE. Die .desktop-Datei wird dann automatisch erzeugt, installiert und der pkg-plist hinzugefügt. Die Syntax ist:
DESKTOP_ENTRIES= "NAME" "COMMENT" "ICON" "COMMAND" "CATEGORY" StartupNotify
Die Liste der möglichen Kategorien ist auf der Freedesktop Webseite abrufbar. StartupNotify zeigt an, ob die Applikation den Status in Umgebungen, die Startup-Notifications kennen, löschen wird.
Beispiel:
DESKTOP_ENTRIES= "ToME" "Roguelike game based on JRR Tolkien's work" \ "${DATADIR}/xtra/graf/tome-128.png" \ "tome -v -g" "Application;Game;RolePlaying;" \ false
Zurück | Zum Anfang | Weiter |
Die Benutzung von perl | Nach oben | Benutzung von GNOME |