diff --git a/Mk/Uses/xlibre-cat.mk b/Mk/Uses/xlibre-cat.mk index ef130bed4e1a..2a8bf55cd966 100644 --- a/Mk/Uses/xlibre-cat.mk +++ b/Mk/Uses/xlibre-cat.mk @@ -1,221 +1,225 @@ # XLibre ports categories and other things needed to build XLibre ports. # This is intended only for ports of XLibre and related applications. # # Use USES=xlibre and USE_XLIBRE to depend on various XLibre components. # # Feature: xlibre-cat # Usage: USES=xlibre-cat:category[,buildsystem] # # category is one of: # * driver depends on xorgproto at least # # Bleow are the old freedesktop.org categories and their comments # XLibre only hosts the driver category and the xserver, these # categoryes are disabled now, but kept in a commented state for # if they be added to XLibre in the future. # # * app Installs applications, no shared libraries. # * data Installs only data. # * doc no particular notes # * font don't install .pc file # * lib various dependencies, install .pc file, needs # pathfix # * proto install .pc file, needs pathfix, most only needed at # build time. # * util no particular notes # # These categories has to match upstream categories. Don't invent # your own. # # builsystem is one of: # * autotools (default) # * meson (experimental) # # # #.MAINTAINER: b-aazbsd@proton.me .if !defined(_INCLUDE_USES_XLIBRE_CAT_MK) _INCLUDE_USES_XLIBRE_CAT_MK=yes #_XLIBRE_CATEGORIES= app data doc driver font lib proto util _XLIBRE_CATEGORIES= driver server _XLIBRE_BUILDSYSTEMS= autotools meson _XLIBRE_CAT= # empty _XLIBRE_BUILDSYS= # empty . if empty(xlibre-cat_ARGS) IGNORE= no arguments specified to xlibre-cat . endif . for _arg in ${xlibre-cat_ARGS} . if ${_XLIBRE_CATEGORIES:M${_arg}} . if empty(_XLIBRE_CAT) _XLIBRE_CAT= ${_arg} . else IGNORE= multipe xlibre categories specified via xlibre-cat:${xlibre-cat_ARGS:ts,} . endif . elif ${_XLIBRE_BUILDSYSTEMS:M${_arg}} . if empty(_XLIBRE_BUILDSYS) _XLIBRE_BUILDSYS= ${_arg} . else IGNORE= multipe xlibre build systems specified via xlibre-cat:${xlibre-cat_ARGS:ts,} . endif . else IGNORE= unknown argument specified via xlibre-cat:${xlibre-cat_ARGS:ts,} . endif . endfor . if ${_XLIBRE_CAT} == server . if ${_XLIBRE_BUILDSYS} == autotools IGNORE= autotools build systems specified for the servers via xlibre-cat:${xlibre-cat_ARGS:ts,}, they only support meson. . endif _XLIBRE_BUILDSYS= meson . endif # Default to the autotools build system . if empty(_XLIBRE_BUILDSYS) _XLIBRE_BUILDSYS= autotools . endif # Default variables, common to all new modular xorg ports. . if empty(USES:Mtar) EXTRACT_SUFX?= .tar.bz2 . endif DIST_SUBDIR= xlibre/${_XLIBRE_CAT} # Do not set the DIST_SUBDIR to xlibre for XLibre flavors of 3rd party ports. . if !empty(PKGNAMEPREFIX) && ${PKGNAMEPREFIX} == xlibre- && ${_XLIBRE_CAT} == driver DIST_SUBDIR= xorg/${_XLIBRE_CAT} . endif . if ${_XLIBRE_BUILDSYS} == meson .include "${USESDIR}/meson.mk" . elif ${_XLIBRE_BUILDSYS} == autotools GNU_CONFIGURE= yes . else # This should not happen IGNORE= unknown build system specified via xlibre-cat:${xlibre-cat_ARGS:ts,} . endif # Set up things for fetching from XLibre GitHub. # This can be overridden using normal GH_* macros in the ports Makefile. # We make a best guess for GH_PROJECT. USE_GITHUB?= yes GH_ACCOUNT?= X11Libre -# Do not set the GitHub upstream for XLibre flavors of 3rd party ports. +# Do not do the bellow for XLibre flavors of 3rd party ports. . if empty(PKGNAMEPREFIX) || ${PKGNAMEPREFIX} != xlibre- +# Set the GitHub upstream. . if ${_XLIBRE_CAT} == driver # Removes the xlibre- suffix from the PORTNAME GH_PROJECT?= ${PORTNAME:tl:C/xlibre-//} GH_TAGNAME?= ${PORTNAME}-${PORTVERSION} . elif ${_XLIBRE_CAT} == server GH_PROJECT?= xserver GH_TAGNAME?= xlibre-xserver-${PORTVERSION} . else GH_PROJECT?= ${PORTNAME:tl} . endif +# Add conflicts between X.Org and XLibre variants of X drivers: +CONFLICTS= ${PORTNAME:tl:C/xlibre-//} . endif . if ${_XLIBRE_BUILDSYS} == meson # Set up meson stuff here . else # Things from GitHub doesn't come with pre-generated configure, add dependency # on autoreconf and run it, if we're using autotools. .include "${USESDIR}/autoreconf.mk" . endif # # All xlibre ports needs pkgconfig to build, but some ports look for pkgconfig # and then continue the build. # .include "${USESDIR}/pkgconfig.mk" # # All xlibre ports need xorg-macros except for the server. # . if ${PORTNAME} != xorg-macros && ${_XLIBRE_CAT} != server USE_XLIBRE+= xlibre-macros . endif #. if ${_XLIBRE_CAT} == app # Nothing at the moment # #. elif ${_XLIBRE_CAT} == data # Nothing at the moment. # #. elif ${_XLIBRE_CAT} == driver . if ${_XLIBRE_CAT} == driver .include "../../x11-servers/xlibre-server/Makefile.version" MODULEDIR=lib/xorg/modules/xlibre-${XLIBRE_MJR_VER} USE_XLIBRE+= xlibre-server USE_XORG+= xi xorgproto CFLAGS+= -Werror=uninitialized +PLIST_SUB+= MODULEDIR=${MODULEDIR} . if ${_XLIBRE_BUILDSYS} == meson # Put special stuff for meson here . else CONFIGURE_ENV+= PKG_CONFIG_PATH=${PREFIX}/libdata/pkgconfig/ \ DRIVER_MAN_SUFFIX=4x DRIVER_MAN_DIR='$$(mandir)/man4' AUTORECONF_ARGS+= -I ${PREFIX}/share/aclocal libtool_ARGS?= # empty .include "${USESDIR}/libtool.mk" INSTALL_TARGET= install-strip . endif . elif ${_XLIBRE_CAT} == server # For common flags across servers. # XLibre does not (yet) host any category other than drivers and the server so # there is no need to check for them. #. elif ${_XLIBRE_CAT} == font #FONTNAME?= ${PORTNAME:C/.*-//g:S/type/Type/:S/ttf/TTF/:S/speedo/Speedo/} #. if ${_XLIBRE_BUILDSYS} == meson # Put special stuff for meson here #. else #CONFIGURE_ARGS+= --with-fontrootdir=${PREFIX}/share/fonts #CONFIGURE_ENV+= FONTROOTDIR=${PREFIX}/share/fonts #. endif #. if !defined(NOFONT) #.include "${USESDIR}/fonts.mk" #BUILD_DEPENDS+= mkfontscale>=0:x11-fonts/mkfontscale \ # bdftopcf:x11-fonts/bdftopcf #PLIST_FILES+= "@comment ${FONTSDIR}/fonts.dir" \ # "@comment ${FONTSDIR}/fonts.scale" #. endif # #. elif ${_XLIBRE_CAT} == lib #CFLAGS+= -Werror=uninitialized #.include "${USESDIR}/pathfix.mk" #. if ${_XLIBRE_BUILDSYS} == meson # put meson stuff here #. else #libtool_ARGS?= # empty #.include "${USESDIR}/libtool.mk" #USE_LDCONFIG= yes #CONFIGURE_ARGS+=--enable-malloc0returnsnull #. endif # #. elif ${_XLIBRE_CAT} == proto #.include "${USESDIR}/pathfix.mk" # . endif # ${_XLIBRE_CAT} == # We only need to include xorg.mk if we want USE_XORG modules # USES+=xorg does not provide any functionality, it just silences an error # message about USES=xorg not being set . if defined(USE_XORG) && !empty(USE_XORG) USES+= xorg .include "${USESDIR}/xorg.mk" . endif . if defined(USE_XLIBRE) && !empty(USE_XLIBRE) USES+= xlibre .include "${USESDIR}/xlibre.mk" . endif .endif diff --git a/x11-servers/xlibre-server/Makefile b/x11-servers/xlibre-server/Makefile index 829d8dacc862..2b87a05d2d92 100644 --- a/x11-servers/xlibre-server/Makefile +++ b/x11-servers/xlibre-server/Makefile @@ -1,54 +1,65 @@ PORTNAME= xlibre-server PORTVERSION= ${XLIBRE_VER} CATEGORIES= x11-servers MAINTAINER= b-aazbsd@proton.me COMMENT= Xlibre X server WWW= https://github.com/X11Libre/xserver/ LICENSE= MIT CONFLICTS= xorg-server USES+= xlibre-cat:server OPTIONS_SUB= YES -OPTIONS_DEFINE= UDEV SUID -OPTIONS_DEFAULT=UDEV SUID +OPTIONS_DEFINE= UDEV SUID NVIDIA_ABI INPUTTEST SEATD +OPTIONS_DEFAULT=UDEV SUID INPUTTEST SEATD -UDEV_DESC= Enable udev (For libinput & autoconfiguration/hotplug). -UDEV_MESON_ON= -Dudev=true -Dudev_kms=true -UDEV_MESON_OFF= -Dudev=false -Dudev_kms=false +UDEV_DESC= Enable udev. (For libinput & autoconfiguration/hotplug) +UDEV_MESON_TRUE= udev udev_kms UDEV_LIB_DEPENDS= libudev.so:devel/libudev-devd -SUID_DESC= Enable the setuid binary (For starting X as a normal user). -SUID_MESON_ON= -Dsuid_wrapper=true -SUID_MESON_OFF= -Dsuid_wrapper=false +SUID_DESC= Enable the setuid binary. (For starting X as a normal user) +SUID_MESON_TRUE= suid_wrapper + +OPTIONS_DEFAULT_amd64= NVIDIA_ABI +OPTIONS_DEFAULT_i386= NVIDIA_ABI + +NVIDIA_ABI_DESC= Rebuild XLibre drivers if switched! Fixes for NVIDIA drivers. +NVIDIA_ABI_MESON_TRUE= legacy_nvidia_padding legacy_nvidia_340x + +INPUTTEST_DESC= Build inputtest driver. (For testing and automation) +INPUTTEST_MESON_TRUE= xf86-input-inputtest + +SEATD_DESC= Build with seatd support. (For running X unprivileged) +SEATD_MESON_TRUE= seatd_libseat +SEATD_LIB_DEPENDS= libseat.so:sysutils/seatd LIB_DEPENDS+= libxcvt.so:x11/libxcvt \ libdrm.so:graphics/libdrm \ - libepoxy.so:graphics/libepoxy \ - libepoll-shim.so:devel/libepoll-shim + libepoll-shim.so:devel/libepoll-shim \ + libepoxy.so:graphics/libepoxy MESON_ARGS+= -Dlog_dir=/var/log \ -Ddrm=true PLIST_SUB+= FONTPATHD="${FONTPATHD:S,^${PREFIX}/,,}" USE_XORG+= pciaccess USE_GL+= gbm .include "../xlibre-server/Makefile.common" OLDMODULEDIR= /lib/xorg/modules post-install: @${MKDIR} ${STAGEDIR}${PREFIX}/etc/X11/xorg.conf.d @${MKDIR} ${STAGEDIR}${PREFIX}${OLDMODULEDIR}/extensions @${MKDIR} ${STAGEDIR}${PREFIX}${OLDMODULEDIR}/drivers @${MKDIR} ${STAGEDIR}${PREFIX}${OLDMODULEDIR}/input @${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 .include diff --git a/x11-servers/xlibre-server/Makefile.common b/x11-servers/xlibre-server/Makefile.common index 60f301137b51..47eb42b8e208 100644 --- a/x11-servers/xlibre-server/Makefile.common +++ b/x11-servers/xlibre-server/Makefile.common @@ -1,90 +1,90 @@ _XMASTERDIR_REL=../xlibre-server/ XMASTERDIR= ${_XMASTERDIR_REL:tA} PATCHDIR?= ${XMASTERDIR}/files DISTINFO_FILE?= ${XMASTERDIR}/distinfo .include "${XMASTERDIR}/Makefile.version" USES+= gl compiler:c11 meson pkgconfig tar:xz xorg USE_GL+= gl USE_XORG+= pixman xau xdmcp xfont2 xkbfile xorgproto xshmfence xtrans OPTIONS_DEFINE+=LIBUNWIND OPTIONS_DEFAULT+=LIBUNWIND -LIBUNWIND_DESC= Enable libunwind for better stack traces in case of an error. +LIBUNWIND_DESC= Enable libunwind. (For better stack traces in case of an error) SERVERS= xorg xnest xephyr xvfb SERVERNAME= ${PORTNAME:S/^xlibre-/x/:S/xserver/xorg/} 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 MESON_ARGS+= -D${SERVERNAME}=true .for f in ${SERVERS:N${SERVERNAME}} MESON_ARGS+= -D${f}=false .endfor 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,} # Non X server common flags .if ${SERVERNAME} != xorg MESON_ARGS+= -Dudev=false \ -Dudev_kms=false PLIST= PKGMESSAGE= BINARY_NAME= ${SERVERNAME:C/^(.).*/\1/:tu}${SERVERNAME:C/^.//} PLIST_FILES= bin/${BINARY_NAME} \ share/man/man1/${BINARY_NAME}.1.gz .endif .include .if ${OPSYS}==FreeBSD AMD64=amd64 .else AMD64=x86_64 .endif .if ${PORT_OPTIONS:MLIBUNWIND} . if ${ARCH} == aarch64 || ${ARCH} == ${AMD64} || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc || ${ARCH} == powerpc64 || ${ARCH} == powerpc64le LIB_DEPENDS+= libunwind.so:devel/libunwind MESON_ARGS+= -Dlibunwind=true . endif .else MESON_ARGS+= -Dlibunwind=false .endif .if ${OPSYS} == FreeBSD MESON_ARGS+= -Dsha1=libmd .endif .if ${SERVERNAME} != xorg post-install: ${RM} -r ${STAGEDIR}${PREFIX}/lib/xorg/protocol.txt ${RMDIR} ${STAGEDIR}${PREFIX}/lib/xorg ${RM} ${STAGEDIR}${PREFIX}/share/man/man1/Xserver.1 .include .endif diff --git a/x11-servers/xlibre-server/Makefile.version b/x11-servers/xlibre-server/Makefile.version index 762f9dcca745..027fab288da4 100644 --- a/x11-servers/xlibre-server/Makefile.version +++ b/x11-servers/xlibre-server/Makefile.version @@ -1,4 +1,4 @@ -XLIBRE_MJR_VER=25.0 -XLIBRE_MIN_VER=0.16 +XLIBRE_MJR_VER=25 +XLIBRE_MIN_VER=1.0 XLIBRE_VER=${XLIBRE_MJR_VER}.${XLIBRE_MIN_VER} diff --git a/x11-servers/xlibre-server/distinfo b/x11-servers/xlibre-server/distinfo index 9e7aa077a41f..7c379f14182b 100644 --- a/x11-servers/xlibre-server/distinfo +++ b/x11-servers/xlibre-server/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1763716462 -SHA256 (xlibre/server/X11Libre-xserver-25.0.0.16-xlibre-xserver-25.0.0.16_GH0.tar.gz) = 0187e57331daefa75ddc33a4f878ef4c08526b83dc91dbc51a25375d2ff33b8c -SIZE (xlibre/server/X11Libre-xserver-25.0.0.16-xlibre-xserver-25.0.0.16_GH0.tar.gz) = 5415775 +TIMESTAMP = 1766394875 +SHA256 (xlibre/server/X11Libre-xserver-25.1.0-xlibre-xserver-25.1.0_GH0.tar.gz) = b46fe85e306821504a5e0e91aa0d8d54ce7ddfb67106c495a6ca5ac2c3e28f06 +SIZE (xlibre/server/X11Libre-xserver-25.1.0-xlibre-xserver-25.1.0_GH0.tar.gz) = 5488486 diff --git a/x11-servers/xlibre-server/files/patch-Xkb-revert b/x11-servers/xlibre-server/files/patch-Xkb-revert new file mode 100644 index 000000000000..8a1fec15bfba --- /dev/null +++ b/x11-servers/xlibre-server/files/patch-Xkb-revert @@ -0,0 +1,76 @@ +diff --git Xi/getkmap.c Xi/getkmap.c +index 04d8cbeaf..3cc614711 100644 +--- Xi/getkmap.c ++++ Xi/getkmap.c +@@ -59,7 +59,6 @@ SOFTWARE. + #include "dix/request_priv.h" + #include "dix/rpcbuf_priv.h" + #include "Xi/handlers.h" +-#include "xkb/xkbsrv_priv.h" + + #include "inputstr.h" /* DeviceIntPtr */ + #include "swaprep.h" +diff --git hw/xquartz/quartzKeyboard.c hw/xquartz/quartzKeyboard.c +index a26ea19c5..82b8d45b4 100644 +--- hw/xquartz/quartzKeyboard.c ++++ hw/xquartz/quartzKeyboard.c +@@ -44,10 +44,6 @@ + #include + #include + #include +-#include +-#include +- +-#include "xkb/xkbsrv_priv.h" + + #include "quartz.h" + #include "darwin.h" +@@ -57,6 +53,9 @@ + + #include "X11Application.h" + ++#include ++#include ++ + #include "xkbsrv.h" + #include "exevents.h" + #include "X11/keysym.h" +diff --git include/xkbsrv.h include/xkbsrv.h +index 3604c86af..b06f57bef 100644 +--- include/xkbsrv.h ++++ include/xkbsrv.h +@@ -197,6 +197,9 @@ extern _X_EXPORT void XkbFreeKeyboard(XkbDescPtr /* xkb */ , + Bool /* freeDesc */ + ); + ++extern _X_EXPORT KeySymsPtr XkbGetCoreMap(DeviceIntPtr /* keybd */ ++ ); ++ + extern _X_EXPORT void XkbApplyMappingChange(DeviceIntPtr /* pXDev */ , + KeySymsPtr /* map */ , + KeyCode /* firstKey */ , +@@ -210,6 +213,11 @@ extern _X_EXPORT void XkbDDXChangeControls(DeviceIntPtr /* dev */ , + XkbControlsPtr /* new */ + ); + ++extern _X_EXPORT void XkbSetRepeatKeys(DeviceIntPtr /* pXDev */ , ++ int /* key */ , ++ int /* onoff */ ++ ); ++ + extern _X_EXPORT void XkbGetRulesDflts(XkbRMLVOSet * /* rmlvo */ + ); + +diff --git xkb/xkbsrv_priv.h xkb/xkbsrv_priv.h +index 1b348471f..894f27eb2 100644 +--- xkb/xkbsrv_priv.h ++++ xkb/xkbsrv_priv.h +@@ -303,8 +303,4 @@ int XkbDDXUsesSoftRepeat(DeviceIntPtr dev); + void XkbDDXKeybdCtrlProc(DeviceIntPtr dev, KeybdCtrl *ctrl); + void XkbDDXUpdateDeviceIndicators(DeviceIntPtr dev, XkbSrvLedInfoPtr sli, + CARD32 newState); +- +-KeySymsPtr XkbGetCoreMap(DeviceIntPtr keybd); +-void XkbSetRepeatKeys(DeviceIntPtr pXDev, int key, int onoff); +- + #endif /* _XSERVER_XKBSRV_PRIV_H_ */ diff --git a/x11-servers/xlibre-server/files/patch-config_udev.c b/x11-servers/xlibre-server/files/patch-config_udev.c index 38b3e84db5ad..f146036534ac 100644 --- a/x11-servers/xlibre-server/files/patch-config_udev.c +++ b/x11-servers/xlibre-server/files/patch-config_udev.c @@ -1,56 +1,56 @@ * Don't pass the device parameter when using kbdmux to prevent conflict * * Specify a driver to use for basic devices (keyboard and mouse), otherwise none attaches * --- config/udev.c.orig 2017-03-15 18:05:25 UTC +++ config/udev.c @@ -29,6 +29,7 @@ #include #include +#include #include #include "input.h" @@ -188,7 +189,21 @@ device_added(struct udev_device *udev_de - attrs.product = strdup(name); + char buf[128]; input_options = input_option_new(input_options, "name", name); input_options = input_option_new(input_options, "path", path); - input_options = input_option_new(input_options, "device", path); + if(strstr(path, "kbdmux") != NULL) { + /* + * Don't pass "device" option if the keyboard is already attached + * to the console (ie. open() fails). This would activate a special + * logic in xf86-input-keyboard. Prevent any other attached to console + * keyboards being processed. There can be only one such device. + */ + int fd = open(path, O_RDONLY); + if (fd > -1) { + close(fd); + input_options = input_option_new(input_options, "device", path); + } + } + else + input_options = input_option_new(input_options, "device", path); - input_options = input_option_new(input_options, "major", itoa(major(devnum))); - input_options = input_option_new(input_options, "minor", itoa(minor(devnum))); - if (path) + sprintf(buf, "%u", major(devnum)); + input_options = input_option_new(input_options, "major", buf); + sprintf(buf, "%u", minor(devnum)); @@ -272,6 +287,18 @@ device_added(struct udev_device *udev_de } } + if (attrs.flags & (ATTR_KEY | ATTR_KEYBOARD)) { + if (!feature_present("evdev_support")) + input_options = input_option_new(input_options, "driver", "kbd"); + } else if (attrs.flags & ATTR_POINTER) { + if (strstr(path, "vbox")) + input_options = input_option_new(input_options, "driver", "vboxmouse"); + else { + if (!feature_present("evdev_support")) + input_options = input_option_new(input_options, "driver", "mouse"); + } + } + input_options = input_option_new(input_options, "config_info", config_info); /* Default setting needed for non-seat0 seats */ diff --git a/x11-servers/xlibre-server/files/patch-fix-epoll b/x11-servers/xlibre-server/files/patch-fix-epoll new file mode 100644 index 000000000000..1e5c15aafbaf --- /dev/null +++ b/x11-servers/xlibre-server/files/patch-fix-epoll @@ -0,0 +1,32 @@ +--- include/meson.build.orig ++++ include/meson.build +@@ -141,7 +141,7 @@ conf_data.set('HAVE_SYS_SYSMACROS_H', cc.has_header('sys/sysmacros.h') ? '1' : f + conf_data.set('HAVE_ARC4RANDOM_BUF', cc.has_function('arc4random_buf', dependencies: libbsd_dep) ? '1' : false) + conf_data.set('HAVE_BACKTRACE', cc.has_function('backtrace') ? '1' : false) + conf_data.set('HAVE_CBRT', cc.has_function('cbrt') ? '1' : false) +-conf_data.set('HAVE_EPOLL_CREATE1', cc.has_function('epoll_create1',dependencies:epoll_dep, prefix:'#include') ? '1' : false) ++conf_data.set('HAVE_EPOLL_CREATE1', cc.has_function('epoll_create1') ? '1' : false) + conf_data.set('HAVE_GETUID', cc.has_function('getuid') ? '1' : false) + conf_data.set('HAVE_GETEUID', cc.has_function('geteuid') ? '1' : false) + conf_data.set('HAVE_ISASTREAM', cc.has_function('isastream') ? '1' : false) +--- meson.build.orig ++++ meson.build +@@ -456,10 +456,8 @@ endif + + if host_machine.system() in ['freebsd', 'openbsd'] + epoll_dep = dependency('epoll-shim') +- epoll_inc = join_paths(epoll_dep.get_variable('prefix'), get_option('includedir'), 'libepoll-shim') + else + epoll_dep = [] +- epoll_inc = '' + endif + + have_eventfd = cc.has_header('sys/eventfd.h', dependencies: epoll_dep) +@@ -614,7 +612,6 @@ inc = include_directories( + 'randr', + 'render', + 'xfixes', +- epoll_inc, + ) + + build_xselinux = false diff --git a/x11-servers/xlibre-server/files/patch-hw_xfree86_compat_ones.c b/x11-servers/xlibre-server/files/patch-hw_xfree86_compat_ones.c deleted file mode 100644 index 1a296ff48141..000000000000 --- a/x11-servers/xlibre-server/files/patch-hw_xfree86_compat_ones.c +++ /dev/null @@ -1,15 +0,0 @@ ---- hw/xfree86/compat/ones.c.orig -+++ hw/xfree86/compat/ones.c -@@ -20,8 +20,12 @@ int - Ones(unsigned long mask) - { /* HACKMEM 169 */ - /* can't add a message here because this should be fast */ -+#if defined __has_builtin - #if __has_builtin(__builtin_popcountl) - return __builtin_popcountl (mask); -+#endif -+#elif defined __builtin_popcountl -+ return __builtin_popcountl (mask); - #else - unsigned long y; - diff --git a/x11-servers/xlibre-server/files/patch-hw_xfree86_os-support_shared_seatd-libseat.c b/x11-servers/xlibre-server/files/patch-hw_xfree86_os-support_shared_seatd-libseat.c new file mode 100644 index 000000000000..b79785f14692 --- /dev/null +++ b/x11-servers/xlibre-server/files/patch-hw_xfree86_os-support_shared_seatd-libseat.c @@ -0,0 +1,42 @@ +From edf810adf72ea32de2e75d39e4cba2dabd28ddb1 Mon Sep 17 00:00:00 2001 +From: polaris <251053665+9olaris@users.noreply.github.com> +Date: Mon, 22 Dec 2025 19:30:55 +0000 +Subject: [PATCH] Only call xf86platformVTProbe() when defined + +Signed-off-by: 9olaris <251053665+9olaris@users.noreply.github.com> +--- + hw/xfree86/os-support/shared/seatd-libseat.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/hw/xfree86/os-support/shared/seatd-libseat.c b/hw/xfree86/os-support/shared/seatd-libseat.c +index 4eddc05e22..4d9c3ad86f 100644 +--- hw/xfree86/os-support/shared/seatd-libseat.c ++++ hw/xfree86/os-support/shared/seatd-libseat.c +@@ -38,14 +38,16 @@ + #include "os.h" + #include "xf86.h" + #include "xf86_priv.h" ++#ifdef XSERVER_PLATFORM_BUS ++#include "xf86platformBus_priv.h" + #include "xf86platformBus.h" ++#endif + #include "xf86Xinput.h" + #include "xf86Xinput_priv.h" + #include "xf86Priv.h" + #include "globals.h" + + #include "config/hotplug_priv.h" +-#include "xf86platformBus_priv.h" + + #include "seatd-libseat.h" + +@@ -89,7 +91,9 @@ enable_seat(struct libseat *seat, void *userdata) + } + } + xf86InputEnableVTProbe(); /* Add any paused input devices */ ++ #ifdef XSERVER_PLATFORM_BUS + xf86platformVTProbe(); /* Probe for outputs */ ++ #endif + } + + /* diff --git a/x11-servers/xlibre-server/files/patch-meson.build b/x11-servers/xlibre-server/files/patch-meson.build deleted file mode 100644 index f933599bfac2..000000000000 --- a/x11-servers/xlibre-server/files/patch-meson.build +++ /dev/null @@ -1,11 +0,0 @@ ---- meson.build.orig 2025-09-16 15:49:48 UTC -+++ meson.build -@@ -456,7 +456,7 @@ else - build_dri2 = get_option('dri2') == 'true' - endif - --if host_machine.system() in ['freebsd', 'openbsd'] -+if host_machine.system() in ['dragonfly', 'freebsd', 'openbsd'] - epoll_dep = dependency('epoll-shim') - else - epoll_dep = [] diff --git a/x11-servers/xlibre-server/pkg-plist b/x11-servers/xlibre-server/pkg-plist index 1dec48a8741b..4899a6aee310 100644 --- a/x11-servers/xlibre-server/pkg-plist +++ b/x11-servers/xlibre-server/pkg-plist @@ -1,174 +1,174 @@ bin/X bin/Xorg bin/gtf include/xorg/Xprintf.h include/xorg/callback.h -include/xorg/client.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/dgaproc.h include/xorg/displaymode.h include/xorg/dix.h include/xorg/dixaccess.h include/xorg/dixfont.h include/xorg/dixfontstr.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/fd_notify.h include/xorg/fourcc.h include/xorg/gc.h include/xorg/gcstruct.h include/xorg/glamor.h include/xorg/globals.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/picture.h include/xorg/picturestr.h include/xorg/pixmap.h include/xorg/pixmapstr.h include/xorg/present.h include/xorg/privates.h include/xorg/property.h include/xorg/ptrveloc.h include/xorg/randrstr.h include/xorg/region.h include/xorg/regionstr.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/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/xf86-input-inputtest-protocol.h +%%INPUTTEST%%include/xorg/xf86-input-inputtest-protocol.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/xf86RandR12.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/xisb.h include/xorg/xkbrules.h include/xorg/xkbsrv.h include/xorg/xkbstr.h include/xorg/xorg-server.h +include/xorg/xlibre-server.h include/xorg/xorgVersion.h include/xorg/xserver-properties.h include/xorg/xvdix.h include/xorg/xvmcext.h -lib/xorg/modules/xlibre-25.0/drivers/modesetting_drv.so -lib/xorg/modules/xlibre-25.0/extensions/libglx.so -lib/xorg/modules/xlibre-25.0/input/inputtest_drv.so -lib/xorg/modules/xlibre-25.0/libexa.so -lib/xorg/modules/xlibre-25.0/libfbdevhw.so -lib/xorg/modules/xlibre-25.0/libglamoregl.so -lib/xorg/modules/xlibre-25.0/libint10.so -lib/xorg/modules/xlibre-25.0/libshadow.so -lib/xorg/modules/xlibre-25.0/libshadowfb.so -lib/xorg/modules/xlibre-25.0/libvgahw.so -lib/xorg/modules/xlibre-25.0/libwfb.so +lib/xorg/modules/xlibre-25/drivers/modesetting_drv.so +lib/xorg/modules/xlibre-25/extensions/libglx.so +%%INPUTTEST%%lib/xorg/modules/xlibre-25/input/inputtest_drv.so +lib/xorg/modules/xlibre-25/libexa.so +lib/xorg/modules/xlibre-25/libfbdevhw.so +lib/xorg/modules/xlibre-25/libglamoregl.so +lib/xorg/modules/xlibre-25/libint10.so +lib/xorg/modules/xlibre-25/libshadow.so +lib/xorg/modules/xlibre-25/libshadowfb.so +lib/xorg/modules/xlibre-25/libvgahw.so +lib/xorg/modules/xlibre-25/libwfb.so lib/xorg/protocol.txt libdata/pkgconfig/xorg-server.pc +libdata/pkgconfig/xlibre-server.pc %%SUID%%libexec/Xorg %%SUID%%@(,,4555) libexec/Xorg.wrap %%UDEV%%share/X11/xorg.conf.d/10-quirks.conf share/X11/xorg.conf.d/20-evdev-kbd.conf +share/X11/xorg.conf.d/10-nvidia.conf share/aclocal/xorg-server.m4 share/man/man1/Xorg.1.gz %%SUID%%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 +%%INPUTTEST%%share/man/man4/inputtestdrv.4.gz share/man/man4/modesetting.4.gz %%SUID%%share/man/man5/Xwrapper.config.5.gz share/man/man5/xorg.conf.5.gz share/man/man5/xorg.conf.d.5.gz @dir %%FONTPATHD%% @dir etc/X11/xorg.conf.d @dir lib/xorg/modules/drivers @dir lib/xorg/modules/input @dir lib/xorg/modules/extensions