pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
modular-xorg-server-dfbsd: Update wip/modular-xorg-server-dfbsd to 1.20.5
Module Name: pkgsrc-wip
Committed By: David Shao <davshao%gmail.com@localhost>
Pushed By: dshao
Date: Mon Jul 22 22:13:45 2019 -0700
Changeset: 70639db527db2e14634670cc204d7f71f0d1c840
Modified Files:
modular-xorg-server-dfbsd/Makefile
modular-xorg-server-dfbsd/Makefile.common
modular-xorg-server-dfbsd/PLIST
modular-xorg-server-dfbsd/TODO
modular-xorg-server-dfbsd/distinfo
modular-xorg-server-dfbsd/options.mk
modular-xorg-server-dfbsd/patches/patch-config_devd.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86AutoConfig.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Config.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86pciBus.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_drivers_modesetting_drmmode__display.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__VTsw.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__init.c
Added Files:
modular-xorg-server-dfbsd/patches/patch-Xext_xf86bigfont.c
modular-xorg-server-dfbsd/patches/patch-config_meson.build
modular-xorg-server-dfbsd/patches/patch-config_wscons.c
modular-xorg-server-dfbsd/patches/patch-glx_glxscreens.h
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Configure.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Helper.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86str.h
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86xv.h
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_int10_helper__exec.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_meson.build
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_parser_Device.c
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_parser_xf86Parser.h
modular-xorg-server-dfbsd/patches/patch-hw_xfree86_vgahw_vgaHW.h
modular-xorg-server-dfbsd/patches/patch-include_displaymode.h
modular-xorg-server-dfbsd/patches/patch-include_glx__extinit.h
modular-xorg-server-dfbsd/patches/patch-include_meson.build
modular-xorg-server-dfbsd/patches/patch-include_os.h
modular-xorg-server-dfbsd/patches/patch-meson.build
modular-xorg-server-dfbsd/patches/patch-meson__options.txt
modular-xorg-server-dfbsd/patches/patch-os_utils.c
modular-xorg-server-dfbsd/patches/patch-randr_randrstr.h
modular-xorg-server-dfbsd/patches/patch-test_xtest.c
Removed Files:
modular-xorg-server-dfbsd/patches/patch-configure
Log Message:
modular-xorg-server-dfbsd: Update wip/modular-xorg-server-dfbsd to 1.20.5
Changes:
* Meson build
* Knobs for patches for NetBSD xsrc
* There doesn't seem to be a reason for any difference between
xsrc and pkgsrc on NetBSD except possibly for the -noretro flag
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=70639db527db2e14634670cc204d7f71f0d1c840
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
modular-xorg-server-dfbsd/Makefile | 14 +-
modular-xorg-server-dfbsd/Makefile.common | 66 ++++++--
modular-xorg-server-dfbsd/PLIST | 39 +++--
modular-xorg-server-dfbsd/TODO | 18 ++
modular-xorg-server-dfbsd/distinfo | 47 ++++--
modular-xorg-server-dfbsd/options.mk | 183 ++++++++++++++++-----
.../patches/patch-Xext_xf86bigfont.c | 16 ++
.../patches/patch-config_devd.c | 15 +-
.../patches/patch-config_meson.build | 27 +++
.../patches/patch-config_wscons.c | 145 ++++++++++++++++
modular-xorg-server-dfbsd/patches/patch-configure | 48 ------
.../patches/patch-glx_glxscreens.h | 21 +++
.../patch-hw_xfree86_common_xf86AutoConfig.c | 111 +++++++++++--
.../patches/patch-hw_xfree86_common_xf86Config.c | 45 ++++-
.../patch-hw_xfree86_common_xf86Configure.c | 45 +++++
.../patches/patch-hw_xfree86_common_xf86Helper.c | 23 +++
.../patches/patch-hw_xfree86_common_xf86pciBus.c | 53 ++++--
.../patches/patch-hw_xfree86_common_xf86str.h | 14 ++
.../patches/patch-hw_xfree86_common_xf86xv.h | 16 ++
..._xfree86_drivers_modesetting_drmmode__display.c | 54 +++++-
.../patches/patch-hw_xfree86_int10_helper__exec.c | 33 ++++
.../patch-hw_xfree86_os-support_bsd_bsd__VTsw.c | 6 +-
.../patch-hw_xfree86_os-support_bsd_bsd__init.c | 25 ++-
.../patch-hw_xfree86_os-support_meson.build | 22 +++
.../patches/patch-hw_xfree86_parser_Device.c | 29 ++++
.../patches/patch-hw_xfree86_parser_xf86Parser.h | 23 +++
.../patches/patch-hw_xfree86_vgahw_vgaHW.h | 27 +++
.../patches/patch-include_displaymode.h | 17 ++
.../patches/patch-include_glx__extinit.h | 25 +++
.../patches/patch-include_meson.build | 46 ++++++
.../patches/patch-include_os.h | 23 +++
.../patches/patch-meson.build | 14 ++
.../patches/patch-meson__options.txt | 13 ++
modular-xorg-server-dfbsd/patches/patch-os_utils.c | 55 +++++++
.../patches/patch-randr_randrstr.h | 50 ++++++
.../patches/patch-test_xtest.c | 15 ++
36 files changed, 1258 insertions(+), 165 deletions(-)
diffs:
diff --git a/modular-xorg-server-dfbsd/Makefile b/modular-xorg-server-dfbsd/Makefile
index 754cabc14e..b81d996339 100644
--- a/modular-xorg-server-dfbsd/Makefile
+++ b/modular-xorg-server-dfbsd/Makefile
@@ -1,14 +1,19 @@
-# $NetBSD: Makefile,v 1.117 2018/10/26 10:20:12 maya Exp $
+# $NetBSD: Makefile,v 1.119 2019/07/20 22:46:57 wiz Exp $
DISTNAME= xorg-server-${XORG_VERSION}
PKGNAME= modular-${DISTNAME}
-PKGREVISION= 1
+# DISTNAME= xorg-server-${XORG_VERSION}
+# PKGNAME= modular-xorg-server-${XORG_VERSION}
+# PKGREVISION= 1
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
COMMENT= Modular X11 server from modular X.org
SPECIAL_PERMS+= bin/Xorg ${SETUID_ROOT_PERMS}
+post-install:
+ ${LN} -sf ${PREFIX}/bin/Xorg ${DESTDIR}${PREFIX}/bin/X
+
NOT_FOR_PLATFORM= Darwin-*-*
.include "Makefile.common"
@@ -17,6 +22,11 @@ CONFIGURE_ARGS+= --enable-xorg
CONFIGURE_ARGS+= --disable-xephyr
CONFIGURE_ARGS+= --disable-kdrive
CONFIGURE_ARGS.SunOS+= --disable-input-thread
+MESON_ARGS+= -Dxorg=true
+MESON_ARGS+= -Dxephyr=false
+.if ${OPSYS} == "SunOS"
+MESON_ARGS+= -Dinput_thread=false
+.endif
.include "options.mk"
diff --git a/modular-xorg-server-dfbsd/Makefile.common b/modular-xorg-server-dfbsd/Makefile.common
index 54379a1ad4..912ac1cf07 100644
--- a/modular-xorg-server-dfbsd/Makefile.common
+++ b/modular-xorg-server-dfbsd/Makefile.common
@@ -1,17 +1,27 @@
-# $NetBSD: Makefile.common,v 1.26 2018/10/25 22:40:57 maya Exp $
+# $NetBSD: Makefile.common,v 1.27 2019/02/27 16:32:58 wiz Exp $
# used by x11/modular-xorg-server/Makefile
# used by x11/modular-xorg-xephyr/Makefile
-XORG_VERSION= 1.20.3
+# 2019-03-05 meson: Bump required meson version to 0.46
+# COMMIT_ID= 7e046b9467784451769af3a03db46e3c690063b0
+
+# PORTNAME= xserver
+
+# DISTNAME= ${PORTNAME}-${COMMIT_ID}
+
+XORG_VERSION= 1.20.5
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XORG:=xserver/}
EXTRACT_SUFX= .tar.bz2
+# MASTER_SITES= http://cgit.freedesktop.org/xorg/${PORTNAME}/snapshot/
+# EXTRACT_SUFX= .tar.xz
HOMEPAGE= http://xorg.freedesktop.org/
LICENSE= mit AND modified-bsd AND x11 # with no-advertising clause
-GNU_CONFIGURE= yes
-USE_LIBTOOL= yes
+# GNU_CONFIGURE= yes
+# USE_LIBTOOL= yes
+# USE_TOOLS+= gmake pkg-config autoconf automake autoreconf
USE_TOOLS+= gmake pkg-config
USE_LANGUAGES+= c99
@@ -27,6 +37,9 @@ XKB_OUTPUT_DIR?= ${VARBASE}/db/xkb # XXX sync with xkeyboard-config
CONFIGURE_ARGS+= --localstatedir=${VARBASE:Q}
CONFIGURE_ARGS+= --with-xkb-output=${XKB_OUTPUT_DIR:Q}
+# MESON_ARGS+= -Dlog_dir=${VARBASE:Q}/log
+MESON_ARGS+= -Dlocalstatedir=${VARBASE:Q}
+MESON_ARGS+= -Dxkb_output_dir=${XKB_OUTPUT_DIR:Q}
.if !empty(USE_TOOLS:Mauto*)
TOOLS_DEPENDS+= xorg-util-macros>=1.1.5:../../devel/xorg-util-macros
@@ -41,6 +54,8 @@ DEPENDS+= xkeyboard-config-[0-9]*:../../x11/xkeyboard-config
CPPFLAGS+= -D_OPENBSD_SOURCE # for reallocarray(3)
CONFIGURE_ARGS+= --with-builder-addr="tech-x11%NetBSD.org@localhost"
CONFIGURE_ARGS+= --with-os-vendor="The NetBSD Foundation"
+MESON_ARGS+= -Dbuilder_addr="tech-x11%NetBSD.org@localhost"
+MESON_ARGS+= -Dbuilder_string="The NetBSD Foundation"
# TLS is not supported by NetBSD<6
. if !empty(OS_VERSION:M[0-5].*)
CONFIGURE_ENV+= ac_cv_tls=no
@@ -60,20 +75,27 @@ LEGACY_FONT_PATHS+= ${PREFIX}/lib/X11/fonts/${f}
FONT_PATHS= ${DEFAULT_FONT_PATHS} ${LEGACY_FONT_PATHS}
CONFIGURE_ARGS+= --with-default-font-path=${FONT_PATHS:ts,:Q}
+MESON_ARGS+= -Ddefault_font_path=${FONT_PATHS:ts,:Q}
CONFIGURE_ARGS+= --disable-config-hal
CONFIGURE_ARGS+= --disable-dmx
-.if ${OPSYS} != "FreeBSD" && ${OPSYS} != "DragonFly"
+MESON_ARGS+= -Dhal=false
+MESON_ARGS+= -Ddmx=false
CONFIGURE_ARGS+= --disable-xwin
-.endif
+MESON_ARGS+= -Dxwin=false
CONFIGURE_ARGS+= --disable-xephyr
+MESON_ARGS+= -Dxephyr=false
-.if ${OPSYS} != "FreeBSD" && ${OPSYS} != "DragonFly"
CONFIGURE_ARGS+= --disable-kdrive
#CONFIGURE_ARGS+= --disable-kdrive-vesa
CONFIGURE_ARGS+= --enable-xtrans-send-fds
CONFIGURE_ARGS+= --with-int10=x86emu
+MESON_ARGS+= -Dint10=x86emu
+
+.if ${OPSYS} != "Linux"
+MESON_ARGS+= -Dudev=false
+MESON_ARGS+= -Dxwayland=false
.endif
# From FreeBSD ports
@@ -86,6 +108,9 @@ CONFIGURE_ARGS+= --disable-config-udev-kms
# CONFIGURE_ARGS+= --disable-xvfb
CONFIGURE_ARGS+= --disable-xwayland
CONFIGURE_ARGS+= --enable-xcsecurity
+# MESON_ARGS+= -Dudev=false
+# MESON_ARGS+= -Dxwayland=false
+MESON_ARGS+= -Dxcsecurity=true
.endif
# FreeBSD ports devel/libunwind not ported to pkgsrc
@@ -125,6 +150,15 @@ CONFIGURE_ENV.SunOS+= ac_cv_func_epoll_create1=no
# Only available in newer releases
CONFIGURE_ENV.SunOS+= ac_cv_func_mkostemp=no
+# Avoid secure-rpc on NetBSD
+.if ${OPSYS} == "NetBSD"
+MESON_ARGS+= -Dsecure-rpc=false
+.endif
+
+# .if ${OPSYS} == "FreeBSD"
+# CFLAGS+= -Wno-missing-braces
+# .endif
+
.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
# Workaround glamor lockups when drm-devel-kmod (4.15-4.17) is installed
# with partial reverting of commit
@@ -147,12 +181,19 @@ BUILDLINK_API_DEPENDS.pixman+= pixman>=0.21.8
BUILD_DEPENDS+= tradcpp-[0-9]*:../../devel/tradcpp
CONFIGURE_ENV+= ac_cv_path_RAWCPP="${PREFIX}/bin/tradcpp -Uunix"
-.if ${OPSYS} == "NetBSD" || ${OPSYS} == "OpenBSD" || ${OPSYS} == "Bitrig" || ${OPSYS} == "MirBSD"
-CONFIGURE_ARGS+= --with-sha1=libc
-.else
+# .if ${OPSYS} == "NetBSD" || ${OPSYS} == "OpenBSD" || ${OPSYS} == "Bitrig" || ${OPSYS} == "MirBSD"
+# CONFIGURE_ARGS+= --with-sha1=libc
+# .else
.include "../../security/nettle/buildlink3.mk"
CONFIGURE_ARGS+= --with-sha1=libnettle
-.endif
+# .endif
+
+# Autotools
+# pre-configure:
+# cd ${WRKSRC} && autoreconf -vif
+
+# Meson
+.include "../../devel/py-meson/build.mk"
.include "../../devel/ncurses/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
@@ -179,4 +220,7 @@ BUILDLINK_API_DEPENDS.libXext+= libXext>=1.1.1
.include "../../x11/pixman/buildlink3.mk"
.include "../../x11/xcb-util-keysyms/buildlink3.mk"
.include "../../x11/xtrans/buildlink3.mk"
+.include "../../fonts/font-util/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
+.include "../../sysutils/dbus/buildlink3.mk"
+.include "../../x11/xkbcomp/buildlink3.mk"
diff --git a/modular-xorg-server-dfbsd/PLIST b/modular-xorg-server-dfbsd/PLIST
index 7fb292a14e..37e2f55139 100644
--- a/modular-xorg-server-dfbsd/PLIST
+++ b/modular-xorg-server-dfbsd/PLIST
@@ -34,7 +34,7 @@ include/xorg/dixgrabs.h
include/xorg/dixstruct.h
${PLIST.dri}include/xorg/dri.h
${PLIST.dri}include/xorg/dri2.h
-${PLIST.dri3}include/xorg/dri3.h
+${PLIST.dri}include/xorg/dri3.h
${PLIST.dri}include/xorg/dristruct.h
include/xorg/edid.h
include/xorg/events.h
@@ -169,18 +169,30 @@ include/xorg/xserver_poll.h
include/xorg/xvdix.h
include/xorg/xvmcext.h
lib/pkgconfig/xorg-server.pc
-${PLIST.dri}lib/xorg/modules/drivers/modesetting_drv.la
-${PLIST.dri}lib/xorg/modules/extensions/libglx.la
-lib/xorg/modules/libexa.la
-lib/xorg/modules/libfb.la
-lib/xorg/modules/libfbdevhw.la
-${PLIST.dri}lib/xorg/modules/libglamoregl.la
-lib/xorg/modules/libint10.la
-lib/xorg/modules/libshadow.la
-lib/xorg/modules/libshadowfb.la
-lib/xorg/modules/libvbe.la
-lib/xorg/modules/libvgahw.la
-lib/xorg/modules/libwfb.la
+@comment ${PLIST.dri}lib/xorg/modules/drivers/modesetting_drv.la
+@comment ${PLIST.dri}lib/xorg/modules/extensions/libglx.la
+@comment lib/xorg/modules/libexa.la
+@comment lib/xorg/modules/libfb.la
+@comment lib/xorg/modules/libfbdevhw.la
+@comment ${PLIST.dri}lib/xorg/modules/libglamoregl.la
+@comment lib/xorg/modules/libint10.la
+@comment lib/xorg/modules/libshadow.la
+@comment lib/xorg/modules/libshadowfb.la
+@comment lib/xorg/modules/libvbe.la
+@comment lib/xorg/modules/libvgahw.la
+@comment lib/xorg/modules/libwfb.la
+${PLIST.dri}lib/xorg/modules/drivers/modesetting_drv.so
+${PLIST.dri}lib/xorg/modules/extensions/libglx.so
+lib/xorg/modules/libexa.so
+lib/xorg/modules/libfb.so
+lib/xorg/modules/libfbdevhw.so
+${PLIST.dri}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
man/man1/Xnest.1
man/man1/Xorg.1
@@ -193,6 +205,7 @@ man/man4/fbdevhw.4
${PLIST.dri}man/man4/modesetting.4
man/man5/xorg.conf.5
man/man5/xorg.conf.d.5
+share/X11/xorg.conf.d/10-quirks.conf
share/aclocal/xorg-server.m4
${PLIST.dtrace}share/doc/xorg-server/Xserver-DTrace.xml
@pkgdir lib/xorg/modules/input
diff --git a/modular-xorg-server-dfbsd/TODO b/modular-xorg-server-dfbsd/TODO
index ff35145371..1dcee4e566 100644
--- a/modular-xorg-server-dfbsd/TODO
+++ b/modular-xorg-server-dfbsd/TODO
@@ -7,3 +7,21 @@ to be accepted.
Port devd patches for 1.19.6 that have not been merged
into FreeBSD ports, supports evdev.
+
+Get modular-xorg-xephyr to build again.
+
+Get xf86-video-nv, xf86-video-vmware to build again.
+
+See what needs to be ported for hw/xfree86/common/compiler.h for arm
+on NetBSD
+
+In hw/xfree86/common/xf86AutoConfig.c, does NetBSD or any non-linux
+use fbdev
+
+Can wskbd be used on NetBSD modesetting like it can be for OpenBSD
+
+Does NetBSD still need the old Xpoll.h fixes
+
+Does NetBSD need -noretro options
+
+RRSetChanged in randr/randrstr.h does not seem to need to be exported
diff --git a/modular-xorg-server-dfbsd/distinfo b/modular-xorg-server-dfbsd/distinfo
index c614b80fe2..83ac45038f 100644
--- a/modular-xorg-server-dfbsd/distinfo
+++ b/modular-xorg-server-dfbsd/distinfo
@@ -1,32 +1,53 @@
-$NetBSD: distinfo,v 1.92 2018/10/26 10:20:12 maya Exp $
+$NetBSD: distinfo,v 1.94 2019/02/28 12:32:39 tnn Exp $
-SHA1 (xorg-server-1.20.3.tar.bz2) = a522cd543606b4d0509d821b8061904951171c50
-RMD160 (xorg-server-1.20.3.tar.bz2) = a57a7e3d0d2e3c84f4743de6890c7d26b502e7a1
-SHA512 (xorg-server-1.20.3.tar.bz2) = ee44554f86df4297f54c5871fe7a18954eeef4338775a25f36d6577b279c4775f61128da71b86cfaeadcc080838d6749dede138d4db178866579da2056543fba
-Size (xorg-server-1.20.3.tar.bz2) = 6205000 bytes
+SHA1 (xorg-server-1.20.5.tar.bz2) = fea6fd34c7f48b3c69fbecd8fb294eaa1498e69c
+RMD160 (xorg-server-1.20.5.tar.bz2) = 4b8c60978045bff8974524180e59b070fb1f1dec
+SHA512 (xorg-server-1.20.5.tar.bz2) = 625f0626b122cf95600abe382c3217348999357a0e2d2443092f1b67cff1c98d7ef09303884ceaeac181e0555dc56b0d4d44bda45cc464dac2d9a50c5b32d631
+Size (xorg-server-1.20.5.tar.bz2) = 6126757 bytes
+SHA1 (patch-Xext_xf86bigfont.c) = 0d8b9f84f3441764d990c0d7ee41dc34e5430cde
SHA1 (patch-config_config-backends.h) = f44868caa51e972a76949f73ac6083640af2c351
SHA1 (patch-config_config.c) = 5a3fe4cb6c2170335ab547f438386cff77a9c152
-SHA1 (patch-config_devd.c) = f90ca44c3ebfab5a848ab027d90101451a0f4042
-SHA1 (patch-configure) = 88707ff2b12acd81b1ec1a183a71b1141273f7b5
+SHA1 (patch-config_devd.c) = 6d29e3ecc0e31401a9eff88c56c7a961ca76bc65
+SHA1 (patch-config_meson.build) = 3d70b7c70994245a4527a51d0a0e00bcb0476422
+SHA1 (patch-config_wscons.c) = 7e513be454f5f1ad2ecd89fc1a6413a6b463fe5b
SHA1 (patch-glamor_glamor__egl.c) = 8057778a5f0fd03c3ecd1191cff9123310396a1f
-SHA1 (patch-hw_xfree86_common_xf86AutoConfig.c) = 61c72780a65d423965225a2dd2206bcf2264c89f
-SHA1 (patch-hw_xfree86_common_xf86Config.c) = bcb413a2211ddcde0728a368e313bea841e03828
+SHA1 (patch-glx_glxscreens.h) = 209411cda660c1a84b7b4f6e40c93cced4d3a8d7
+SHA1 (patch-hw_xfree86_common_xf86AutoConfig.c) = 308e9d76f43aaa9181dcebd6108b01b42dd1bd37
+SHA1 (patch-hw_xfree86_common_xf86Config.c) = 1d81213fa85ad5f429337510bdccaf5cd2100814
+SHA1 (patch-hw_xfree86_common_xf86Configure.c) = a59985ee7075f25378bb62b590e73f4537743f8c
SHA1 (patch-hw_xfree86_common_xf86Globals.c) = da35eb1c437eaffce0b8f8a3964e3a75631d8a73
+SHA1 (patch-hw_xfree86_common_xf86Helper.c) = 52a30f00fb95ee433ed6ba3b72073f3fc32259bd
SHA1 (patch-hw_xfree86_common_xf86Xinput.c) = 5ad0c36fe68f87c853ac084640269e3b8f9370c9
-SHA1 (patch-hw_xfree86_common_xf86pciBus.c) = 896825ba12646431cba603938d118acbdde305dd
+SHA1 (patch-hw_xfree86_common_xf86pciBus.c) = 912d0f6a89e6123b12346b38bb15c520aa9751e7
SHA1 (patch-hw_xfree86_common_xf86sbusBus.h) = f56f87336b2f669413ebb1005a2b64568a111f92
+SHA1 (patch-hw_xfree86_common_xf86str.h) = 651752e7367fd3440879239a044b45dbb94870cb
+SHA1 (patch-hw_xfree86_common_xf86xv.h) = e96f7085d6f0a6f6735b87dbb7b3bfaabb5e49f3
SHA1 (patch-hw_xfree86_dri2_dri2.c) = 475ea1956f2e71d684cf1e5a8a68b30279959a04
-SHA1 (patch-hw_xfree86_drivers_modesetting_drmmode__display.c) = 61735de44b0579d0a3d2bfb0d91c72c365d1b93f
+SHA1 (patch-hw_xfree86_drivers_modesetting_drmmode__display.c) = c7ef32165328addf6360f9482b6fd0e2ae041b98
+SHA1 (patch-hw_xfree86_int10_helper__exec.c) = cad89a98a29ab2a97b6ed81f65a9deb71db94455
SHA1 (patch-hw_xfree86_modes_xf86Cursors.c) = bd9870edb1196a4d2eab49b2d13fbe6eefbe4c09
SHA1 (patch-hw_xfree86_os-support_bsd_arm__video.c) = 9c03b24f44eafc5fabe27e9d6cc6c54b607e47c3
-SHA1 (patch-hw_xfree86_os-support_bsd_bsd__VTsw.c) = 90343f694c27a6fdd5070e1167687943bd056a99
-SHA1 (patch-hw_xfree86_os-support_bsd_bsd__init.c) = 0180a25df158ce3716071882fbb55cff9fe8e5ff
+SHA1 (patch-hw_xfree86_os-support_bsd_bsd__VTsw.c) = 1c0e8c67885397e1b41da5a2ba10a29e1e5175f3
+SHA1 (patch-hw_xfree86_os-support_bsd_bsd__init.c) = 6355e00bbfdb3ac92ee1c65d6a5308aa623aa076
SHA1 (patch-hw_xfree86_os-support_bsd_i386__video.c) = 68889e3ae80b9536d82909855ec7156caa928374
SHA1 (patch-hw_xfree86_os-support_bsd_ppc__video.c) = 2f5126ee47cbd66c0241e8fbf66c8af363e01fd7
SHA1 (patch-hw_xfree86_os-support_bus_Sbus.c) = 0035b970bdae1bab51b8ca6bfeed060ec4df3a60
+SHA1 (patch-hw_xfree86_os-support_meson.build) = b91dfc27341c1816f4e529d311a7d1cf56387db6
SHA1 (patch-hw_xfree86_os-support_solaris_solaris-amd64.S) = 088a3118deb7567194e08dd46e34cb6edba38400
SHA1 (patch-hw_xfree86_os-support_xf86_OSproc.h) = e1c049857893d2f050d5fb297a3e8ef86f0b1d7e
SHA1 (patch-hw_xfree86_os_support_bus_xf86Sbus.h) = 0e0a243b737f8f762c9f8f24a2265d1b6aefb544
+SHA1 (patch-hw_xfree86_parser_Device.c) = ad2f60aa97e649937e7071164d8911c351dc040c
+SHA1 (patch-hw_xfree86_parser_xf86Parser.h) = 64993ddaaaaebcff4d67c0257043eea343d4c8a0
+SHA1 (patch-hw_xfree86_vgahw_vgaHW.h) = a95ca014029bbdb47a561c21530509e38e2b8bf4
SHA1 (patch-hw_xfree86_xorg-wrapper.c) = d1178c088307cd3781f8989522bab570b551ff55
+SHA1 (patch-include_displaymode.h) = a9b26c7074652d0cc4b5b8000cf184148872db45
+SHA1 (patch-include_glx__extinit.h) = 15c2ffd9a029b31bcff879d978fd161b293780fd
+SHA1 (patch-include_meson.build) = e95975e01ebb56d74a5dcb421e54545c1a3a29be
+SHA1 (patch-include_os.h) = a91e911f3cc1f6374d61cd83033a6d5bef102e6d
+SHA1 (patch-meson.build) = ca054971f140966189952da69621da919c167da9
+SHA1 (patch-meson__options.txt) = 1ad0114a7a7944a388184560bb9330747e457d7b
+SHA1 (patch-os_utils.c) = b5e456e640671e191165957e83a4c31f4ce790c4
SHA1 (patch-randr_randr.c) = eb44a07770ca7308d706aa2324408bb8c6c6b7ba
+SHA1 (patch-randr_randrstr.h) = 1f6642c0494f5c23c9c20b99f2bd574986323d35
SHA1 (patch-randr_rrlease.c) = 82ace923fe7b65f4cf1be2ff243eabd886f3109e
+SHA1 (patch-test_xtest.c) = 77622ef481e91e64b3a6dd64b8579404f33ec88f
diff --git a/modular-xorg-server-dfbsd/options.mk b/modular-xorg-server-dfbsd/options.mk
index 633a0be575..20e4011e42 100644
--- a/modular-xorg-server-dfbsd/options.mk
+++ b/modular-xorg-server-dfbsd/options.mk
@@ -2,49 +2,92 @@
PKG_OPTIONS_VAR= PKG_OPTIONS.modular-xorg-server
PKG_SUPPORTED_OPTIONS= inet6 debug dtrace
-PKG_SUPPORTED_OPTIONS+= revert_flink
-PKG_SUPPORTED_OPTIONS+= revert_randr_lease
-PKG_SUPPORTED_OPTIONS+= allow_unprivileged
PKG_SUGGESTED_OPTIONS= inet6
+.if ${X11_TYPE} == "modular"
+PKG_SUPPORTED_OPTIONS+= dri
+PKG_SUGGESTED_OPTIONS+= dri
+.endif
+
+PKG_SUPPORTED_OPTIONS+= devd
+PKG_SUPPORTED_OPTIONS+= xkb_evdev
+
+PKG_SUPPORTED_OPTIONS+= revert_flink
+PKG_SUPPORTED_OPTIONS+= revert_randr_lease
+PKG_SUPPORTED_OPTIONS+= add_scfb_driver
+PKG_SUPPORTED_OPTIONS+= add_modesetting_driver
+
+PKG_SUPPORTED_OPTIONS+= allow_unprivileged
+PKG_SUPPORTED_OPTIONS+= vtsw_kdsetmode_xsrc
+PKG_SUPPORTED_OPTIONS+= always_add_wsfb
+PKG_SUPPORTED_OPTIONS+= sharevts_xsrc_netbsd
+PKG_SUPPORTED_OPTIONS+= strict_xsrc_netbsd
+
+PKG_SUPPORTED_OPTIONS+= modesetting_on_intel
+PKG_SUPPORTED_OPTIONS+= try_dev_wskbd
+
+PKG_SUPPORTED_OPTIONS+= ws_drivers_openbsd
+
+.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
+PKG_SUGGESTED_OPTIONS+= devd
+.endif
.if ${OPSYS} == "DragonFly"
PKG_SUGGESTED_OPTIONS+= revert_flink
PKG_SUGGESTED_OPTIONS+= revert_randr_lease
.endif
+# Add scfb driver in xf86AutoConfig.c
+.if ${OPSYS} == "FreeBSD"
+PKG_SUGGESTED_OPTIONS+= add_scfb_driver
+.endif
+
+# Add modesetting driver in xf86AutoConfig.c
+.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
+PKG_SUGGESTED_OPTIONS+= add_modesetting_driver
+.endif
+
.if ${OPSYS} == "NetBSD"
PKG_SUGGESTED_OPTIONS+= allow_unprivileged
.endif
-PKG_SUPPORTED_OPTIONS+= devd
-.if ${OPSYS} == "FreeBSD" || ${OPSYS} == "DragonFly"
-PKG_SUGGESTED_OPTIONS+= devd
+.if ${OPSYS} == "NetBSD"
+PKG_SUGGESTED_OPTIONS+= vtsw_kdsetmode_xsrc
.endif
-.if ${X11_TYPE} == "modular"
-PKG_SUPPORTED_OPTIONS+= dri
-PKG_SUGGESTED_OPTIONS+= dri
-PKG_SUPPORTED_OPTIONS+= dri3
-# dri3 requires kernel support for dma_buf
-. if ${OPSYS} == "Linux"
-PKG_SUGGESTED_OPTIONS+= dri3
-. endif
+.if ${OPSYS} == "NetBSD"
+PKG_SUGGESTED_OPTIONS+= always_add_wsfb
+.endif
+
+.if ${OPSYS} == "NetBSD"
+PKG_SUGGESTED_OPTIONS+= sharevts_xsrc_netbsd
+.endif
+
+.if ${OPSYS} == "NetBSD"
+PKG_SUGGESTED_OPTIONS+= strict_xsrc_netbsd
+.endif
+
+# Patch from OpenBSD to aggressively use the modesetting driver on intel integrated graphics
+# .if ${OPSYS} == "OpenBSD" || ${OPSYS} == "NetBSD"
+.if ${OPSYS} == "OpenBSD"
+PKG_SUGGESTED_OPTIONS+= modesetting_on_intel
+.endif
+
+# From NetBSD 1.20.4 but extended to amd64 and i386
+# .if ${OPSYS} == "NetBSD"
+# PKG_SUGGESTED_OPTIONS+= try_dev_wskbd
+# .endif
+
+# From OpenBSD 6.5 xenocara xserver 1.19.7
+# .if ${OPSYS} == "OpenBSD" || ${OPSYS} == "NetBSD"
+.if ${OPSYS} == "OpenBSD"
+PKG_SUGGESTED_OPTIONS+= ws_drivers_openbsd
.endif
.include "../../mk/bsd.options.mk"
PLIST_VARS+= dri dtrace
-PLIST_VARS+= dri3
.if !empty(PKG_OPTIONS:Mdri)
-
-. if !empty(PKG_OPTIONS:Mdri3)
-CONFIGURE_ARGS+= --enable-dri3
-PLIST.dri3= yes
-. else
-CONFIGURE_ARGS+= --disable-dri3
-. endif
-
.include "../../graphics/libepoxy/buildlink3.mk"
BUILDLINK_API_DEPENDS.MesaLib+= MesaLib>=11
.include "../../graphics/MesaLib/buildlink3.mk"
@@ -54,9 +97,15 @@ BUILDLINK_API_DEPENDS.MesaLib+= MesaLib>=11
PLIST.dri= yes
CONFIGURE_ARGS+= --enable-dri
CONFIGURE_ARGS+= --enable-dri2
+CONFIGURE_ARGS+= --enable-dri3
CONFIGURE_ARGS+= --enable-glx
CONFIGURE_ARGS+= --enable-glamor
CONFIGURE_ARGS+= --enable-present
+MESON_ARGS+= -Ddri1=true
+MESON_ARGS+= -Ddri2=true
+MESON_ARGS+= -Ddri3=true
+MESON_ARGS+= -Dglx=true
+MESON_ARGS+= -Dglamor=true
.else
###
### XXX Perhaps we should allow for a built-in glx without dri enabled?
@@ -67,6 +116,11 @@ CONFIGURE_ARGS+= --disable-dri3
CONFIGURE_ARGS+= --disable-glx
CONFIGURE_ARGS+= --disable-glamor
CONFIGURE_ARGS+= --disable-present
+MESON_ARGS+= -Ddri1=false
+MESON_ARGS+= -Ddri2=false
+MESON_ARGS+= -Ddri3=false
+MESON_ARGS+= -Dglx=false
+MESON_ARGS+= -Dglamor=false
pre-build: disable-modesetting
.PHONY: disable-modesetting
disable-modesetting:
@@ -75,13 +129,16 @@ disable-modesetting:
.if !empty(PKG_OPTIONS:Minet6)
CONFIGURE_ARGS+= --enable-ipv6
+MESON_ARGS+= -Dipv6=true
.else
CONFIGURE_ARGS+= --disable-ipv6
+MESON_ARGS+= -Dipv6=false
.endif
.if !empty(PKG_OPTIONS:Mdebug)
CONFIGURE_ARGS+= --enable-debug
-# Debug flags -O0 -g3 recommended by:
+MESON_ARGS+= --buildtype=debug
+# Debug flags -O0 -g3 recommended by:
# https://www.x.org/wiki/Development/Documentation/ServerDebugging/
# CFLAGS+= -ggdb
CFLAGS+= -O0 -g3
@@ -95,17 +152,25 @@ CONFIGURE_ARGS+= --without-dtrace
.endif
.if !empty(PKG_OPTIONS:Mdevd)
-SUBST_CLASSES+= devd_config
-SUBST_STAGE.devd_config= post-configure
-SUBST_MESSAGE.devd_config= Patching config/Makefile for devd
-SUBST_FILES.devd_config+= config/Makefile
-SUBST_SED.devd_config+= -e 's|config\.c|config.c devd.c|g'
-SUBST_SED.devd_config+= -e 's|config\.lo|config.lo devd.lo|g'
-SUBST_CLASSES+= devd_dix
-SUBST_STAGE.devd_dix= post-configure
-SUBST_MESSAGE.devd_dix= Patching include/dix-config.h for devd
-SUBST_FILES.devd_dix+= include/dix-config.h
-SUBST_SED.devd_dix+= -e 's|/\* \#undef CONFIG_UDEV \*/|\#define CONFIG_DEVD 1 |'
+# SUBST_CLASSES+= devd_config
+# SUBST_STAGE.devd_config= post-configure
+# SUBST_MESSAGE.devd_config= Patching config/Makefile for devd
+# SUBST_FILES.devd_config+= config/Makefile
+# SUBST_SED.devd_config+= -e 's|config\.c|config.c devd.c|g'
+# SUBST_SED.devd_config+= -e 's|config\.lo|config.lo devd.lo|g'
+# SUBST_CLASSES+= devd_dix
+# SUBST_STAGE.devd_dix= post-configure
+# SUBST_MESSAGE.devd_dix= Patching include/dix-config.h for devd
+# SUBST_FILES.devd_dix+= include/dix-config.h
+# SUBST_SED.devd_dix+= -e 's|/\* \#undef CONFIG_UDEV \*/|\#define CONFIG_DEVD 1 |'
+CPPFLAGS+= -DCONFIG_DEVD=1
+MESON_ARGS+= -Ddevd=true
+.endif
+
+.if !empty(PKG_OPTIONS:Mxkb_evdev)
+MESON_ARGS+= -Dxkb_default_rules=evdev
+.else
+MESON_ARGS+= -Dxkb_default_rules=base
.endif
.if !empty(PKG_OPTIONS:Mrevert_flink)
@@ -115,13 +180,51 @@ CPPFLAGS+= -DREVERT_FLINK
.if !empty(PKG_OPTIONS:Mrevert_randr_lease)
CPPFLAGS+= -DREVERT_RANDR_LEASE
-SUBST_CLASSES+= lease
-SUBST_STAGE.lease= post-configure
-SUBST_MESSAGE.lease= Removing definition of XF86_LEASE_VERSION
-SUBST_FILES.lease+= hw/xfree86/modes/xf86Crtc.h
-SUBST_SED.lease+= -e 's|XF86_LEASE_VERSION|REVERT_XF86_LEASE_VERSION|g'
+SUBST_CLASSES+= lease
+SUBST_STAGE.lease= post-configure
+SUBST_MESSAGE.lease= Removing definition of XF86_LEASE_VERSION
+SUBST_FILES.lease+= hw/xfree86/modes/xf86Crtc.h
+SUBST_SED.lease+= -e 's|XF86_LEASE_VERSION|REVERT_XF86_LEASE_VERSION|g'
+.endif
+
+.if !empty(PKG_OPTIONS:Madd_scfb_driver)
+CPPFLAGS+= -DADD_SCFB_DRIVER
+.endif
+
+.if !empty(PKG_OPTIONS:Madd_modesetting_driver)
+CPPFLAGS+= -DADD_MODESETTING_DRIVER
.endif
.if !empty(PKG_OPTIONS:Mallow_unprivileged)
CPPFLAGS+= -DALLOW_UNPRIVILEGED
.endif
+
+.if !empty(PKG_OPTIONS:Mvtsw_kdsetmode_xsrc)
+CPPFLAGS+= -DVTSW_KDSETMODE_XSRC
+.endif
+
+.if !empty(PKG_OPTIONS:Malways_add_wsfb)
+CPPFLAGS+= -DALWAYS_ADD_WSFB
+.endif
+
+.if !empty(PKG_OPTIONS:Msharevts_xsrc_netbsd)
+CPPFLAGS+= -DSHAREVTS_XSRC_NETBSD
+.endif
+
+.if !empty(PKG_OPTIONS:Mstrict_xsrc_netbsd)
+CPPFLAGS+= -DSTRICT_XSRC_NETBSD
+.endif
+
+.if !empty(PKG_OPTIONS:Mmodesetting_on_intel)
+CPPFLAGS+= -DMODESETTING_ON_INTEL
+.endif
+
+.if !empty(PKG_OPTIONS:Mtry_dev_wskbd)
+CPPFLAGS+= -DTRY_DEV_WSKBD
+CPPFLAGS+= -DCONFIG_WSCONS=1
+MESON_ARGS+= -Dwscons=true
+.endif
+
+.if !empty(PKG_OPTIONS:Mws_drivers_openbsd)
+CPPFLAGS+= -DWS_DRIVERS_OPENBSD
+.endif
diff --git a/modular-xorg-server-dfbsd/patches/patch-Xext_xf86bigfont.c b/modular-xorg-server-dfbsd/patches/patch-Xext_xf86bigfont.c
new file mode 100644
index 0000000000..280f544a0b
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-Xext_xf86bigfont.c
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- Xext/xf86bigfont.c.orig 2019-03-05 16:34:21.000000000 +0000
++++ Xext/xf86bigfont.c
+@@ -377,7 +377,11 @@ ProcXF86BigfontQueryFont(ClientPtr clien
+ #ifdef HAS_SHM
+ if (!badSysCall)
+ pDesc = (ShmDescPtr) FontGetPrivate(pFont, FontShmdescIndex);
++#if defined(STRICT_XSRC_NETBSD)
++ if (pDesc && pDesc->attach_addr) {
++#else
+ if (pDesc) {
++#endif
+ pCI = (xCharInfo *) pDesc->attach_addr;
+ if (stuff_flags & XF86Bigfont_FLAGS_Shm)
+ shmid = pDesc->shmid;
diff --git a/modular-xorg-server-dfbsd/patches/patch-config_devd.c b/modular-xorg-server-dfbsd/patches/patch-config_devd.c
index 2320749070..54dfc47224 100644
--- a/modular-xorg-server-dfbsd/patches/patch-config_devd.c
+++ b/modular-xorg-server-dfbsd/patches/patch-config_devd.c
@@ -5,11 +5,13 @@ x11-servers/xorg-server 1.18.4.
Added many debugging statements with DebugF.
+Allow socket to return fd 0
+
Adjust for update to 1.19.6 API.
---- config/devd.c.orig 2018-08-04 04:32:13.580868000 +0000
+--- config/devd.c.orig 2019-07-20 17:30:44.230844000 +0000
+++ config/devd.c
-@@ -0,0 +1,613 @@
+@@ -0,0 +1,616 @@
+/*
+ * Copyright (c) 2012 Baptiste Daroussin
+ * Copyright (c) 2013, 2014 Alex Kozlov
@@ -140,10 +142,13 @@ Adjust for update to 1.19.6 API.
+ return false;
+
+ ret = stat(devpath, &st);
++ if (ret == 0) {
++ DebugF("[config/devd]: devpath_exists true for devpath (%s)\n", devpath);
++ }
++
+ free(devpath);
+
+ if (ret == 0) {
-+ DebugF("[config/devd]: devpath_exists true for devpath (%s)\n", devpath);
+ strncpy(devname, device->driver, devname_len);
+ return true;
+ }
@@ -522,13 +527,13 @@ Adjust for update to 1.19.6 API.
+ char *walk;
+ ssize_t sz;
+
-+ DebugF("[config/devd]: wakeup_handler: sock_devd (%d), sock (%d), ready (%d)\n", sock_devd, sock, ready);
++/* DebugF("[config/devd]: wakeup_handler: sock_devd (%d), sock (%d), ready (%d)\n", sock_devd, sock, ready); */
+
+ sz = socket_getline(sock_devd, &line);
+ if (sz < 0)
+ return;
+ if (sz == 0) {
-+ DebugF("[config/devd]: WARNING wakeup_handler: socket_getline returned zero length line\n", line);
++ DebugF("[config/devd]: WARNING wakeup_handler: socket_getline returned zero length line\n");
+ free(line);
+ return;
+ }
diff --git a/modular-xorg-server-dfbsd/patches/patch-config_meson.build b/modular-xorg-server-dfbsd/patches/patch-config_meson.build
new file mode 100644
index 0000000000..170ba8fb84
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-config_meson.build
@@ -0,0 +1,27 @@
+$NetBSD$
+
+--- config/meson.build.orig 2019-03-13 16:07:36.000000000 +0000
++++ config/meson.build
+@@ -19,10 +19,22 @@ if build_udev
+ config_dep += udev_dep
+ endif
+
++if host_machine.system() == 'netbsd'
++ srcs_config += 'wscons.c'
++endif
++
+ if host_machine.system() == 'openbsd'
+ srcs_config += 'wscons.c'
+ endif
+
++if host_machine.system() == 'dragonfly'
++ srcs_config += 'devd.c'
++endif
++
++if host_machine.system() == 'freebsd'
++ srcs_config += 'devd.c'
++endif
++
+ if build_xorg
+ install_data('10-quirks.conf',
+ install_dir: join_paths(get_option('datadir'), 'X11/xorg.conf.d'))
diff --git a/modular-xorg-server-dfbsd/patches/patch-config_wscons.c b/modular-xorg-server-dfbsd/patches/patch-config_wscons.c
new file mode 100644
index 0000000000..c5b0e92b74
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-config_wscons.c
@@ -0,0 +1,145 @@
+$NetBSD$
+
+Changes from NetBSD xsrc xorg-server 1.20.5.
+
+Patch from OpenBSD xenocara for "ws" driver.
+
+--- config/wscons.c.orig 2019-05-30 18:27:34.000000000 +0000
++++ config/wscons.c
+@@ -25,14 +25,17 @@
+ #include <dix-config.h>
+ #endif
+
+-#include <dev/wscons/wsconsio.h>
+-#include <dev/wscons/wsksymdef.h>
+-
++#include <sys/types.h>
+ #include <sys/ioctl.h>
++#include <sys/time.h>
++#include <fcntl.h>
+ #include <errno.h>
+ #include <string.h>
+ #include <unistd.h>
+
++#include <dev/wscons/wsconsio.h>
++#include <dev/wscons/wsksymdef.h>
++
+ #include "input.h"
+ #include "inputstr.h"
+ #include "os.h"
+@@ -41,6 +44,7 @@
+ #define WSCONS_KBD_DEVICE "/dev/wskbd"
+ #define WSCONS_MOUSE_PREFIX "/dev/wsmouse"
+
++#if defined(KB_LA) && defined(KB_CF)
+ #define KB_OVRENC \
+ { KB_UK, "gb" }, \
+ { KB_SV, "se" }, \
+@@ -48,13 +52,27 @@
+ { KB_SF, "ch" }, \
+ { KB_LA, "latam" }, \
+ { KB_CF, "ca" }
++#else
++#define KB_OVRENC \
++ { KB_UK, "gb" }, \
++ { KB_SV, "se" }, \
++ { KB_SG, "ch" }, \
++ { KB_SF, "ch" }
++#endif
+
+ struct nameint {
+ int val;
+ char *name;
+ } kbdenc[] = {
+ KB_OVRENC,
++#if defined(STRICT_XSRC_NETBSD)
++ KB_ENCTAB
++#ifndef __NetBSD__
++ ,
++#endif
++#else /* !STRICT_XSRC_NETBSD */
+ KB_ENCTAB,
++#endif /* STRICT_XSRC_NETBSD */
+ {0}
+ };
+
+@@ -62,10 +80,14 @@ struct nameint kbdvar[] = {
+ {KB_NODEAD | KB_SG, "de_nodeadkeys"},
+ {KB_NODEAD | KB_SF, "fr_nodeadkeys"},
+ {KB_SF, "fr"},
++#if defined(KB_CF)
+ {KB_DVORAK | KB_CF, "fr-dvorak"},
++#endif
+ {KB_DVORAK | KB_FR, "bepo"},
+ {KB_DVORAK, "dvorak"},
++#if defined(KB_CF)
+ {KB_CF, "fr-legacy"},
++#endif
+ {KB_NODEAD, "nodeadkeys"},
+ {0}
+ };
+@@ -121,8 +143,12 @@ wscons_add_keyboard(void)
+ input_options = input_option_new(input_options, "name", WSCONS_KBD_DEVICE);
+ input_options = input_option_new(input_options, "driver", "kbd");
+
++#if defined(STRICT_XSRC_NETBSD)
++ if (asprintf(&config_info, "wscons:%s", WSCONS_KBD_DEVICE) != -1)
++#else
+ config_info = Xprintf("wscons:%s", WSCONS_KBD_DEVICE);
+ if (!config_info)
++#endif
+ goto unwind;
+ if (KB_ENCODING(wsenc) == KB_USER) {
+ /* Ignore wscons "user" layout */
+@@ -185,8 +211,12 @@ wscons_add_pointer(const char *path, con
+ char *config_info = NULL;
+ int rc;
+
++#if defined(STRICT_XSRC_NETBSD)
++ if (asprintf(&config_info, "wscons:%s", path) == -1)
++#else
+ config_info = Xprintf("wscons:%s", path);
+ if (!config_info)
++#endif
+ return;
+
+ input_options = input_option_new(input_options, "_source", "server/wscons");
+@@ -220,7 +250,11 @@ wscons_add_pointers(void)
+ for (i = 0; i < 4; i++) {
+ snprintf(devname, sizeof(devname), "%s%d", WSCONS_MOUSE_PREFIX, i);
+ LogMessageVerb(X_INFO, 10, "wsmouse: checking %s\n", devname);
+- fd = open_device(devnamem O_RDWR | O_NONBLOCK | O_EXCL);
++#ifdef __NetBSD__
++ fd = open(devname, O_RDWR | O_NONBLOCK | O_EXCL);
++#else
++ fd = open_device(devname, O_RDWR | O_NONBLOCK | O_EXCL);
++#endif
+ if (fd == -1) {
+ LogMessageVerb(X_WARNING, 10, "%s: %s\n", devname, strerror(errno));
+ continue;
+@@ -233,9 +267,11 @@ wscons_add_pointers(void)
+ }
+ close(fd);
+ switch (wsmouse_type) {
++#if defined(WSMOUSE_TYPE_SYNAPTICS)
+ case WSMOUSE_TYPE_SYNAPTICS:
+ wscons_add_pointer(devname, "synaptics", ATTR_TOUCHPAD);
+ break;
++#endif
+ case WSMOUSE_TYPE_TPANEL:
+ wscons_add_pointer(devname, "ws", ATTR_TOUCHSCREEN);
+ break;
+@@ -243,8 +279,13 @@ wscons_add_pointers(void)
+ break;
+ }
+ }
++#if defined(WS_DRIVERS_OPENBSD)
++ /* Add a default entry catching all other mux elements as "ws" */
++ wscons_add_pointer(WSCONS_MOUSE_PREFIX, "ws", ATTR_POINTER);
++#else
+ /* Add a default entry catching all other mux elements as "mouse" */
+ wscons_add_pointer(WSCONS_MOUSE_PREFIX, "mouse", ATTR_POINTER);
++#endif
+ }
+
+ int
diff --git a/modular-xorg-server-dfbsd/patches/patch-configure b/modular-xorg-server-dfbsd/patches/patch-configure
deleted file mode 100644
index df8532fe83..0000000000
--- a/modular-xorg-server-dfbsd/patches/patch-configure
+++ /dev/null
@@ -1,48 +0,0 @@
-$NetBSD: patch-configure,v 1.4 2017/01/28 21:47:55 maya Exp $
-
-Use USE_AMD64_IOPL (actually x86_64_iopl) on NetBSD/amd64.
-(c.f. patch-hw_xfree86_os-support_bsd_i386.c)
-
-for netbsd, force pass pthread configure checks (pthread not needed)
-
-Patches from FreeBSD ports x11-servers/xorg-server 1.18.4:
-
-* Fix xorg-server build on arm64.
-
---- configure.orig 2015-02-10 22:49:52.000000000 +0000
-+++ configure
-@@ -23098,9 +23098,14 @@ $as_echo "#define USE_ALPHA_PIO 1" >>con
- esac
- GLX_ARCH_DEFINES="-D__GLX_ALIGN64 -mieee"
- ;;
-- arm*)
-+ arm*|aarch64*)
- ARM_VIDEO=yes
- DEFAULT_INT10="stub"
-+ case $host_os in
-+ *freebsd*)
-+ $as_echo "#define USE_DEV_IO 1" >>confdefs.h
-+ ;;
-+ esac
- ;;
- i*86)
- I386_VIDEO=yes
-@@ -23140,7 +23145,7 @@ $as_echo "#define USE_DEV_IO 1" >>confde
- $as_echo "#define USE_DEV_IO 1" >>confdefs.h
- ;;
- *netbsd*)
--$as_echo "#define USE_I386_IOPL 1" >>confdefs.h
-+$as_echo "#define USE_AMD64_IOPL 1" >>confdefs.h
-
- SYS_LIBS=-lx86_64
- ;;
-@@ -24948,7 +24953,8 @@ case ${host_os} in
- netbsd*)
- # use libc stubs, don't link against libpthread, to allow
- # dynamic loading
-- ax_pthread_flags=""
-+ ax_pthread_flags="none"
-+ ax_pthread_ok="yes"
- ;;
- esac
-
diff --git a/modular-xorg-server-dfbsd/patches/patch-glx_glxscreens.h b/modular-xorg-server-dfbsd/patches/patch-glx_glxscreens.h
new file mode 100644
index 0000000000..2dce18e9d4
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-glx_glxscreens.h
@@ -0,0 +1,21 @@
+$NetBSD$
+
+From NetBSD xsrc 1.20.5
+
+--- glx/glxscreens.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ glx/glxscreens.h
+@@ -116,7 +116,14 @@ GLint glxConvertToXVisualType(int visual
+ ** and DDX layers of the GLX server extension. The methods provide an
+ ** interface for context management on a screen.
+ */
++#if defined(__NetBSD__)
++#ifndef __GLXscreen
++#define __GLXscreen __GLXscreen
+ typedef struct __GLXscreen __GLXscreen;
++#endif
++#else
++typedef struct __GLXscreen __GLXscreen;
++#endif
+ struct __GLXscreen {
+ void (*destroy) (__GLXscreen * screen);
+
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86AutoConfig.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86AutoConfig.c
index a019dacd4c..16e4991ecf 100644
--- a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86AutoConfig.c
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86AutoConfig.c
@@ -1,39 +1,130 @@
$NetBSD: patch-hw_xfree86_common_xf86AutoConfig.c,v 1.3 2018/10/26 10:20:12 maya Exp $
+Patches from NetBSD xsrc 1.20.5:
+
+Apr 13 16:00:38 2011 UTC
+
+- get platform #ifdefs in a slightly more sane order
+- look for SBus and UPA devices on sparc(64)
+- add default drivers for shark and sgimips
+- only try wsfb if we can't find any other usable device
+With this Xorg without config file works fine on shark, sparc(74) and amd64
+should work on other archs as well.
+
+Jan 28 11:50:00 2019
+
+Try the modesetting driver before wsfb on NetBSD arm and aarch64
+
Patches from FreeBSD ports /DragonFly dports for x11-servers/xorg-server 1.18.4.
+Add option for modesetting driver.
+
+Add option for scfb driver.
+
+NetBSD pkgsrc:
Look for wsfb on netbsd (needed by genfb)
---- hw/xfree86/common/xf86AutoConfig.c.orig 2018-10-25 14:13:21.000000000 +0000
+--- hw/xfree86/common/xf86AutoConfig.c.orig 2019-05-30 18:27:34.000000000 +0000
+++ hw/xfree86/common/xf86AutoConfig.c
-@@ -294,7 +294,7 @@ listPossibleVideoDrivers(XF86MatchedDriv
+@@ -51,6 +51,13 @@
+ #include <ctype.h>
+ #endif
+
++#ifdef __NetBSD__
++#if defined(__sparc__) || defined(__sparc64__)
++#include <dev/sun/fbio.h>
++extern struct sbus_devtable sbusDeviceTable[];
++#endif /* sparc / sparc64 */
++#endif /* NetBSD */
++
+ /* Sections for the default built-in configuration. */
+
+ #define BUILTIN_DEVICE_NAME \
+@@ -229,6 +236,46 @@ listPossibleVideoDrivers(XF86MatchedDriv
+ {
+ md->nmatches = 0;
+
++/* XXXMRG: xorg-server 1.10/1.18 -- merge into xf86PlatformMatchDriver()? */
++#ifdef __NetBSD__
++#if defined(__shark)
++ xf86AddMatchedDriver(md, "chips");
++ xf86AddMatchedDriver(md, "igs");
++#elif defined(__sgimips)
++ xf86AddMatchedDriver(md, "crime");
++ xf86AddMatchedDriver(md, "newport");
++#elif defined(__sparc) || defined(__sparc64)
++ /* dig through /dev/fb* */
++ {
++ struct fbtype fbt;
++ int j = 0, fd = 0, dev;
++ char fbpath[32];
++
++ for (j = 0; j < 10; j++) {
++ snprintf(fbpath, 31, "/dev/fb%d", j);
++ xf86Msg(X_ERROR,"%s: trying %s\n", __func__, fbpath);
++ fd = open(fbpath, O_RDONLY, 0);
++ if (fd == -1) continue;
++ memset(&fbt, 0, sizeof(fbt));
++ if (ioctl(fd, FBIOGTYPE, &fbt) == -1) {
++ close(fd);
++ continue;
++ }
++ close(fd);
++ dev = 0;
++ while ((sbusDeviceTable[dev].fbType != 0) &&
++ (sbusDeviceTable[dev].fbType != fbt.fb_type))
++ dev++;
++ if (sbusDeviceTable[dev].fbType == fbt.fb_type) {
++ xf86Msg(X_ERROR,"%s: found %s\n", __func__,
++ sbusDeviceTable[dev].driverName);
++ xf86AddMatchedDriver(md, sbusDeviceTable[dev].driverName);
++ }
++ }
++ }
++#endif
++
++#else /* !NetBSD */
+ #ifdef XSERVER_PLATFORM_BUS
+ xf86PlatformMatchDriver(md);
+ #endif
+@@ -290,20 +337,27 @@ listPossibleVideoDrivers(XF86MatchedDriv
+ if (sbusDriver)
+ xf86AddMatchedDriver(md, sbusDriver);
+ #endif
++#endif /* NetBSD */
+ #ifdef XSERVER_LIBPCIACCESS
xf86PciMatchDriver(md);
#endif
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__FreeBSD__) || defined(__DragonFly__)
+ #if defined(__linux__)
xf86AddMatchedDriver(md, "modesetting");
++#elif defined(__NetBSD__) && (defined(__aarch64__) || defined(__arm__))
++ xf86AddMatchedDriver(md, "modesetting");
++#elif defined(ADD_MODESETTING_DRIVER)
++ xf86AddMatchedDriver(md, "modesetting");
#endif
-@@ -302,8 +302,10 @@ listPossibleVideoDrivers(XF86MatchedDriv
+ #if !defined(__sun)
/* Fallback to platform default frame buffer driver */
#if !defined(__linux__) && defined(__sparc__)
xf86AddMatchedDriver(md, "wsfb");
-#else
+#elif defined(__linux__)
xf86AddMatchedDriver(md, "fbdev");
-+#elif defined(__FreeBSD__)
++#elif defined(ADD_SCFB_DRIVER)
+ xf86AddMatchedDriver(md, "scfb");
#endif
#endif /* !__sun */
-@@ -313,6 +315,9 @@ listPossibleVideoDrivers(XF86MatchedDriv
+@@ -312,6 +366,11 @@ listPossibleVideoDrivers(XF86MatchedDriv
+ xf86AddMatchedDriver(md, "vesa");
#elif defined(__sparc__) && !defined(__sun)
xf86AddMatchedDriver(md, "sunffb");
- #endif
-+#if defined(__NetBSD__)
++#elif defined(__NetBSD__) && !defined(ALWAYS_ADD_WSFB)
+ xf86AddMatchedDriver(md, "wsfb");
+#endif
++#if defined(__NetBSD__) && defined(ALWAYS_ADD_WSFB)
++ xf86AddMatchedDriver(md, "wsfb");
+ #endif
}
- /* copy a screen section and enter the desired driver
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Config.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Config.c
index b888c06b04..4bf21d4499 100644
--- a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Config.c
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Config.c
@@ -1,11 +1,52 @@
$NetBSD$
+Option for "ws" from openbsd xenocara 1.19.7
+
+From NetBSD xsrc:
+
+Oct 22 15:00:40 2011
+
+if the video driver is "vmware" or "vmwlegacy" and no mouse section exists,
+use the "vmmouse" input driver instead of "mouse" -- no xorg works properly
+in vmware without a config file
+
devd support to detect devices from FreeBSD ports / DragonFly dports
x11-servers/xorg-server 1.18.4.
---- hw/xfree86/common/xf86Config.c.orig 2017-01-05 21:19:31.000000000 +0000
+--- hw/xfree86/common/xf86Config.c.orig 2019-05-30 18:27:34.000000000 +0000
+++ hw/xfree86/common/xf86Config.c
-@@ -1375,13 +1375,16 @@ checkCoreInputDevices(serverLayoutPtr se
+@@ -1024,7 +1024,11 @@ checkCoreInputDevices(serverLayoutPtr se
+ MessageType from = X_DEFAULT;
+
+ const char *mousedrivers[] = { "mouse", "synaptics", "evdev", "vmmouse",
++#if defined(WS_DRIVERS_OPENBSD)
++ "ws", "void", NULL
++#else
+ "void", NULL
++#endif
+ };
+
+ /*
+@@ -1115,7 +1119,18 @@ checkCoreInputDevices(serverLayoutPtr se
+ if (!foundPointer && xf86Info.forceInputDevices) {
+ memset(&defPtr, 0, sizeof(defPtr));
+ defPtr.inp_identifier = strdup("<default pointer>");
++#if defined(__NetBSD__) && (defined(__i386__) || defined(__amd64__))
++ if (xf86findDeviceByDriver("vmware", xf86configptr->conf_device_lst) ||
++ xf86findDeviceByDriver("vmwlegacy", xf86configptr->conf_device_lst)) {
++ defPtr.inp_driver = strdup("vmmouse");
++ defPtr.inp_option_lst = xf86addNewOption(defPtr.inp_option_lst, strdup("Protocol"), "wsmouse");
++ defPtr.inp_option_lst = xf86addNewOption(defPtr.inp_option_lst, strdup("Device"), "/dev/wsmouse");
++ } else {
++#endif
+ defPtr.inp_driver = strdup("mouse");
++#if defined(__NetBSD__) && (defined(__i386__) || defined(__amd64__))
++ }
++#endif
+ confInput = &defPtr;
+ foundPointer = TRUE;
+ from = X_DEFAULT;
+@@ -1264,13 +1279,16 @@ checkCoreInputDevices(serverLayoutPtr se
}
if (!xf86Info.forceInputDevices && !(foundPointer && foundKeyboard)) {
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Configure.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Configure.c
new file mode 100644
index 0000000000..dbe5f5b691
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Configure.c
@@ -0,0 +1,45 @@
+$NetBSD$
+
+Patches from NetBSD xsrc 1.20.5
+
+Option for wskbd.
+
+--- hw/xfree86/common/xf86Configure.c.orig 2019-05-30 18:27:34.000000000 +0000
++++ hw/xfree86/common/xf86Configure.c
+@@ -100,6 +100,10 @@ xf86AddBusDeviceToConfigure(const char *
+ ret = xf86SbusConfigure(busData, DevToConfig[i].sVideo);
+ break;
+ #endif
++#if (defined(__arm32__) || defined(__arm__)) && defined(__NetBSD__)
++ case BUS_ISA:
++ break;
++#endif
+ default:
+ return NULL;
+ }
+@@ -138,6 +142,12 @@ xf86AddBusDeviceToConfigure(const char *
+ &DevToConfig[i].GDev);
+ break;
+ #endif
++#if (defined(__arm32__) || defined(__arm__)) && defined(__NetBSD__)
++ case BUS_ISA:
++ DevToConfig[i].GDev.busID = xnfalloc(6);
++ strcpy((char *)DevToConfig[i].GDev.busID, "ISA");
++ break;
++#endif
+ default:
+ break;
+ }
+@@ -163,6 +173,12 @@ configureInputSection(void)
+ ptr->inp_identifier = xnfstrdup("Keyboard0");
+ ptr->inp_driver = xnfstrdup("kbd");
+ ptr->list.next = NULL;
++#if defined(WSCONS_SUPPORT) && ((!defined(__i386__) && !defined(__amd64__) && defined(__NetBSD__)) || defined(TRY_DEV_WSKBD))
++ ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
++ xstrdup("Protocol"), "wskbd");
++ ptr->inp_option_lst = xf86addNewOption(ptr->inp_option_lst,
++ xstrdup("Device"), "/dev/wskbd");
++#endif
+
+ /* Crude mechanism to auto-detect mouse (os dependent) */
+ {
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Helper.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Helper.c
new file mode 100644
index 0000000000..83b92b297f
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86Helper.c
@@ -0,0 +1,23 @@
+$NetBSD$
+
+--- hw/xfree86/common/xf86Helper.c.orig 2019-03-05 16:34:21.000000000 +0000
++++ hw/xfree86/common/xf86Helper.c
+@@ -1281,6 +1281,18 @@ xf86MatchDevice(const char *drivername,
+ if (sectlist)
+ *sectlist = NULL;
+
++#if defined(STRICT_XSRC_NETBSD)
++ /*
++ * 20111009 jmcneill: This line was removed with the following commit upstream:
++ * http://cgit.freedesktop.org/xorg/xserver/commit/hw/xfree86/common/xf86Helper.c?id=0ceac6f64f5ad9bc2ac4b19be2dd245ffba78b05
++ *
++ * However, the log message is inaccurate: xf86MatchDevice will get called at
++ * configuration time by drivers who still implement the legacy probing
++ * API.
++ */
++ if (xf86DoConfigure && xf86DoConfigurePass1) return 1;
++#endif
++
+ /*
+ * This can happen when running Xorg -showopts and a module like ati
+ * or vmware tries to load its submodules when xf86ConfigLayout is empty
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86pciBus.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86pciBus.c
index 4ec8433d68..6bf95c00e9 100644
--- a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86pciBus.c
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86pciBus.c
@@ -1,15 +1,46 @@
$NetBSD: patch-hw_xfree86_common_xf86pciBus.c,v 1.1 2016/11/04 01:12:51 maya Exp $
-NetBSD also has nouveau, try to autoload it
+From OpenBSD 6.5 xenocara,
+experiment using modesetting on Intel integrated graphics
---- hw/xfree86/common/xf86pciBus.c.orig 2016-07-15 16:18:11.000000000 +0000
+--- hw/xfree86/common/xf86pciBus.c.orig 2019-03-05 16:34:21.000000000 +0000
+++ hw/xfree86/common/xf86pciBus.c
-@@ -1189,7 +1189,7 @@ xf86VideoPtrToDriverList(struct pci_devi
- {
- int idx = 0;
-
--#ifdef __linux__
-+#if defined(__linux__) || defined(__NetBSD__)
- driverList[idx++] = "nouveau";
- #endif
- driverList[idx++] = "nv";
+@@ -1174,9 +1174,38 @@ xf86VideoPtrToDriverList(struct pci_devi
+ case 0x0bef:
+ /* Use fbdev/vesa driver on Oaktrail, Medfield, CDV */
+ break;
++#if defined(MODESETTING_ON_INTEL)
++ case 0x3577:
++ case 0x2562:
++ case 0x3582:
++ case 0x358e: /* 854 */
++ case 0x2572:
++ case 0x2582:
++ case 0x258a:
++ case 0x2592:
++ case 0x2772:
++ case 0x27a2:
++ case 0x27ae:
++ case 0x2972:
++ case 0x29b2:
++ case 0x29c2:
++ case 0x29d2:
++ case 0xa001:
++ case 0xa011:
++ case 0x0042: /* XXX Ironlake is unstable with modesetting */
++ case 0x0046:
++ /* Use intel driver on 2nd and 3rd generation */
++ driverList[0] = "intel";
++ break;
++ default:
++ /* Use modesetting driver on 4th generation and up */
++ driverList[0] = "modesetting";
++ break;
++#else
+ default:
+ driverList[0] = "intel";
+ break;
++#endif
+ }
+ break;
+ case 0x102b:
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86str.h b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86str.h
new file mode 100644
index 0000000000..d01d93c101
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86str.h
@@ -0,0 +1,14 @@
+$NetBSD$
+
+--- hw/xfree86/common/xf86str.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ hw/xfree86/common/xf86str.h
+@@ -261,6 +261,9 @@ typedef enum {
+ BUS_NONE,
+ BUS_PCI,
+ BUS_SBUS,
++#if defined(__NetBSD__)
++ BUS_ISA,
++#endif
+ BUS_PLATFORM,
+ BUS_last /* Keep last */
+ } BusType;
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86xv.h b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86xv.h
new file mode 100644
index 0000000000..2a26f480cf
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_common_xf86xv.h
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- hw/xfree86/common/xf86xv.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ hw/xfree86/common/xf86xv.h
+@@ -106,7 +106,11 @@ typedef enum {
+
+ typedef struct {
+ int id;
++#if defined(__NetBSD__)
++ /*const*/ char *name; /* dozens of drivers write to this value */
++#else
+ const char *name;
++#endif
+ unsigned short width, height;
+ XvRationalRec rate;
+ } XF86VideoEncodingRec, *XF86VideoEncodingPtr;
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_drivers_modesetting_drmmode__display.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_drivers_modesetting_drmmode__display.c
index 0bea7afcea..816e2f3d06 100644
--- a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_drivers_modesetting_drmmode__display.c
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_drivers_modesetting_drmmode__display.c
@@ -1,14 +1,58 @@
$NetBSD$
+Patches from NetBSD xsrc:
+
+Oct 7 15:43:38 2016 UTC
+
+CID 1373515: check return value
+
+Oct 7 15:55:36 2016 UTC
+
+CID 1373518: Memory corruption (off-by-one)
+
Option to revert effects of upstream:
2018-02-27 Add RandR leases with modesetting driver support [v6]
commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
---- hw/xfree86/drivers/modesetting/drmmode_display.c.orig 2018-10-15 15:59:33.000000000 +0000
+--- hw/xfree86/drivers/modesetting/drmmode_display.c.orig 2019-05-30 18:27:34.000000000 +0000
+++ hw/xfree86/drivers/modesetting/drmmode_display.c
-@@ -3196,6 +3196,7 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn
+@@ -1754,11 +1754,21 @@ drmmode_set_target_scanout_pixmap_cpu(xf
+ DamageRegister(&ppix->drawable, ppriv->slave_damage);
+
+ if (ppriv->fb_id == 0) {
++#if defined(STRICT_XSRC_NETBSD)
++ int ret = drmModeAddFB(drmmode->fd, ppix->drawable.width,
++#else
+ drmModeAddFB(drmmode->fd, ppix->drawable.width,
++#endif
+ ppix->drawable.height,
+ ppix->drawable.depth,
+ ppix->drawable.bitsPerPixel,
+ ppix->devKind, ppriv->backing_bo->handle, &ppriv->fb_id);
++#if defined(STRICT_XSRC_NETBSD)
++ if (ret) {
++ ErrorF("failed to set scanout pixmap cpu\n");
++ return FALSE;
++ }
++#endif
+ }
+ *target = ppix;
+ return TRUE;
+@@ -2837,7 +2847,11 @@ static int parse_path_blob(drmModeProper
+ if (!conn)
+ return -1;
+ len = conn - (blob_data + 4);
++#if defined(STRICT_XSRC_NETBSD)
++ if (len + 1 >= sizeof(conn_id))
++#else
+ if (len + 1> 5)
++#endif
+ return -1;
+ memcpy(conn_id, blob_data + 4, len);
+ conn_id[len] = '\0';
+@@ -3202,6 +3216,7 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn
return FALSE;
}
@@ -16,7 +60,7 @@ commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
static void
drmmode_validate_leases(ScrnInfoPtr scrn)
{
-@@ -3233,6 +3234,7 @@ drmmode_validate_leases(ScrnInfoPtr scrn
+@@ -3239,6 +3254,7 @@ drmmode_validate_leases(ScrnInfoPtr scrn
free(lessees);
}
@@ -24,7 +68,7 @@ commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
static int
drmmode_create_lease(RRLeasePtr lease, int *fd)
-@@ -3485,8 +3487,10 @@ drmmode_set_desired_modes(ScrnInfoPtr pS
+@@ -3491,8 +3507,10 @@ drmmode_set_desired_modes(ScrnInfoPtr pS
}
}
@@ -35,7 +79,7 @@ commit e4e3447603b5fd3a38a92c3f972396d1f81168ad
return TRUE;
}
-@@ -3693,8 +3697,10 @@ drmmode_handle_uevents(int fd, void *clo
+@@ -3699,8 +3717,10 @@ drmmode_handle_uevents(int fd, void *clo
drmmode_output_init(scrn, drmmode, mode_res, i, TRUE, 0);
}
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_int10_helper__exec.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_int10_helper__exec.c
new file mode 100644
index 0000000000..cd9430132f
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_int10_helper__exec.c
@@ -0,0 +1,33 @@
+$NetBSD$
+
+--- hw/xfree86/int10/helper_exec.c.orig 2019-03-05 16:34:21.000000000 +0000
++++ hw/xfree86/int10/helper_exec.c
+@@ -676,6 +676,7 @@ bios_checksum(const uint8_t *start, int
+ void
+ LockLegacyVGA(xf86Int10InfoPtr pInt, legacyVGAPtr vga)
+ {
++#if !defined(NO_LEGACY_VGA) || !defined(STRICT_XSRC_NETBSD)
+ vga->save_msr = pci_io_read8(pInt->io, 0x03CC);
+ vga->save_vse = pci_io_read8(pInt->io, 0x03C3);
+ #ifndef __ia64__
+@@ -688,17 +689,20 @@ LockLegacyVGA(xf86Int10InfoPtr pInt, leg
+ pci_io_write8(pInt->io, 0x46E8, ~(uint8_t) 0x08 & vga->save_46e8);
+ #endif
+ pci_io_write8(pInt->io, 0x0102, ~(uint8_t) 0x01 & vga->save_pos102);
++#endif /* NO_LEGACY_VGA */
+ }
+
+ void
+ UnlockLegacyVGA(xf86Int10InfoPtr pInt, legacyVGAPtr vga)
+ {
++#if !defined(NO_LEGACY_VGA) || !defined(STRICT_XSRC_NETBSD)
+ pci_io_write8(pInt->io, 0x0102, vga->save_pos102);
+ #ifndef __ia64__
+ pci_io_write8(pInt->io, 0x46E8, vga->save_46e8);
+ #endif
+ pci_io_write8(pInt->io, 0x03C3, vga->save_vse);
+ pci_io_write8(pInt->io, 0x03C2, vga->save_msr);
++#endif /* NO_LEGACY_VGA */
+ }
+
+ #if defined (_PC)
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__VTsw.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__VTsw.c
index b2053bec7e..d267617fb4 100644
--- a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__VTsw.c
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__VTsw.c
@@ -2,13 +2,13 @@ $NetBSD: patch-hw_xfree86_os-support_bsd_bsd__VTsw.c,v 1.1 2015/10/11 18:28:53 t
VT switching support. From xsrc.
---- hw/xfree86/os-support/bsd/bsd_VTsw.c.orig 2015-05-21 14:21:39.000000000 +0000
+--- hw/xfree86/os-support/bsd/bsd_VTsw.c.orig 2019-05-30 18:27:34.000000000 +0000
+++ hw/xfree86/os-support/bsd/bsd_VTsw.c
@@ -68,6 +68,9 @@ xf86VTSwitchAway()
{
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
if (xf86Info.consType == SYSCONS || xf86Info.consType == PCVT) {
-+#ifdef WSCONS_SUPPORT
++#if defined(WSCONS_SUPPORT) && defined(VTSW_KDSETMODE_XSRC)
+ ioctl(xf86Info.consoleFd, KDSETMODE, KD_TEXT);
+#endif
xf86Info.vtRequestsPending = FALSE;
@@ -18,7 +18,7 @@ VT switching support. From xsrc.
{
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
if (xf86Info.consType == SYSCONS || xf86Info.consType == PCVT) {
-+#ifdef WSCONS_SUPPORT
++#if defined(WSCONS_SUPPORT) && defined(VTSW_KDSETMODE_XSRC)
+ ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS);
+#endif
xf86Info.vtRequestsPending = FALSE;
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__init.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__init.c
index 588e43728c..e461b8bcbb 100644
--- a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__init.c
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_bsd_bsd__init.c
@@ -16,7 +16,7 @@ for bug #196678
https://bugs.freebsd.org/bugzilla/attachment.cgi?id=191592&action=diff
---- hw/xfree86/os-support/bsd/bsd_init.c.orig 2018-10-25 14:13:21.000000000 +0000
+--- hw/xfree86/os-support/bsd/bsd_init.c.orig 2019-05-30 18:27:34.000000000 +0000
+++ hw/xfree86/os-support/bsd/bsd_init.c
@@ -48,6 +48,10 @@ static int devConsoleFd = -1;
#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
@@ -90,7 +90,28 @@ https://bugs.freebsd.org/bugzilla/attachment.cgi?id=191592&action=diff
}
else { /* xf86Info.ShareVTs */
close(xf86Info.consoleFd);
-@@ -594,6 +627,10 @@ xf86CloseConsole()
+@@ -529,6 +562,9 @@ xf86OpenPcvt()
+ xf86Msg(X_PROBED, "Using pcvt driver (version %d.%d)\n",
+ pcvt_version.rmajor, pcvt_version.rminor);
+ #endif
++#if defined(STRICT_XSRC_NETBSD)
++ xf86Msg(X_PROBED, "using VT number %d\n", xf86Info.vtno);
++#endif
+ }
+ else {
+ /* Not pcvt */
+@@ -581,8 +617,10 @@ xf86CloseConsole()
+ struct vt_mode VT;
+ #endif
+
++#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT) || !defined(SHAREVTS_XSRC_NETBSD)
+ if (xf86Info.ShareVTs)
+ return;
++#endif
+
+ switch (xf86Info.consType) {
+ #ifdef PCCONS_SUPPORT
+@@ -594,6 +632,10 @@ xf86CloseConsole()
case SYSCONS:
case PCVT:
ioctl(xf86Info.consoleFd, KDSETMODE, KD_TEXT); /* Back to text mode */
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_meson.build b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_meson.build
new file mode 100644
index 0000000000..21329179eb
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_os-support_meson.build
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- hw/xfree86/os-support/meson.build.orig 2019-02-26 19:28:50.000000000 +0000
++++ hw/xfree86/os-support/meson.build
+@@ -78,7 +78,7 @@ elif host_machine.system() == 'solaris'
+ error('Unknown CPU family for Solaris build')
+ endif
+
+-elif host_machine.system().endswith('bsd')
++elif host_machine.system().endswith('bsd') or host_machine.system() == 'dragonfly'
+ srcs_xorg_os_support += [
+ 'bsd/bsd_VTsw.c',
+ 'bsd/bsd_bell.c',
+@@ -102,7 +102,7 @@ elif host_machine.system().endswith('bsd
+ srcs_xorg_os_support += 'bsd/alpha_video.c'
+ endif
+
+- if host_machine.system() == 'freebsd'
++ if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonfly'
+ srcs_xorg_os_support += 'bsd/bsd_kmod.c'
+ else
+ srcs_xorg_os_support += 'shared/kmod_noop.c'
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_parser_Device.c b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_parser_Device.c
new file mode 100644
index 0000000000..e03b30cd22
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_parser_Device.c
@@ -0,0 +1,29 @@
+$NetBSD$
+
+From NetBSD xsrc:
+
+Oct 22 15:00:40 2011 UTC
+
+if the video driver is "vmware" or "vmwlegacy" and no mouse section exists,
+use the "vmmouse" input driver instead of "mouse" -- now xorg works properly
+in vmware without a config file
+
+--- hw/xfree86/parser/Device.c.orig 2019-05-30 18:27:34.000000000 +0000
++++ hw/xfree86/parser/Device.c
+@@ -348,3 +348,16 @@ xf86findDevice(const char *ident, XF86Co
+ }
+ return NULL;
+ }
++
++XF86ConfDevicePtr
++xf86findDeviceByDriver (const char *driver, XF86ConfDevicePtr p)
++{
++ while (p)
++ {
++ if (xf86nameCompare (driver, p->dev_driver) == 0)
++ return p;
++
++ p = p->list.next;
++ }
++ return NULL;
++}
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_parser_xf86Parser.h b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_parser_xf86Parser.h
new file mode 100644
index 0000000000..b1d31873ba
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_parser_xf86Parser.h
@@ -0,0 +1,23 @@
+$NetBSD$
+
+From NetBSD xsrc:
+
+Oct 22 15:00:40 2011 UTC
+
+if the video driver is "vmware" or "vmwlegacy" and no mouse section exists,
+use the "vmmouse" input driver instead of "mouse" -- now xorg works properly
+in vmware without a config file
+
+--- hw/xfree86/parser/xf86Parser.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ hw/xfree86/parser/xf86Parser.h
+@@ -455,6 +455,10 @@ extern void xf86freeConfig(XF86ConfigPtr
+ extern int xf86writeConfigFile(const char *, XF86ConfigPtr);
+ extern _X_EXPORT XF86ConfDevicePtr xf86findDevice(const char *ident,
+ XF86ConfDevicePtr p);
++#if defined(__NetBSD__)
++extern _X_EXPORT XF86ConfDevicePtr xf86findDeviceByDriver(const char *driver,
++ XF86ConfDevicePtr p);
++#endif
+ extern _X_EXPORT XF86ConfLayoutPtr xf86findLayout(const char *name,
+ XF86ConfLayoutPtr list);
+ extern _X_EXPORT XF86ConfMonitorPtr xf86findMonitor(const char *ident,
diff --git a/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_vgahw_vgaHW.h b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_vgahw_vgaHW.h
new file mode 100644
index 0000000000..28c252ec81
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-hw_xfree86_vgahw_vgaHW.h
@@ -0,0 +1,27 @@
+$NetBSD$
+
+From NetBSD xsrc:
+
+Jul 9 22:19:34 2016 UTC
+
+Avoid legacy VGA I/O port access on MIPS. Xorg converts the I/O port
+address to a pointer and dereferences it, and then seg faults.
+
+--- hw/xfree86/vgahw/vgaHW.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ hw/xfree86/vgahw/vgaHW.h
+@@ -168,11 +168,15 @@ typedef struct _vgaHWRec {
+ #define BITS_PER_GUN 6
+ #define COLORMAP_SIZE 256
+
++#if defined(__NetBSD__) && (defined(__powerpc__) || defined(__arm__) || defined(__mips__) || defined(__s390__) || defined(__nds32__))
++#define DACDelay(hw) /* No legacy VGA support */
++#else
+ #define DACDelay(hw) \
+ do { \
+ (hw)->readST01((hw)); \
+ (hw)->readST01((hw)); \
+ } while (0)
++#endif
+
+ /* Function Prototypes */
+
diff --git a/modular-xorg-server-dfbsd/patches/patch-include_displaymode.h b/modular-xorg-server-dfbsd/patches/patch-include_displaymode.h
new file mode 100644
index 0000000000..454a817bc8
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-include_displaymode.h
@@ -0,0 +1,17 @@
+$NetBSD$
+
+--- include/displaymode.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ include/displaymode.h
+@@ -55,7 +55,12 @@ typedef enum {
+ typedef struct _DisplayModeRec {
+ struct _DisplayModeRec *prev;
+ struct _DisplayModeRec *next;
++#if defined(__NetBSD__)
++ /* dozens of drivers write to this value */
++ /*const*/ char *name; /* identifier for the mode */
++#else
+ const char *name; /* identifier for the mode */
++#endif
+ ModeStatus status;
+ int type;
+
diff --git a/modular-xorg-server-dfbsd/patches/patch-include_glx__extinit.h b/modular-xorg-server-dfbsd/patches/patch-include_glx__extinit.h
new file mode 100644
index 0000000000..7cc0f8e66a
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-include_glx__extinit.h
@@ -0,0 +1,25 @@
+$NetBSD$
+
+Patch from NetBSD xsrc:
+
+Jan 22 20:25:45 2019
+
+protect dup typedef.
+
+--- include/glx_extinit.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ include/glx_extinit.h
+@@ -30,7 +30,14 @@
+ /* XXX this comment no longer makes sense i think */
+ #ifdef GLXEXT
+ typedef struct __GLXprovider __GLXprovider;
++#if defined(__NetBSD__)
++#ifndef __GLXscreen
++#define __GLXscreen __GLXscreen
+ typedef struct __GLXscreen __GLXscreen;
++#endif
++#else
++typedef struct __GLXscreen __GLXscreen;
++#endif
+ struct __GLXprovider {
+ __GLXscreen *(*screenProbe) (ScreenPtr pScreen);
+ const char *name;
diff --git a/modular-xorg-server-dfbsd/patches/patch-include_meson.build b/modular-xorg-server-dfbsd/patches/patch-include_meson.build
new file mode 100644
index 0000000000..a4de9360c2
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-include_meson.build
@@ -0,0 +1,46 @@
+$NetBSD$
+
+--- include/meson.build.orig 2019-02-26 19:28:50.000000000 +0000
++++ include/meson.build
+@@ -68,7 +68,8 @@ conf_data.set('HAVE_DBUS', build_dbus)
+ conf_data.set('CONFIG_HAL', build_hal)
+ conf_data.set('SYSTEMD_LOGIND', build_systemd_logind)
+ conf_data.set('NEED_DBUS', build_systemd_logind or build_hal)
+-conf_data.set('CONFIG_WSCONS', host_machine.system() == 'openbsd')
++conf_data.set('CONFIG_WSCONS', host_machine.system() == 'openbsd' or build_wscons)
++conf_data.set('CONFIG_DEVD', build_devd)
+
+ # XXX: SHMDIR is weird in autoconf, probing the build system for
+ # various tmp directories. Could we replace it with C code at runtime
+@@ -232,7 +233,7 @@ supports_syscons = false
+ supports_wscons = false
+ csrg_based = false
+
+-if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonflybsd'
++if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonfly'
+ supports_pccons = true
+ supports_pcvt = true
+ supports_syscons = true
+@@ -324,7 +325,7 @@ xorg_data.set('XSERVER_PLATFORM_BUS', bu
+ xorg_data.set('WSCONS_SUPPORT', host_machine.system() == 'netbsd' or host_machine.system() == 'openbsd')
+ xorg_data.set('XF86PM', build_apm or build_acpi)
+
+-if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonflybsd'
++if host_machine.system() == 'freebsd' or host_machine.system() == 'dragonfly'
+ if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64'
+ xorg_data.set('USE_DEV_IO', true)
+ endif
+@@ -332,9 +333,12 @@ if host_machine.system() == 'freebsd' or
+ elif host_machine.system() == 'netbsd'
+ # XXX: USE_ALPHA_PIO
+ # XXX: Add link to libi386
+- if host_machine.cpu_family() == 'x86' or host_machine.cpu_family() == 'x86_64'
++ if host_machine.cpu_family() == 'x86'
+ xorg_data.set('USE_I386_IOPL', true)
+ endif
++ if host_machine.cpu_family() == 'x86_64'
++ xorg_data.set('USE_AMD64_IOPL', true)
++ endif
+ elif host_machine.system() == 'openbsd'
+ # XXX: Add link to libi386, libamd64
+ if host_machine.cpu_family() == 'x86'
diff --git a/modular-xorg-server-dfbsd/patches/patch-include_os.h b/modular-xorg-server-dfbsd/patches/patch-include_os.h
new file mode 100644
index 0000000000..0bbb5053da
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-include_os.h
@@ -0,0 +1,23 @@
+$NetBSD$
+
+From NetBSD xsrc:
+
+Oct 24 19:37:39 2008 UTC
+
+include string.h and strings.h - for some reason they're missing on sparc64
+XXX: need to figure out where the other archs include them so we can get
+rid of this
+
+--- include/os.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ include/os.h
+@@ -91,6 +91,10 @@ typedef struct _NewClientRec *NewClientP
+
+ #include <stdio.h>
+ #include <stdarg.h>
++#if defined(__NetBSD__)
++#include <string.h>
++#include <strings.h>
++#endif
+
+ #ifdef DDXBEFORERESET
+ extern void ddxBeforeReset(void);
diff --git a/modular-xorg-server-dfbsd/patches/patch-meson.build b/modular-xorg-server-dfbsd/patches/patch-meson.build
new file mode 100644
index 0000000000..88c63c1ce1
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-meson.build
@@ -0,0 +1,14 @@
+$NetBSD$
+
+--- meson.build.orig 2019-03-20 23:09:22.000000000 +0000
++++ meson.build
+@@ -155,6 +155,9 @@ if host_machine.system() == 'windows'
+ hal_option = 'false'
+ endif
+
++build_wscons = get_option('wscons')
++build_devd = get_option('devd')
++
+ if get_option('systemd_logind') == 'auto'
+ build_systemd_logind = build_udev and dbus_dep.found()
+ else
diff --git a/modular-xorg-server-dfbsd/patches/patch-meson__options.txt b/modular-xorg-server-dfbsd/patches/patch-meson__options.txt
new file mode 100644
index 0000000000..212550061d
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-meson__options.txt
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- meson_options.txt.orig 2019-03-20 23:09:22.000000000 +0000
++++ meson_options.txt
+@@ -64,6 +64,8 @@ option('pciaccess', type: 'boolean', val
+ option('udev', type: 'boolean', value: 'true')
+ option('hal', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto',
+ description: 'Enable HAL integration')
++option('wscons', type: 'boolean', value: 'false')
++option('devd', type: 'boolean', value: 'false')
+ option('systemd_logind', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto',
+ description: 'Enable systemd-logind integration')
+ option('vbe', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto',
diff --git a/modular-xorg-server-dfbsd/patches/patch-os_utils.c b/modular-xorg-server-dfbsd/patches/patch-os_utils.c
new file mode 100644
index 0000000000..cae8518800
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-os_utils.c
@@ -0,0 +1,55 @@
+$NetBSD$
+
+Patches from NetBSD xsrc:
+
+Sat May 9 15:07:49 2015
+
+CID 1225080: check getrlimit return
+
+Sep 21 23:40:14 2009
+
+Add a "-noretro" option to get the new (black background
+and no cursor) behavior.
+
+Addresses part of PR xsrc/41870
+
+--- os/utils.c.orig 2019-05-30 18:27:34.000000000 +0000
++++ os/utils.c
+@@ -558,6 +558,9 @@ UseMsg(void)
+ ErrorF("r turns on auto-repeat \n");
+ ErrorF("-render [default|mono|gray|color] set render color alloc policy\n");
+ ErrorF("-retro start with classic stipple and cursor\n");
++#if defined(__NetBSD__)
++ ErrorF("-noretro start with black background and no cursor\n");
++#endif
+ ErrorF("-s # screen-saver timeout (minutes)\n");
+ ErrorF("-seat string seat to run on\n");
+ ErrorF("-t # default pointer threshold (pixels/t)\n");
+@@ -735,9 +738,16 @@ ProcessCommandLine(int argc, char *argv[
+ #if !defined(WIN32) || !defined(__MINGW32__)
+ struct rlimit core_limit;
+
++#if defined(STRICT_XSRC_NETBSD)
++ if (getrlimit(RLIMIT_CORE, &core_limit) != -1) {
++ core_limit.rlim_cur = core_limit.rlim_max;
++ setrlimit(RLIMIT_CORE, &core_limit);
++ }
++#else
+ getrlimit(RLIMIT_CORE, &core_limit);
+ core_limit.rlim_cur = core_limit.rlim_max;
+ setrlimit(RLIMIT_CORE, &core_limit);
++#endif /* STRICT_XSRC_NETBSD */
+ #endif
+ CoreDump = TRUE;
+ }
+@@ -909,6 +919,10 @@ ProcessCommandLine(int argc, char *argv[
+ defaultKeyboardControl.autoRepeat = FALSE;
+ else if (strcmp(argv[i], "-retro") == 0)
+ party_like_its_1989 = TRUE;
++#if defined(__NetBSD__)
++ else if (strcmp(argv[i], "-noretro") == 0)
++ party_like_its_1989 = FALSE;
++#endif
+ else if (strcmp(argv[i], "-s") == 0) {
+ if (++i < argc)
+ defaultScreenSaverTime = ((CARD32) atoi(argv[i])) *
diff --git a/modular-xorg-server-dfbsd/patches/patch-randr_randrstr.h b/modular-xorg-server-dfbsd/patches/patch-randr_randrstr.h
new file mode 100644
index 0000000000..e2ab867d39
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-randr_randrstr.h
@@ -0,0 +1,50 @@
+$NetBSD$
+
+Patches from NetBSD xsrc
+
+Jan 23 16:57:01 2019 UTC
+
+Avoid dup inconsistent definitions
+
+Nov 5 17:51:14 2014 UTC
+
+Add RRSetChanged from more recent versions of xorg-server
+
+--- randr/randrstr.h.orig 2019-05-30 18:27:34.000000000 +0000
++++ randr/randrstr.h
+@@ -59,11 +59,23 @@
+
+ #define RANDR_INTERFACE_VERSION 0x0104
+
++#if defined(__NetBSD__)
++/* All also defined in <X11/extensions/randrproto.h> */
++#ifndef RROutput
++#define RROutput CARD32
++#define RRMode CARD32
++#define RRCrtc CARD32
++#define RRProvider CARD32
++#define RRModeFlags CARD32
++#define RRLease CARD32
++#endif
++#else /* !__NetBSD__ */
+ typedef XID RRMode;
+ typedef XID RROutput;
+ typedef XID RRCrtc;
+ typedef XID RRProvider;
+ typedef XID RRLease;
++#endif /* __NetBSD__ */
+
+ extern int RREventBase, RRErrorBase;
+
+@@ -581,6 +593,11 @@ RRSetChanged(ScreenPtr pScreen);
+ extern _X_EXPORT void
+ RRTellChanged(ScreenPtr pScreen);
+
++#if defined(__NetBSD__) && 0
++extern _X_EXPORT void
++RRSetChanged (ScreenPtr pScreen);
++#endif
++
+ /*
+ * Poll the driver for changed information
+ */
diff --git a/modular-xorg-server-dfbsd/patches/patch-test_xtest.c b/modular-xorg-server-dfbsd/patches/patch-test_xtest.c
new file mode 100644
index 0000000000..63b68d28d3
--- /dev/null
+++ b/modular-xorg-server-dfbsd/patches/patch-test_xtest.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-test_xtest.c,v 1.1 2019/02/28 12:32:39 tnn Exp $
+
+xtest.c:64:23: error: suggest braces around initialization of subobject
+
+--- test/xtest.c.orig 2019-02-26 19:28:50.000000000 +0000
++++ test/xtest.c
+@@ -61,7 +61,7 @@ xtest_init_devices(void)
+ {
+ ScreenRec screen = {0};
+ ClientRec server_client = {0};
+- WindowRec root = {0};
++ WindowRec root = {{0}};
+ WindowOptRec optional = {0};
+
+ /* random stuff that needs initialization */
Home |
Main Index |
Thread Index |
Old Index