Index: head/Mk/Uses/fonts.mk =================================================================== --- head/Mk/Uses/fonts.mk (revision 521429) +++ head/Mk/Uses/fonts.mk (revision 521430) @@ -1,68 +1,77 @@ # $FreeBSD$ # # handle fonts # Feature: fonts # Usage: USES=fonts # Valid ARGS: fc, fontsdir, fcfontsdir, none (empty means fcfontsdir) # fc Add @fc ${FONTSDIR} to PLIST_FILES # fontsdir Add @fontsdir ${FONTSDIR} to PLIST_FILES # fcfontsdir Add @fcfontsdir ${FONTSDIR} to PLIST_FILES # none No special handling of ${FONTSDIR} in PLIST_FILES # Ports should use USES=fonts with an argument only when necessary. # By default, @fcfontsdir ${FONTSDIR} is added and it updates font # information cache file of fontconfig library, and XLFD entries # in fonts.dir and fonts.scale file, which are directly used by # X server and xfs font server. # # Xorg supports TrueType and OpenType via either of the two font # subsystems. @fcfontsdir is designed to update configuration files for # both of them to register a font file. Specifically, fc-cache and # mkfontdir utilities are used, respectively. # # Ports to install fonts with which mkfontdir or fc-cache do not work well # should use :fc and/or :fontsdir argument. fc-cache and mkfontdir # get information such as fontname, encoding, etc. from a font file. # However, mkfontdir does not understand information in some scalable # fonts. Typical examples are TrueType Collection format and # CJK (Chinese, Japanese, and Korean) TrueType font. The former is # a format which contains multiple fonts in a single file. # While Xorg supports it, mkfontdir does not generate correct # fonts.dir entries from a TTC font. CJK fonts often require # modifiers in a XFLD entry to enable special feature which mkfontdir # does not support, either. # # Note that ports which do not want mkfontdir need to use # a separate FONTSDIR, not shared ones such as misc or TTF. # This is because other ports using @fcfontsdir or @fontsdir # update fonts.dir in these font directories upon installation # and deinstallation. mkfontdir will overwrite manually-added entries. .if !defined(_INCLUDE_USES_FONTS_MK) _INCLUDE_USES_FONTS_MK= yes .if empty(fonts_ARGS) fonts_ARGS= fcfontsdir .endif .if !empty(fonts_ARGS:Nfc:Nfontsdir:Nfcfontsdir:Nnone) IGNORE= USES=fonts - invalid ARGS (${fonts_ARGS}) .endif .if !empty(fonts_ARGS:Mfc) || !empty(fonts_ARGS:Mfcfontsdir) RUN_DEPENDS+= fc-cache:x11-fonts/fontconfig .endif .if !empty(fonts_ARGS:Mfontsdir) || !empty(fonts_ARGS:Mfcfontsdir) RUN_DEPENDS+= mkfontscale:x11-fonts/mkfontscale .endif FONTNAME?= ${PORTNAME} FONTSDIR?= ${PREFIX}/share/fonts/${FONTNAME} .if !empty(fonts_ARGS:Nnone) PLIST_FILES+= "@${fonts_ARGS} ${FONTSDIR}" .endif +.if defined(FONTPATHSPEC) && !empty(FONTPATHSPEC) +FONTPATHD?= ${LOCALBASE}/etc/X11/fontpath.d +PLIST_FILES+= "${FONTPATHD}/${FONTPATHSPEC}" +post-install-fontpathd: + @${MKDIR} ${STAGEDIR}${FONTPATHD} + ${LN} -s -f ../../../${FONTSDIR:S,^${PREFIX}/,,} \ + ${STAGEDIR}${FONTPATHD}/${FONTPATHSPEC} +post-install: post-install-fontpathd +.endif SUB_LIST+= FONTSDIR="${FONTSDIR}" PLIST_SUB+= FONTSDIR="${FONTSDIR:S,^${PREFIX}/,,}" .endif Index: head/x11-servers/xorg-server/Makefile =================================================================== --- head/x11-servers/xorg-server/Makefile (revision 521429) +++ head/x11-servers/xorg-server/Makefile (revision 521430) @@ -1,131 +1,146 @@ # Created by: Eric Anholt # $FreeBSD$ PORTNAME?= xorg-server PORTVERSION?= 1.18.4 -PORTREVISION?= 12 +PORTREVISION?= 13 PORTEPOCH?= 1 CATEGORIES= x11-servers MASTER_SITES= XORG/individual/xserver DISTNAME= xorg-server-${PORTVERSION} MAINTAINER= x11@FreeBSD.org COMMENT?= X.Org X server and related programs LICENSE= MIT RUN_DEPENDS+= xkeyboard-config>=2.5:x11/xkeyboard-config \ xkbcomp:x11/xkbcomp SLAVE_PORT?= no OPTIONS_SUB= yes OPTIONS_DEFINE= SUID OPTIONS_RADIO= CONF OPTIONS_RADIO_CONF= DEVD HAL DEVD_DESC= Use devd for autoconfiguration of input devices HAL_DESC= Use hald for autoconfiguration of input devices SUID_DESC= Install the Xorg server with setuid bit set OPTIONS_DEFAULT=DEVD SUID OPTIONS_EXCLUDE_sparc64= HAL .include +FONTPATH_ROOT?= ${LOCALBASE}/share/fonts +FONTPATHD?= ${PREFIX}/etc/X11/fontpath.d +DEFAULT_FONTPATH_LIST= \ + ${FONTPATH_ROOT}/misc/ \ + ${FONTPATH_ROOT}/TTF/ \ + ${FONTPATH_ROOT}/OTF/ \ + ${FONTPATH_ROOT}/Type1/ \ + ${FONTPATH_ROOT}/100dpi/ \ + ${FONTPATH_ROOT}/75dpi/ \ + catalogue:${FONTPATHD} +DEFAULT_FONTPATH_CMD=${ECHO_CMD} ${DEFAULT_FONTPATH_LIST} | ${TR} ' ' , +PLIST_SUB+= FONTPATHD="${FONTPATHD:S,^${PREFIX}/,,}" + USES= gmake gl libtool perl5 ssl tar:bzip2 xorg xorg-cat:xserver USE_PERL5= build USE_GL+= gl USE_XORG+= pixman xau xdmcp xfont xkbfile xorgproto xshmfence xtrans CONFIGURE_ARGS+=--without-doxygen --without-xmlto --without-fop \ + --with-default-font-path="$$(${DEFAULT_FONTPATH_CMD})" \ --localstatedir=/var --with-shared-memory-dir=/tmp \ --disable-config-udev --disable-config-udev-kms \ --without-dtrace --enable-glamor INSTALL_TARGET= install-strip .if ${SLAVE_PORT} == "no" || ${PORTNAME} == "xephyr" || ${PORTNAME} == "xwayland" LIB_DEPENDS+= libdrm.so:graphics/libdrm \ libepoxy.so:graphics/libepoxy .else BUILD_DEPENDS+= libepoxy>0:graphics/libepoxy # only for configure .endif .if ${SLAVE_PORT} == "no" USE_GL+= gbm USE_XORG+= pciaccess CONFIGURE_ARGS+=--disable-dmx --disable-xephyr --disable-xnest --disable-xvfb \ --disable-xwayland --enable-xcsecurity SUB_FILES= pkg-install pkg-deinstall .else CONFIGURE_ARGS+=--disable-xorg # for slave ports we need to overwrite PLIST, so it doesn't overwrite # PLIST_FILES, with the masterport plist. PLIST= ${.CURDIR}/pkg-plist .endif .include .if ${SSL_DEFAULT} == base # The reason why I use this is cause openssl from base doesn't install a .pc file # and configure will fail trying to find it. Setting both of those variables to # a *non-empty* value by-passes the pkg-config check. CONFIGURE_ENV= SHA1_LIB="-L/usr/lib -lcrypto" SHA1_CFLAGS="-I/usr/include" .endif .if ${PORT_OPTIONS:MHAL} LIB_DEPENDS+= libhal.so:sysutils/hal CONFIGURE_ARGS+= --enable-config-hal .else CONFIGURE_ARGS+= --disable-config-hal .endif # We handle Xorg setuid in the plist. This allows to build xorg-server as a user. CONFIGURE_ARGS+=--disable-install-setuid .if ${ARCH} == "i386" || ${ARCH} == "amd64" LIB_DEPENDS+= libunwind.so:devel/libunwind .endif .if ${ARCH} == "sparc64" PLIST_SUB+= SPARC64="" .else PLIST_SUB+= SPARC64="@comment " .endif .if ${PORT_OPTIONS:MSUID} pre-everything:: @${ECHO_MSG} "By default, the X Server installs as a set-user-id root binary. When run by" @${ECHO_MSG} "a normal user, it checks arguments and environment as done in the x11/wrapper" @${ECHO_MSG} "port before handling them normally. If you are concerned about the security" @${ECHO_MSG} "of this, but still want to run an X Server (for example using xdm/kdm/gdm," @${ECHO_MSG} "which will still run the server as root), you can cancel the build and set" @${ECHO_MSG} "xorg-server_UNSET=SUID in /etc/make.conf." .endif post-patch: @${REINPLACE_CMD} 's/test.*-traditional.*;/true;/' \ ${WRKSRC}/configure # build libglx.so but don't install it yet. which is done in pre-install. @${REINPLACE_CMD} -e 's|@GLX_TRUE@GLXMODS =|@GLX_BOGUS@GLXMODS =|g' \ -e 's|^LTLIBRARIES = |LTLIBRARIES = libglx.la |g' \ ${WRKSRC}/hw/xfree86/dixmods/Makefile.in post-configure: .if ${PORT_OPTIONS:MDEVD} @${REINPLACE_CMD} -e 's|config\.c|config.c devd.c|g' \ -e 's|config\.lo|config.lo devd.lo|g' \ ${WRKSRC}/config/Makefile @${REINPLACE_CMD} -e 's|^/\* #undef CONFIG_UDEV \*/|#define CONFIG_DEVD 1|' \ ${WRKSRC}/include/dix-config.h .endif .if ${SLAVE_PORT} == "no" post-install: # The .xorg dir because else the xorg-server might not load the correct # libglx module. @${MKDIR} ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/.xorg ${INSTALL_LIB} ${WRKSRC}/hw/xfree86/dixmods/.libs/libglx.so \ ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/.xorg/ @${MKDIR} ${STAGEDIR}${PREFIX}/etc/X11/xorg.conf.d + @${MKDIR} ${STAGEDIR}${FONTPATHD} .endif # ! SLAVE_PORT .include Index: head/x11-servers/xorg-server/pkg-plist =================================================================== --- head/x11-servers/xorg-server/pkg-plist (revision 521429) +++ head/x11-servers/xorg-server/pkg-plist (revision 521430) @@ -1,189 +1,190 @@ bin/X %%SUID%%@(,,4555) bin/Xorg %%NO_SUID%%bin/Xorg bin/cvt bin/gtf include/xorg/BT.h include/xorg/IBM.h include/xorg/TI.h include/xorg/XIstubs.h include/xorg/Xprintf.h include/xorg/callback.h include/xorg/client.h include/xorg/closestr.h include/xorg/closure.h include/xorg/colormap.h include/xorg/colormapst.h include/xorg/compiler.h include/xorg/compositeext.h include/xorg/cursor.h include/xorg/cursorstr.h include/xorg/damage.h include/xorg/damagestr.h include/xorg/dbestruct.h include/xorg/dgaproc.h include/xorg/displaymode.h include/xorg/dix.h include/xorg/dixaccess.h include/xorg/dixevents.h include/xorg/dixfont.h include/xorg/dixfontstr.h include/xorg/dixgrabs.h include/xorg/dixstruct.h include/xorg/dri.h include/xorg/dri2.h include/xorg/dri3.h include/xorg/dristruct.h include/xorg/edid.h include/xorg/events.h include/xorg/exa.h include/xorg/exevents.h include/xorg/extension.h include/xorg/extinit.h include/xorg/extnsionst.h include/xorg/fb.h include/xorg/fbdevhw.h include/xorg/fboverlay.h include/xorg/fbpict.h include/xorg/fbrop.h include/xorg/fourcc.h include/xorg/gc.h include/xorg/gcstruct.h include/xorg/geext.h include/xorg/geint.h include/xorg/glamor.h include/xorg/globals.h include/xorg/glx_extinit.h include/xorg/glyphstr.h include/xorg/hotplug.h include/xorg/i2c_def.h include/xorg/input.h include/xorg/inputstr.h include/xorg/list.h include/xorg/mi.h include/xorg/micmap.h include/xorg/micoord.h include/xorg/migc.h include/xorg/miline.h include/xorg/mioverlay.h include/xorg/mipict.h include/xorg/mipointer.h include/xorg/mipointrst.h include/xorg/misc.h include/xorg/miscstruct.h include/xorg/mistruct.h include/xorg/misync.h include/xorg/misyncfd.h include/xorg/misyncshm.h include/xorg/misyncstr.h include/xorg/mizerarc.h include/xorg/nonsdk_extinit.h include/xorg/opaque.h include/xorg/optionstr.h include/xorg/os.h include/xorg/panoramiX.h include/xorg/panoramiXsrv.h include/xorg/picture.h include/xorg/picturestr.h include/xorg/pixmap.h include/xorg/pixmapstr.h include/xorg/present.h include/xorg/presentext.h include/xorg/privates.h include/xorg/property.h include/xorg/propertyst.h include/xorg/ptrveloc.h include/xorg/randrstr.h include/xorg/region.h include/xorg/regionstr.h include/xorg/registry.h include/xorg/resource.h include/xorg/rgb.h include/xorg/rrtransform.h include/xorg/sarea.h include/xorg/screenint.h include/xorg/scrnintstr.h include/xorg/selection.h include/xorg/servermd.h include/xorg/shadow.h include/xorg/shadowfb.h include/xorg/shmint.h include/xorg/site.h include/xorg/syncsdk.h include/xorg/validate.h include/xorg/vbe.h include/xorg/vbeModes.h include/xorg/vgaHW.h include/xorg/wfbrename.h include/xorg/window.h include/xorg/windowstr.h include/xorg/xaarop.h include/xorg/xace.h include/xorg/xacestr.h include/xorg/xf86.h include/xorg/xf86Crtc.h include/xorg/xf86Cursor.h include/xorg/xf86DDC.h include/xorg/xf86Modes.h include/xorg/xf86Module.h include/xorg/xf86Opt.h include/xorg/xf86Optionstr.h include/xorg/xf86Optrec.h include/xorg/xf86Parser.h include/xorg/xf86Pci.h include/xorg/xf86PciInfo.h include/xorg/xf86Priv.h include/xorg/xf86Privstr.h include/xorg/xf86RamDac.h include/xorg/xf86RandR12.h %%SPARC64%%include/xorg/xf86Sbus.h include/xorg/xf86VGAarbiter.h include/xorg/xf86Xinput.h include/xorg/xf86_OSlib.h include/xorg/xf86_OSproc.h include/xorg/xf86cmap.h include/xorg/xf86fbman.h include/xorg/xf86i2c.h include/xorg/xf86int10.h include/xorg/xf86platformBus.h include/xorg/xf86sbusBus.h include/xorg/xf86str.h include/xorg/xf86xv.h include/xorg/xf86xvmc.h include/xorg/xf86xvpriv.h include/xorg/xisb.h include/xorg/xkbfile.h include/xorg/xkbrules.h include/xorg/xkbsrv.h include/xorg/xkbstr.h include/xorg/xorg-server.h include/xorg/xorgVersion.h include/xorg/xserver-properties.h @comment include/xorg/xserver_poll.h include/xorg/xvdix.h include/xorg/xvmcext.h lib/xorg/modules/drivers/modesetting_drv.so lib/xorg/modules/extensions/.xorg/libglx.so lib/xorg/modules/libexa.so lib/xorg/modules/libfb.so lib/xorg/modules/libfbdevhw.so lib/xorg/modules/libglamoregl.so lib/xorg/modules/libint10.so lib/xorg/modules/libshadow.so lib/xorg/modules/libshadowfb.so lib/xorg/modules/libvbe.so lib/xorg/modules/libvgahw.so lib/xorg/modules/libwfb.so lib/xorg/protocol.txt libdata/pkgconfig/xorg-server.pc man/man1/Xorg.1.gz man/man1/Xserver.1.gz man/man1/cvt.1.gz man/man1/gtf.1.gz man/man4/exa.4.gz man/man4/fbdevhw.4.gz man/man4/modesetting.4.gz man/man5/xorg.conf.5.gz man/man5/xorg.conf.d.5.gz share/aclocal/xorg-server.m4 @dir etc/X11/xorg.conf.d +@dir %%FONTPATHD%%