diff --git a/x11-servers/xorg-server/Makefile b/x11-servers/xorg-server/Makefile index 9939340ec737..ec5deabbea4b 100644 --- a/x11-servers/xorg-server/Makefile +++ b/x11-servers/xorg-server/Makefile @@ -1,138 +1,134 @@ PORTNAME= xorg PORTVERSION= 21.1.12 +PORTREVISION= 1 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 WWW= https://www.freedesktop.org/Software/xorg LICENSE= MIT FLAVORS= xorg xnest xephyr xvfb FLAVOR?= ${FLAVORS:[1]} USES= compiler:c11 cpe gl meson pkgconfig tar:xz xorg USE_GL= gl .if ${FLAVOR} == xephyr PORTNAME= xephyr .elif ${FLAVOR} == xorg PKGNAMESUFFIX= -server .elif ${FLAVOR} == xnest PORTEPOCH= 2 PKGNAMESUFFIX= -nestserver .elif ${FLAVOR} == xvfb PKGNAMESUFFIX= -vfbserver .endif .if ${FLAVOR} != xorg PLIST= PKGMESSAGE= BINARY_NAME= ${FLAVOR:C/^(.).*/\1/:tu}${FLAVOR:C/^.//} PLIST_FILES= bin/${BINARY_NAME} \ share/man/man1/${BINARY_NAME}.1.gz -PLIST_DIRS= /var/lib/xkb /var/lib .endif DESCR= ${.CURDIR}/pkg-descr-${FLAVOR} BUILD_DEPENDS+= ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri RUN_DEPENDS+= xkeyboard-config>=2.5:x11/xkeyboard-config \ xkbcomp:x11/xkbcomp \ ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri MESON_ARGS+= -Dxwin=false \ -Dxquartz=false \ -Ddtrace=false \ -Dhal=false \ -Dsystemd_logind=false \ -Dxselinux=false \ -Dfallback_input_driver=libinput \ -Ddocs=false \ -Dxcsecurity=true \ - -Dxkb_dir=${LOCALBASE}/share/X11/xkb \ - -Dxkb_output_dir=/var/lib/xkb \ -D${FLAVOR}=true .for f in ${FLAVORS:N${FLAVOR}} MESON_ARGS+= -D${f}=false .endfor .if ${FLAVOR} == xorg LIB_DEPENDS+= libudev.so:devel/libudev-devd \ libxcvt.so:x11/libxcvt MESON_ARGS+= -Dudev=true \ -Dudev_kms=true \ -Dlog_dir=/var/log \ -Dsuid_wrapper=true .else MESON_ARGS+= -Dudev=false \ -Dudev_kms=false .endif .if ${FLAVOR} == xorg || ${FLAVOR} == xephyr MESON_ARGS+= -Ddrm=true LIB_DEPENDS+= libdrm.so:graphics/libdrm \ libepoxy.so:graphics/libepoxy .endif .if ${FLAVOR} == xephyr LIB_DEPENDS+= libxcb-render-util.so:x11/xcb-util-renderutil \ libxcb-image.so:x11/xcb-util-image \ libxcb-icccm.so:x11/xcb-util-wm \ libxcb-keysyms.so:x11/xcb-util-keysyms .endif 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} MESON_ARGS+= -Ddefault_font_path=${DEFAULT_FONTPATH_LIST:ts,} PLIST_SUB+= FONTPATHD="${FONTPATHD:S,^${PREFIX}/,,}" USE_GL+= gl USE_XORG+= pixman xau xdmcp xfont2 xkbfile xorgproto xshmfence xtrans CPE_VENDOR= x.org CPE_PRODUCT= xorg-server .if ${FLAVOR} == xorg USE_GL+= gbm USE_XORG+= pciaccess .endif .include .if ${OPSYS} == FreeBSD MESON_ARGS+= -Dsha1=libmd .endif .if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc || ${ARCH} == powerpc64 || ${ARCH} == powerpc64le LIB_DEPENDS+= libunwind.so:devel/libunwind .endif .if ${FLAVOR} == xorg post-install: @${MKDIR} ${STAGEDIR}${PREFIX}/etc/X11/xorg.conf.d @${MKDIR} ${STAGEDIR}${FONTPATHD} @${MKDIR} ${STAGEDIR}${PREFIX}/share/X11/xorg.conf.d @${INSTALL_DATA} ${FILESDIR}/20-evdev-kbd.conf \ ${STAGEDIR}${PREFIX}/share/X11/xorg.conf.d - ${MKDIR} -p ${STAGEDIR}/var/lib/xkb .else post-install: ${RM} -r ${STAGEDIR}${PREFIX}/lib/xorg/protocol.txt ${RMDIR} ${STAGEDIR}${PREFIX}/lib/xorg ${RM} ${STAGEDIR}${PREFIX}/share/man/man1/Xserver.1 - ${MKDIR} -p ${STAGEDIR}/var/lib/xkb .endif .include diff --git a/x11-servers/xorg-server/files/patch-xkb_ddxLoad.c b/x11-servers/xorg-server/files/patch-xkb_ddxLoad.c new file mode 100644 index 000000000000..509c70b6a680 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-xkb_ddxLoad.c @@ -0,0 +1,30 @@ +--- xkb/ddxLoad.c.orig 2024-04-03 20:50:12 UTC ++++ xkb/ddxLoad.c +@@ -31,6 +31,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. + #include + + #include ++#include + #include + #include + #include +@@ -70,9 +71,17 @@ OutputDirectory(char *outdir, size_t size) + /* Can we write an xkm and then open it too? */ + if (access(XKM_OUTPUT_DIR, W_OK | X_OK) == 0) { + directory = XKM_OUTPUT_DIR; +- if (XKM_OUTPUT_DIR[strlen(XKM_OUTPUT_DIR) - 1] != '/') +- pathsep = "/"; ++ } else { ++ const char *xdg_runtime_dir = getenv("XDG_RUNTIME_DIR"); ++ ++ if (xdg_runtime_dir && xdg_runtime_dir[0] == '/' && ++ access(xdg_runtime_dir, W_OK | X_OK) == 0) ++ directory = xdg_runtime_dir; + } ++ ++ if (directory && directory[strlen(directory) - 1] != '/') ++ pathsep = "/"; ++ + #else + directory = Win32TempDir(); + pathsep = "\\"; diff --git a/x11-servers/xorg-server/pkg-plist b/x11-servers/xorg-server/pkg-plist index d99baab25f6b..b920012e58ba 100644 --- a/x11-servers/xorg-server/pkg-plist +++ b/x11-servers/xorg-server/pkg-plist @@ -1,193 +1,191 @@ bin/X bin/Xorg bin/gtf 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/glxvndabi.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/syncsdk.h include/xorg/validate.h include/xorg/vbe.h include/xorg/vbeModes.h include/xorg/vgaHW.h include/xorg/vndserver.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/xf86MatchDrivers.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/xf86RandR12.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 include/xorg/xserver_poll.h include/xorg/xvdix.h include/xorg/xvmcext.h include/xorg/xf86-input-inputtest-protocol.h lib/xorg/modules/drivers/modesetting_drv.so lib/xorg/modules/extensions/libglx.so lib/xorg/modules/input/inputtest_drv.so lib/xorg/modules/libexa.so lib/xorg/modules/libglamoregl.so lib/xorg/modules/libint10.so lib/xorg/modules/libshadow.so lib/xorg/modules/libshadowfb.so lib/xorg/modules/libfbdevhw.so lib/xorg/modules/libvgahw.so lib/xorg/modules/libwfb.so lib/xorg/protocol.txt libdata/pkgconfig/xorg-server.pc libexec/Xorg @(,,4555) libexec/Xorg.wrap share/man/man1/Xorg.1.gz share/man/man1/Xorg.wrap.1.gz share/man/man1/Xserver.1.gz share/man/man1/gtf.1.gz share/man/man4/exa.4.gz share/man/man4/fbdevhw.4.gz share/man/man4/inputtestdrv.4.gz share/man/man4/modesetting.4.gz share/man/man5/Xwrapper.config.5.gz share/man/man5/xorg.conf.5.gz share/man/man5/xorg.conf.d.5.gz share/X11/xorg.conf.d/10-quirks.conf share/X11/xorg.conf.d/20-evdev-kbd.conf share/aclocal/xorg-server.m4 @dir etc/X11/xorg.conf.d @dir %%FONTPATHD%% -@dir /var/lib/xkb -@dir /var/lib