aboutsummaryrefslogtreecommitdiffstats
path: root/x11-drivers
diff options
context:
space:
mode:
authorKoop Mast <kwm@rainbow-runner.nl>2017-02-08 15:45:16 +0800
committerKoop Mast <kwm@rainbow-runner.nl>2017-02-08 15:45:16 +0800
commit8c10568a8bad15bd4e148e5298d61c75faa3c30d (patch)
tree8ec8a8ad03e47a7286399402357b1c326bf89c9d /x11-drivers
parentccabcd384d766804d3ce54b6a7ae1d257ce0fc11 (diff)
parent39324c127c7b2461bbbbbb06c5dd94442e997b46 (diff)
downloadfreebsd-ports-gnome-mate-1.16.tar.gz
freebsd-ports-gnome-mate-1.16.tar.zst
freebsd-ports-gnome-mate-1.16.zip
Merge branch 'master' into mate-1.16mate-1.16
Diffstat (limited to 'x11-drivers')
-rw-r--r--x11-drivers/Makefile3
-rw-r--r--x11-drivers/drm-kmod/Makefile32
-rw-r--r--x11-drivers/drm-kmod/distinfo2
-rw-r--r--x11-drivers/drm-kmod/pkg-descr3
-rw-r--r--x11-drivers/xf86-input-acecad/Makefile2
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_01_fd61e5386
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_02_1fea65334
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_04_ef1e9cf165
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_05_21f7f17121
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_06_9385ae997
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_07_ec2c4ea25
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_08_39b97cc26
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_09_e76e20d26
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-git_10_2f1a5b472
-rw-r--r--x11-drivers/xf86-input-acecad/files/patch-src_acecad.c31
-rw-r--r--x11-drivers/xf86-input-elographics/Makefile2
-rw-r--r--x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e80
-rw-r--r--x11-drivers/xf86-input-elographics/files/patch-git_02_c666c7828
-rw-r--r--x11-drivers/xf86-input-evdev/Makefile17
-rw-r--r--x11-drivers/xf86-input-evdev/distinfo5
-rw-r--r--x11-drivers/xf86-input-evdev/pkg-plist1
-rw-r--r--x11-drivers/xf86-input-fpit/Makefile2
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-git_01_38fde6559
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-git_02_508d87925
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-git_03_4b47b4a29
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-git_04_dc40c5829
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-git_05_7a1245d23
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-git_06_270607a22
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-git_07_5772c7f26
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-git_09_00742d928
-rw-r--r--x11-drivers/xf86-input-fpit/files/patch-src_xf86Fpit.c52
-rw-r--r--x11-drivers/xf86-input-hyperpen/Makefile2
-rw-r--r--x11-drivers/xf86-input-hyperpen/files/patch-git_01_161f41427
-rw-r--r--x11-drivers/xf86-input-hyperpen/files/patch-git_02_b2ef09f33
-rw-r--r--x11-drivers/xf86-input-hyperpen/files/patch-git_03_02a74cf25
-rw-r--r--x11-drivers/xf86-input-hyperpen/files/patch-git_04_6d660b029
-rw-r--r--x11-drivers/xf86-input-hyperpen/files/patch-git_06_2c0371921
-rw-r--r--x11-drivers/xf86-input-hyperpen/files/patch-src_xf86HyperPen.c85
-rw-r--r--x11-drivers/xf86-input-joystick/Makefile6
-rw-r--r--x11-drivers/xf86-input-joystick/distinfo5
-rw-r--r--x11-drivers/xf86-input-keyboard/Makefile5
-rw-r--r--x11-drivers/xf86-input-keyboard/distinfo5
-rw-r--r--x11-drivers/xf86-input-mouse/Makefile7
-rw-r--r--x11-drivers/xf86-input-mouse/distinfo5
-rw-r--r--x11-drivers/xf86-input-mouse/files/patch-src-bsd_mouse.c13
-rw-r--r--x11-drivers/xf86-input-mouse/files/patch-src_Makefile.in4
-rw-r--r--x11-drivers/xf86-input-mouse/files/patch-src_mouse.c28
-rw-r--r--x11-drivers/xf86-input-mouse/files/patch-src_mouse.h2
-rw-r--r--x11-drivers/xf86-input-mouse/files/patch-src_mousePriv.h2
-rw-r--r--x11-drivers/xf86-input-mutouch/Makefile2
-rw-r--r--x11-drivers/xf86-input-mutouch/files/patch-git_01_066b88929
-rw-r--r--x11-drivers/xf86-input-mutouch/files/patch-git_02_7b0639725
-rw-r--r--x11-drivers/xf86-input-mutouch/files/patch-git_03_7bf5e0d36
-rw-r--r--x11-drivers/xf86-input-mutouch/files/patch-git_04_ea858f932
-rw-r--r--x11-drivers/xf86-input-mutouch/files/patch-git_05_7bd05fe30
-rw-r--r--x11-drivers/xf86-input-mutouch/files/patch-src_xf86MuTouch.c60
-rw-r--r--x11-drivers/xf86-input-penmount/Makefile2
-rw-r--r--x11-drivers/xf86-input-penmount/files/patch-git_01_f5aede228
-rw-r--r--x11-drivers/xf86-input-penmount/files/patch-git_02_ff389f982
-rw-r--r--x11-drivers/xf86-input-penmount/files/patch-src_xf86PM.c69
-rw-r--r--x11-drivers/xf86-input-wacom/Makefile5
-rw-r--r--x11-drivers/xf86-input-wacom/distinfo5
-rw-r--r--x11-drivers/xf86-video-apm/Makefile2
-rw-r--r--x11-drivers/xf86-video-apm/files/patch-src_apm.h14
-rw-r--r--x11-drivers/xf86-video-apm/files/patch-src_apm__driver.c60
-rw-r--r--x11-drivers/xf86-video-ast/Makefile19
-rw-r--r--x11-drivers/xf86-video-ast/distinfo3
-rw-r--r--x11-drivers/xf86-video-ast/pkg-descr3
-rw-r--r--x11-drivers/xf86-video-ati/Makefile12
-rw-r--r--x11-drivers/xf86-video-ati/distinfo1
-rw-r--r--x11-drivers/xf86-video-chips/Makefile2
-rw-r--r--x11-drivers/xf86-video-chips/distinfo5
-rw-r--r--x11-drivers/xf86-video-cirrus/Makefile1
-rw-r--r--x11-drivers/xf86-video-cirrus/files/patch-Makefile.in127
-rw-r--r--x11-drivers/xf86-video-cirrus/files/patch-git_01_23da60737
-rw-r--r--x11-drivers/xf86-video-cirrus/files/patch-git_02_82db44f50
-rw-r--r--x11-drivers/xf86-video-cirrus/files/patch-git_03_adaf1fe87
-rw-r--r--x11-drivers/xf86-video-cirrus/files/patch-git_04_27f85fc152
-rw-r--r--x11-drivers/xf86-video-cirrus/files/patch-src_Makefile.in356
-rw-r--r--x11-drivers/xf86-video-cirrus/files/patch-src_alp__driver.c13
-rw-r--r--x11-drivers/xf86-video-cirrus/files/patch-src_lg__driver.c13
-rw-r--r--x11-drivers/xf86-video-cirrus/pkg-plist2
-rw-r--r--x11-drivers/xf86-video-dummy/Makefile6
-rw-r--r--x11-drivers/xf86-video-dummy/distinfo5
-rw-r--r--x11-drivers/xf86-video-fbdev/Makefile13
-rw-r--r--x11-drivers/xf86-video-fbdev/distinfo2
-rw-r--r--x11-drivers/xf86-video-fbdev/pkg-descr3
-rw-r--r--x11-drivers/xf86-video-fbdev/pkg-plist2
-rw-r--r--x11-drivers/xf86-video-glint/Makefile5
-rw-r--r--x11-drivers/xf86-video-glint/distinfo5
-rw-r--r--x11-drivers/xf86-video-glint/files/patch-src_glint__driver.c30
-rw-r--r--x11-drivers/xf86-video-glint/files/patch-src_pm2__video.c22
-rw-r--r--x11-drivers/xf86-video-i740/Makefile3
-rw-r--r--x11-drivers/xf86-video-i740/distinfo5
-rw-r--r--x11-drivers/xf86-video-intel/Makefile10
-rw-r--r--x11-drivers/xf86-video-mga/Makefile5
-rw-r--r--x11-drivers/xf86-video-mga/distinfo5
-rw-r--r--x11-drivers/xf86-video-mga/files/patch-src_mga__dac3026.c15
-rw-r--r--x11-drivers/xf86-video-mga/files/patch-src_mga__dacG.c31
-rw-r--r--x11-drivers/xf86-video-mga/files/patch-src_mga__dri.c22
-rw-r--r--x11-drivers/xf86-video-mga/files/patch-src_mga__driver.c23
-rw-r--r--x11-drivers/xf86-video-mga/files/patch-src_mga__merge.c58
-rw-r--r--x11-drivers/xf86-video-nv/Makefile3
-rw-r--r--x11-drivers/xf86-video-nv/distinfo5
-rw-r--r--x11-drivers/xf86-video-nv/files/patch-src-nv_driver.c10
-rw-r--r--x11-drivers/xf86-video-nv/files/patch-src_g80__driver.c18
-rw-r--r--x11-drivers/xf86-video-nv/files/patch-src_nv__include.h12
-rw-r--r--x11-drivers/xf86-video-nv/files/patch-src_riva__driver.c10
-rw-r--r--x11-drivers/xf86-video-nv/files/patch-src_riva__include.h12
-rw-r--r--x11-drivers/xf86-video-nv/files/patch-src_riva__xaa.c14
-rw-r--r--x11-drivers/xf86-video-openchrome/Makefile20
-rw-r--r--x11-drivers/xf86-video-openchrome/distinfo5
-rw-r--r--x11-drivers/xf86-video-openchrome/files/patch-configure4
-rw-r--r--x11-drivers/xf86-video-openchrome/files/patch-src_via__id.c10
-rw-r--r--x11-drivers/xf86-video-openchrome/pkg-plist12
-rw-r--r--x11-drivers/xf86-video-r128/Makefile5
-rw-r--r--x11-drivers/xf86-video-r128/distinfo5
-rw-r--r--x11-drivers/xf86-video-s3/Makefile2
-rw-r--r--x11-drivers/xf86-video-s3/files/patch-git_01_92d10d529
-rw-r--r--x11-drivers/xf86-video-s3/files/patch-git_02_ed0fbfd33
-rw-r--r--x11-drivers/xf86-video-s3/files/patch-git_03_7b4535835
-rw-r--r--x11-drivers/xf86-video-s3/files/patch-git_04_82bd67a92
-rw-r--r--x11-drivers/xf86-video-s3/files/patch-src_s3__driver.c25
-rw-r--r--x11-drivers/xf86-video-s3virge/Makefile1
-rw-r--r--x11-drivers/xf86-video-s3virge/files/patch-git_01_9c8a08c26
-rw-r--r--x11-drivers/xf86-video-s3virge/files/patch-git_02_47f436924
-rw-r--r--x11-drivers/xf86-video-s3virge/files/patch-src_s3v__driver.c23
-rw-r--r--x11-drivers/xf86-video-savage/Makefile4
-rw-r--r--x11-drivers/xf86-video-savage/distinfo5
-rw-r--r--x11-drivers/xf86-video-savage/files/patch-src_savage__dri.c13
-rw-r--r--x11-drivers/xf86-video-savage/files/patch-src_savage__video.c17
-rw-r--r--x11-drivers/xf86-video-siliconmotion/Makefile5
-rw-r--r--x11-drivers/xf86-video-siliconmotion/distinfo5
-rw-r--r--x11-drivers/xf86-video-sis/Makefile6
-rw-r--r--x11-drivers/xf86-video-sis/distinfo5
-rw-r--r--x11-drivers/xf86-video-sis/files/patch-src_init301.c25
-rw-r--r--x11-drivers/xf86-video-sis/files/patch-src_initextx.c35
-rw-r--r--x11-drivers/xf86-video-sis/files/patch-src_sis300__accel.c85
-rw-r--r--x11-drivers/xf86-video-sis/files/patch-src_sis__dri.c13
-rw-r--r--x11-drivers/xf86-video-sis/files/patch-src_sis__driver.c34
-rw-r--r--x11-drivers/xf86-video-sis/files/patch-src_sis__utility.c13
-rw-r--r--x11-drivers/xf86-video-tdfx/Makefile5
-rw-r--r--x11-drivers/xf86-video-tdfx/distinfo5
-rw-r--r--x11-drivers/xf86-video-tdfx/files/patch-src_tdfx__dri.c13
-rw-r--r--x11-drivers/xf86-video-tdfx/files/patch-src_tdfx__driver.c40
-rw-r--r--x11-drivers/xf86-video-trident/Makefile2
-rw-r--r--x11-drivers/xf86-video-trident/distinfo5
-rw-r--r--x11-drivers/xf86-video-trident/files/patch-src_trident__dac.c15
-rw-r--r--x11-drivers/xf86-video-trident/files/patch-src_trident__driver.c13
-rw-r--r--x11-drivers/xf86-video-tseng/Makefile3
-rw-r--r--x11-drivers/xf86-video-vmware/Makefile6
-rw-r--r--x11-drivers/xf86-video-vmware/distinfo5
-rw-r--r--x11-drivers/xorg-drivers/Makefile8
153 files changed, 3580 insertions, 331 deletions
diff --git a/x11-drivers/Makefile b/x11-drivers/Makefile
index 5706acd5b212..d039c1560a18 100644
--- a/x11-drivers/Makefile
+++ b/x11-drivers/Makefile
@@ -3,7 +3,6 @@
COMMENT = X11 drivers
- SUBDIR += drm-kmod
SUBDIR += xf86-input-acecad
SUBDIR += xf86-input-egalax
SUBDIR += xf86-input-elographics
@@ -21,11 +20,11 @@
SUBDIR += xf86-input-wacom
SUBDIR += xf86-video-apm
SUBDIR += xf86-video-ark
+ SUBDIR += xf86-video-ast
SUBDIR += xf86-video-ati
SUBDIR += xf86-video-chips
SUBDIR += xf86-video-cirrus
SUBDIR += xf86-video-dummy
- SUBDIR += xf86-video-fbdev
SUBDIR += xf86-video-glint
SUBDIR += xf86-video-i128
SUBDIR += xf86-video-i740
diff --git a/x11-drivers/drm-kmod/Makefile b/x11-drivers/drm-kmod/Makefile
deleted file mode 100644
index 4c08b8d72085..000000000000
--- a/x11-drivers/drm-kmod/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# Created by: Jean-Sebastien Pedron <dumbbell@FreeBSD.org>
-# $FreeBSD$
-
-PORTNAME= drm-kmod
-DISTVERSION= 9.280208
-CATEGORIES= x11-drivers
-MASTER_SITES= LOCAL/dumbbell
-DISTNAME= drm-${DISTVERSION}
-
-MAINTAINER= x11@FreeBSD.org
-COMMENT= FreeBSD 9.3 Kernel DRM driver
-
-LICENSE= MIT
-
-USES= kmod uidfix tar:xz
-ONLY_FOR_ARCHS= i386 amd64
-
-PLIST_FILES= ${KMODDIR}/drm2_port.ko \
- ${KMODDIR}/i915kms_port.ko \
- ${KMODDIR}/radeonkms_port.ko \
-
-.include <bsd.port.options.mk>
-
-.if (${OSVERSION} < 903000 || ${OSVERSION} > 1000000)
-IGNORE= this port is only for 9.3 systems
-.endif
-
-.if ${PORT_OPTIONS:MDEBUG}
-MAKE_ARGS+=" HAVE_DEBUG=YES"
-.endif
-
-.include <bsd.port.mk>
diff --git a/x11-drivers/drm-kmod/distinfo b/x11-drivers/drm-kmod/distinfo
deleted file mode 100644
index 1607aec41cfa..000000000000
--- a/x11-drivers/drm-kmod/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (drm-9.280208.tar.xz) = 27586b92a14b4a7596e838eaeb596ae82b53cb7807179a456bb4e5cad0c8c8b0
-SIZE (drm-9.280208.tar.xz) = 902972
diff --git a/x11-drivers/drm-kmod/pkg-descr b/x11-drivers/drm-kmod/pkg-descr
deleted file mode 100644
index 31ac0d6b159a..000000000000
--- a/x11-drivers/drm-kmod/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-The DRM kernel driver supports Intel and Radeon GPUs.
-
-WWW: http://www.freebsd.org/
diff --git a/x11-drivers/xf86-input-acecad/Makefile b/x11-drivers/xf86-input-acecad/Makefile
index 3c7a395f1593..66d512dc3ea2 100644
--- a/x11-drivers/xf86-input-acecad/Makefile
+++ b/x11-drivers/xf86-input-acecad/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-acecad
PORTVERSION= 1.5.0
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_01_fd61e53 b/x11-drivers/xf86-input-acecad/files/patch-git_01_fd61e53
new file mode 100644
index 000000000000..0d49ebad3837
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_01_fd61e53
@@ -0,0 +1,86 @@
+From fd61e53ed08cec2b3af688a55507477f6ef30544 Mon Sep 17 00:00:00 2001
+From: Cyril Brulebois <kibi@debian.org>
+Date: Fri, 3 Jun 2011 15:59:14 +0200
+Subject: =?UTF-8?q?Avoid=20=E2=80=9C'ReverseConvertProc'=20defined=20but?=
+ =?UTF-8?q?=20not=20used=E2=80=9D=20warning.?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Move this function next to its unique caller (AceCadPreInit), and only
+declare/define it when the input ABI is strictly less than 12.
+
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+diff --git a/src/acecad.c b/src/acecad.c
+index 6259f21..f5a2213 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -370,6 +370,21 @@ SetupProc_fail:
+ return NULL;
+ }
+
++static Bool
++ReverseConvertProc (InputInfoPtr local,
++ int x, int y,
++ int *valuators)
++{
++ AceCadPrivatePtr priv = (AceCadPrivatePtr)(local->private);
++
++ // xf86Msg(X_INFO, "%s: reverse coordinate conversion in : %d, %d\n", local->name, x, y);
++ valuators[0] = x * priv->acecadMaxX / screenInfo.screens[0]->width;
++ valuators[1] = y * priv->acecadMaxY / screenInfo.screens[0]->height;
++ // xf86Msg(X_INFO, "%s: reverse coordinate conversion out: %d, %d\n", local->name, valuators[0], valuators[1]);
++
++ return TRUE;
++}
++
+ static int
+ NewAceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+ #else
+@@ -1071,22 +1086,6 @@ ConvertProc (InputInfoPtr local, int first, int num,
+ }
+
+
+-static Bool
+-ReverseConvertProc (InputInfoPtr local,
+- int x, int y,
+- int *valuators)
+-{
+- AceCadPrivatePtr priv = (AceCadPrivatePtr)(local->private);
+-
+- // xf86Msg(X_INFO, "%s: reverse coordinate conversion in : %d, %d\n", local->name, x, y);
+- valuators[0] = x * priv->acecadMaxX / screenInfo.screens[0]->width;
+- valuators[1] = y * priv->acecadMaxY / screenInfo.screens[0]->height;
+- // xf86Msg(X_INFO, "%s: reverse coordinate conversion out: %d, %d\n", local->name, valuators[0], valuators[1]);
+-
+- return TRUE;
+-}
+-
+-
+ #define WriteString(str)\
+ XisbWrite (priv->buffer, (unsigned char *)(str), strlen(str))
+
+diff --git a/src/acecad.h b/src/acecad.h
+index a2b5c66..bd8e997 100644
+--- src/acecad.h
++++ src/acecad.h
+@@ -102,12 +102,12 @@ static Bool DeviceClose (DeviceIntPtr);
+ static Bool DeviceInit (DeviceIntPtr);
+ static void ReadInput (InputInfoPtr);
+ static Bool ConvertProc (InputInfoPtr, int, int, int, int, int, int, int, int, int *, int *);
+-static Bool ReverseConvertProc(InputInfoPtr , int , int , int*);
+ static Bool QueryHardware (AceCadPrivatePtr);
+ static void NewPacket (AceCadPrivatePtr priv);
+ static Bool AceCadGetPacket (AceCadPrivatePtr);
+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+ static InputInfoPtr AceCadPreInit(InputDriverPtr, IDevPtr , int);
++static Bool ReverseConvertProc(InputInfoPtr , int , int , int*);
+ #else
+ static int AceCadPreInit(InputDriverPtr, InputInfoPtr , int);
+ #endif
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_02_1fea653 b/x11-drivers/xf86-input-acecad/files/patch-git_02_1fea653
new file mode 100644
index 000000000000..a3949712be0d
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_02_1fea653
@@ -0,0 +1,34 @@
+From 1fea6530eeca06b0d8d15a9327f87063292e1e6d Mon Sep 17 00:00:00 2001
+From: Cyril Brulebois <kibi@debian.org>
+Date: Fri, 3 Jun 2011 15:59:14 +0200
+Subject: Silence gcc: report_{x, y} are getting initialized.
+
+Get us rid of:
+| CC acecad.lo
+| acecad.c: In function 'USBReadInput':
+| acecad.c:1052:43: warning: 'report_y' may be used uninitialized in this function [-Wuninitialized]
+| acecad.c:1052:43: warning: 'report_x' may be used uninitialized in this function [-Wuninitialized]
+
+Both code paths (with XORG_BOTCHED_INPUT or not) will lead report_x and
+report_y to be set, but make sure the compiler stops guessing.
+
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+diff --git a/src/acecad.c b/src/acecad.c
+index f5a2213..1e2f0c0 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -919,7 +919,7 @@ USBReadInput (InputInfoPtr local)
+ int x = priv->acecadOldX;
+ int y = priv->acecadOldY;
+ int z = priv->acecadOldZ;
+- int report_x, report_y;
++ int report_x = 0, report_y = 0;
+ int prox = priv->acecadOldProximity;
+ int buttons = priv->acecadOldButtons;
+ int is_core_pointer = 0;
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_04_ef1e9cf b/x11-drivers/xf86-input-acecad/files/patch-git_04_ef1e9cf
new file mode 100644
index 000000000000..3ea550b194f4
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_04_ef1e9cf
@@ -0,0 +1,165 @@
+From ef1e9cf34e8f1ec2513dd6bd36d824b54e841ea7 Mon Sep 17 00:00:00 2001
+From: Cyril Brulebois <kibi@debian.org>
+Date: Fri, 3 Jun 2011 15:59:15 +0200
+Subject: Drop support for pre-input ABI 12 servers.
+
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+diff --git a/configure.ac b/configure.ac
+index 4c76754..d4a404d 100644
+--- configure.ac
++++ configure.ac
+@@ -55,7 +55,7 @@ AC_CHECK_HEADERS([linux/input.h sysfs/libsysfs.h])
+ XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
+
+ # Obtain compiler/linker options from server and required extensions
+-PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto kbproto inputproto $REQUIRED_MODULES)
++PKG_CHECK_MODULES(XORG, [xorg-server >= 1.10] xproto kbproto inputproto $REQUIRED_MODULES)
+
+ # Define a configure option for an alternate input module directory
+ AC_ARG_WITH(xorg-module-dir,
+diff --git a/src/acecad.c b/src/acecad.c
+index d60b3b6..17e141f 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -90,6 +90,10 @@
+ #endif
+ #define DBG(lvl, f) {if ((lvl) <= xf86GetVerbosity()) f;}
+
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
++#error "XINPUT ABI 12 required."
++#endif
++
+ /*****************************************************************************
+ * Local Headers
+ ****************************************************************************/
+@@ -331,66 +335,8 @@ ProbeFound:
+
+ #endif
+
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+-static int NewAceCadPreInit(InputDriverPtr drv, InputInfoPtr dev, int flags);
+-
+-static InputInfoPtr
+-AceCadPreInit(InputDriverPtr drv, IDevPtr dev, int flags)
+-{
+- InputInfoPtr local = xf86AllocateInput(drv, 0);
+- AceCadPrivatePtr priv = calloc (1, sizeof(AceCadPrivateRec));
+-
+- if ((!local))
+- goto SetupProc_fail;
+-
+- local->name = dev->identifier;
+- local->type_name = XI_TABLET;
+- local->flags = XI86_SEND_DRAG_EVENTS;
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
+- local->motion_history_proc = xf86GetMotionEvents;
+-#endif
+- local->control_proc = NULL;
+- local->switch_mode = NULL;
+- local->conversion_proc = ConvertProc;
+- local->reverse_conversion_proc = ReverseConvertProc;
+- local->dev = NULL;
+- local->private = priv;
+- local->private_flags = 0;
+- local->conf_idev = dev;
+- /*local->always_core_feedback = 0;*/
+-
+- xf86CollectInputOptions(local, default_options, NULL);
+-
+- xf86OptionListReport(local->options);
+-
+- if (NewAceCadPreInit(drv, local, flags) == Success)
+- return local;
+-
+-SetupProc_fail:
+- return NULL;
+-}
+-
+-static Bool
+-ReverseConvertProc (InputInfoPtr local,
+- int x, int y,
+- int *valuators)
+-{
+- AceCadPrivatePtr priv = (AceCadPrivatePtr)(local->private);
+-
+- // xf86Msg(X_INFO, "%s: reverse coordinate conversion in : %d, %d\n", local->name, x, y);
+- valuators[0] = x * priv->acecadMaxX / screenInfo.screens[0]->width;
+- valuators[1] = y * priv->acecadMaxY / screenInfo.screens[0]->height;
+- // xf86Msg(X_INFO, "%s: reverse coordinate conversion out: %d, %d\n", local->name, valuators[0], valuators[1]);
+-
+- return TRUE;
+-}
+-
+-static int
+-NewAceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+-#else
+ static int
+ AceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+-#endif
+ {
+ AceCadPrivatePtr priv = calloc (1, sizeof(AceCadPrivateRec));
+ int speed;
+@@ -500,10 +446,6 @@ AceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+
+ xf86ProcessCommonOptions(local, local->options);
+
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+- local->flags |= XI86_CONFIGURED;
+-#endif
+-
+ if (local->fd != -1)
+ {
+ RemoveEnabledDevice (local->fd);
+@@ -709,9 +651,6 @@ DeviceInit (DeviceIntPtr dev)
+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ axes_labels,
+ #endif
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 3
+- xf86GetMotionEvents,
+-#endif
+ history_size,
+ ((priv->flags & ABSOLUTE_FLAG)? Absolute: Relative)|OutOfProximity)
+ == FALSE)
+@@ -818,9 +757,6 @@ ReadInput (InputInfoPtr local)
+ /*xf86Msg(X_INFO, "ACECAD Tablet Read Input\n");*/
+
+ is_absolute = (priv->flags & ABSOLUTE_FLAG);
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
+- is_core_pointer = xf86IsCorePointer(local->dev);
+-#endif
+
+ /*
+ * set blocking to -1 on the first call because we know there is data to
+@@ -923,9 +859,6 @@ USBReadInput (InputInfoPtr local)
+ int prox = priv->acecadOldProximity;
+ int buttons = priv->acecadOldButtons;
+ int is_core_pointer = 0;
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
+- is_core_pointer = xf86IsCorePointer(local->dev);
+-#endif
+ /* Is autodev active? */
+ int autodev = priv->flags & AUTODEV_FLAG;
+ /* Was the device available last time we checked? */
+diff --git a/src/acecad.h b/src/acecad.h
+index bd8e997..b9291c7 100644
+--- src/acecad.h
++++ src/acecad.h
+@@ -105,12 +105,7 @@ static Bool ConvertProc (InputInfoPtr, int, int, int, int, int, int, int, int, i
+ static Bool QueryHardware (AceCadPrivatePtr);
+ static void NewPacket (AceCadPrivatePtr priv);
+ static Bool AceCadGetPacket (AceCadPrivatePtr);
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
+-static InputInfoPtr AceCadPreInit(InputDriverPtr, IDevPtr , int);
+-static Bool ReverseConvertProc(InputInfoPtr , int , int , int*);
+-#else
+ static int AceCadPreInit(InputDriverPtr, InputInfoPtr , int);
+-#endif
+ #ifdef HAVE_LINUX_INPUT_H
+ static void USBReadInput (InputInfoPtr);
+ static Bool USBQueryHardware (InputInfoPtr);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_05_21f7f17 b/x11-drivers/xf86-input-acecad/files/patch-git_05_21f7f17
new file mode 100644
index 000000000000..269bceb62ed9
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_05_21f7f17
@@ -0,0 +1,121 @@
+From 21f7f1705d2c0b46ce19367d5ac8a4c225d755ef Mon Sep 17 00:00:00 2001
+From: Cyril Brulebois <kibi@debian.org>
+Date: Fri, 3 Jun 2011 15:59:15 +0200
+Subject: Remove checks on the ABI now that 12 or higher is required.
+
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+diff --git a/src/acecad.c b/src/acecad.c
+index 17e141f..de2577e 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -79,10 +79,8 @@
+ #endif
+ #endif
+
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ #include <X11/Xatom.h>
+ #include <xserver-properties.h>
+-#endif
+
+ /* Previously found in xf86Xinput.h */
+ #ifdef DBG
+@@ -130,9 +128,7 @@ _X_EXPORT InputDriverRec ACECAD =
+ AceCadPreInit,
+ NULL,
+ NULL,
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
+ default_options
+-#endif
+ };
+
+ static XF86ModuleVersionInfo VersionRec =
+@@ -599,7 +595,6 @@ DeviceInit (DeviceIntPtr dev)
+ AceCadPrivatePtr priv = (AceCadPrivatePtr) (local->private);
+ unsigned char map[] = {0, 1, 2, 3};
+ int history_size;
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ Atom btn_labels[3];
+ Atom axes_labels[3];
+
+@@ -618,15 +613,12 @@ DeviceInit (DeviceIntPtr dev)
+ axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y);
+ axes_labels[2] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Z);
+ }
+-#endif
+
+ xf86MsgVerb(X_INFO, 4, "%s Init\n", local->name);
+
+ /* 3 boutons */
+ if (InitButtonClassDeviceStruct (dev, 3,
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ btn_labels,
+-#endif
+ map) == FALSE)
+ {
+ xf86Msg(X_ERROR, "%s: unable to allocate ButtonClassDeviceStruct\n", local->name);
+@@ -648,9 +640,7 @@ DeviceInit (DeviceIntPtr dev)
+
+ /* 3 axes */
+ if (InitValuatorClassDeviceStruct (dev, 3,
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ axes_labels,
+-#endif
+ history_size,
+ ((priv->flags & ABSOLUTE_FLAG)? Absolute: Relative)|OutOfProximity)
+ == FALSE)
+@@ -663,9 +653,7 @@ DeviceInit (DeviceIntPtr dev)
+
+ InitValuatorAxisStruct(dev,
+ 0,
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ axes_labels[0],
+-#endif
+ 0, /* min val */
+ #if XORG_BOTCHED_INPUT
+ screenInfo.screens[0]->width,
+@@ -675,15 +663,11 @@ DeviceInit (DeviceIntPtr dev)
+ 1000, /* resolution */
+ 0, /* min_res */
+ 1000 /* max_res */
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
+ , Absolute
+-#endif
+ );
+ InitValuatorAxisStruct(dev,
+ 1,
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ axes_labels[1],
+-#endif
+ 0, /* min val */
+ #if XORG_BOTCHED_INPUT
+ screenInfo.screens[0]->height,
+@@ -693,23 +677,17 @@ DeviceInit (DeviceIntPtr dev)
+ 1000, /* resolution */
+ 0, /* min_res */
+ 1000 /* max_res */
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
+ , Absolute
+-#endif
+ );
+ InitValuatorAxisStruct(dev,
+ 2,
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
+ axes_labels[2],
+-#endif
+ 0, /* min val */
+ priv->acecadMaxZ, /* max val */
+ 1000, /* resolution */
+ 0, /* min_res */
+ 1000 /* max_res */
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
+ , Absolute
+-#endif
+ );
+
+ }
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_06_9385ae9 b/x11-drivers/xf86-input-acecad/files/patch-git_06_9385ae9
new file mode 100644
index 000000000000..cb609dadcab1
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_06_9385ae9
@@ -0,0 +1,97 @@
+From 9385ae905aca9e679e698f0491e0bf7e30a35092 Mon Sep 17 00:00:00 2001
+From: Cyril Brulebois <kibi@debian.org>
+Date: Fri, 3 Jun 2011 15:59:16 +0200
+Subject: Remove pointless checks on is_core_pointer.
+
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Daniel Stone <daniel@fooishbar.org>
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+diff --git a/src/acecad.c b/src/acecad.c
+index de2577e..ad6d793 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -729,7 +729,7 @@ ReadInput (InputInfoPtr local)
+ {
+ int x, y, z;
+ int prox, buttons;
+- int is_core_pointer = 0, is_absolute;
++ int is_absolute;
+ AceCadPrivatePtr priv = (AceCadPrivatePtr) (local->private);
+
+ /*xf86Msg(X_INFO, "ACECAD Tablet Read Input\n");*/
+@@ -772,11 +772,10 @@ ReadInput (InputInfoPtr local)
+ if (prox)
+ {
+ if (!(priv->acecadOldProximity))
+- if (!is_core_pointer)
+- {
+- /*xf86Msg(X_INFO, "ACECAD Tablet ProxIN %d %d %d\n",x, y, z);*/
+- xf86PostProximityEvent(local->dev, 1, 0, 3 , x, y, z);
+- }
++ {
++ /*xf86Msg(X_INFO, "ACECAD Tablet ProxIN %d %d %d\n",x, y, z);*/
++ xf86PostProximityEvent(local->dev, 1, 0, 3 , x, y, z);
++ }
+
+ if ((is_absolute && ((priv->acecadOldX != x) || (priv->acecadOldY != y) || (priv->acecadOldZ != z)))
+ || (!is_absolute && (x || y)))
+@@ -809,12 +808,11 @@ ReadInput (InputInfoPtr local)
+ }
+ else
+ {
+- if (!is_core_pointer)
+- if (priv->acecadOldProximity)
+- {
+- /*xf86Msg(X_INFO, "ACECAD Tablet ProxOUT %d %d %d\n",x, y, z);*/
+- xf86PostProximityEvent(local->dev, 0, 0, 3, x,y,z);
+- }
++ if (priv->acecadOldProximity)
++ {
++ /*xf86Msg(X_INFO, "ACECAD Tablet ProxOUT %d %d %d\n",x, y, z);*/
++ xf86PostProximityEvent(local->dev, 0, 0, 3, x,y,z);
++ }
+ priv->acecadOldProximity = 0;
+ }
+ }
+@@ -836,7 +834,6 @@ USBReadInput (InputInfoPtr local)
+ int report_x = 0, report_y = 0;
+ int prox = priv->acecadOldProximity;
+ int buttons = priv->acecadOldButtons;
+- int is_core_pointer = 0;
+ /* Is autodev active? */
+ int autodev = priv->flags & AUTODEV_FLAG;
+ /* Was the device available last time we checked? */
+@@ -935,10 +932,9 @@ USBReadInput (InputInfoPtr local)
+ report_y = y;
+ #endif
+ if (!(priv->acecadOldProximity))
+- if (!is_core_pointer)
+- {
+- xf86PostProximityEvent(local->dev, 1, 0, 3 , report_x, report_y, z);
+- }
++ {
++ xf86PostProximityEvent(local->dev, 1, 0, 3 , report_x, report_y, z);
++ }
+
+
+ xf86PostMotionEvent(local->dev, 1, 0, 3, report_x, report_y, z);
+@@ -957,11 +953,10 @@ USBReadInput (InputInfoPtr local)
+ }
+ else
+ {
+- if (!is_core_pointer)
+- if (priv->acecadOldProximity)
+- {
+- xf86PostProximityEvent(local->dev, 0, 0, 3, report_x, report_y, z);
+- }
++ if (priv->acecadOldProximity)
++ {
++ xf86PostProximityEvent(local->dev, 0, 0, 3, report_x, report_y, z);
++ }
+ priv->acecadOldProximity = 0;
+ }
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_07_ec2c4ea b/x11-drivers/xf86-input-acecad/files/patch-git_07_ec2c4ea
new file mode 100644
index 000000000000..32fa8ebd0e4a
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_07_ec2c4ea
@@ -0,0 +1,25 @@
+From ec2c4ead497133ef20d5ef5a9b481b38e1e0f7a2 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 27 Jun 2011 13:13:54 +1000
+Subject: Assign local->private after allocating.
+
+It is detrimental to the user experience when the driver tries to derefernce
+null pointers.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/acecad.c b/src/acecad.c
+index ad6d793..604fe91 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -343,6 +343,7 @@ AceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+ return BadAlloc;
+
+ memset(priv, 0, sizeof(AceCadPrivateRec));
++ local->private = priv;
+
+ local->device_control = DeviceControl;
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_08_39b97cc b/x11-drivers/xf86-input-acecad/files/patch-git_08_39b97cc
new file mode 100644
index 000000000000..ce0a5d04295e
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_08_39b97cc
@@ -0,0 +1,26 @@
+From 39b97cc0138417141b245179fc8555bbb365e879 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri, 8 Jul 2011 12:24:16 +1000
+Subject: Always set the type name.
+
+The server assigns "UNKNOWN", override it with something more specific.
+
+Introduced in f85c4b580c074f7054eac98753d1f4e91f08305e.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/acecad.c b/src/acecad.c
+index 604fe91..2b6aa45 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -346,6 +346,7 @@ AceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+ local->private = priv;
+
+ local->device_control = DeviceControl;
++ local->type_name = XI_TABLET;
+
+ priv->acecadInc = xf86SetIntOption(local->options, "Increment", 0 );
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_09_e76e20d b/x11-drivers/xf86-input-acecad/files/patch-git_09_e76e20d
new file mode 100644
index 000000000000..aa0bdb1aaefc
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_09_e76e20d
@@ -0,0 +1,26 @@
+From e76e20d4d4a39e139a778411a2ed09ec35c2046e Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 09:29:28 +1000
+Subject: Dont call xf86DeleteInput on PreInit failure.
+
+The server calls this for us once PreInit returns with an error,
+calling it during PreInit means the server continues to use
+already free'd memory.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/acecad.c b/src/acecad.c
+index 2b6aa45..a3326a0 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -471,7 +471,6 @@ SetupProc_fail:
+ if (local)
+ local->private = NULL;
+ }
+- xf86DeleteInput(local, 0);
+ return BadAlloc;
+ }
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-git_10_2f1a5b4 b/x11-drivers/xf86-input-acecad/files/patch-git_10_2f1a5b4
new file mode 100644
index 000000000000..1c0aca9a700b
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-git_10_2f1a5b4
@@ -0,0 +1,72 @@
+From 2f1a5b44f62028f2608c0c94e58154df09e9ada3 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 14:13:33 +1000
+Subject: Don't free anything in PreInit, provide an UnInit instead.
+
+Also fixes:
+- leaking priv->buffer
+- fd closure bug
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/acecad.c b/src/acecad.c
+index a3326a0..6a0b347 100644
+--- src/acecad.c
++++ src/acecad.c
+@@ -126,7 +126,7 @@ _X_EXPORT InputDriverRec ACECAD =
+ "acecad",
+ NULL,
+ AceCadPreInit,
+- NULL,
++ AceCadUnInit,
+ NULL,
+ default_options
+ };
+@@ -462,16 +462,26 @@ AceCadPreInit(InputDriverPtr drv, InputInfoPtr local, int flags)
+ * If something went wrong, cleanup and return NULL
+ */
+ SetupProc_fail:
+- if ((local) && (local->fd))
++ return BadAlloc;
++}
++
++static void
++AceCadUnInit(InputDriverPtr drv, InputInfoPtr local, int flags)
++{
++ AceCadPrivatePtr priv = (AceCadPrivatePtr) (local->private);
++
++ if (local->fd > -1)
++ {
+ xf86CloseSerial (local->fd);
+- if ((priv) && (priv->buffer))
+- XisbFree (priv->buffer);
++ local->fd = -1;
++ }
++
+ if (priv) {
++ if (priv->buffer)
++ XisbFree (priv->buffer);
+ free (priv);
+- if (local)
+- local->private = NULL;
++ local->private = NULL;
+ }
+- return BadAlloc;
+ }
+
+ static Bool
+diff --git a/src/acecad.h b/src/acecad.h
+index b9291c7..48fa38a 100644
+--- src/acecad.h
++++ src/acecad.h
+@@ -106,6 +106,7 @@ static Bool QueryHardware (AceCadPrivatePtr);
+ static void NewPacket (AceCadPrivatePtr priv);
+ static Bool AceCadGetPacket (AceCadPrivatePtr);
+ static int AceCadPreInit(InputDriverPtr, InputInfoPtr , int);
++static void AceCadUnInit(InputDriverPtr, InputInfoPtr , int);
+ #ifdef HAVE_LINUX_INPUT_H
+ static void USBReadInput (InputInfoPtr);
+ static Bool USBQueryHardware (InputInfoPtr);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-acecad/files/patch-src_acecad.c b/x11-drivers/xf86-input-acecad/files/patch-src_acecad.c
new file mode 100644
index 000000000000..4c51f48b8b42
--- /dev/null
+++ b/x11-drivers/xf86-input-acecad/files/patch-src_acecad.c
@@ -0,0 +1,31 @@
+# Finish converting RemoveEnabledDevice to xf86RemoveEnabledDevice
+#
+--- src/acecad.c.orig 2016-11-24 00:26:03 UTC
++++ src/acecad.c
+@@ -491,7 +491,7 @@ AceCadPreInit(InputDriverPtr drv, InputI
+
+ if (local->fd != -1)
+ {
+- RemoveEnabledDevice (local->fd);
++ xf86RemoveEnabledDevice (local);
+ if (priv->buffer)
+ {
+ XisbFree(priv->buffer);
+@@ -499,7 +499,7 @@ AceCadPreInit(InputDriverPtr drv, InputI
+ }
+ xf86CloseSerial(local->fd);
+ }
+- RemoveEnabledDevice (local->fd);
++ xf86RemoveEnabledDevice (local);
+ local->fd = -1;
+ return Success;
+
+@@ -601,7 +601,7 @@ DeviceOff (DeviceIntPtr dev)
+
+ if (local->fd != -1)
+ {
+- RemoveEnabledDevice (local->fd);
++ xf86RemoveEnabledDevice (local);
+ if (priv->buffer)
+ {
+ XisbFree(priv->buffer);
diff --git a/x11-drivers/xf86-input-elographics/Makefile b/x11-drivers/xf86-input-elographics/Makefile
index 843b5df113b9..9f3de222f26b 100644
--- a/x11-drivers/xf86-input-elographics/Makefile
+++ b/x11-drivers/xf86-input-elographics/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-elographics
PORTVERSION= 1.4.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e b/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e
new file mode 100644
index 000000000000..a97a5305c647
--- /dev/null
+++ b/x11-drivers/xf86-input-elographics/files/patch-git_01_0d3ec2e
@@ -0,0 +1,80 @@
+From 0d3ec2e97c99431cdbaea8e958a75ff2e748da41 Mon Sep 17 00:00:00 2001
+From: Jaska Kivela <jaska@kivela.net>
+Date: Wed, 16 Jan 2013 11:51:04 +0200
+Subject: Added axis inversion functionality.
+
+The module would previously log a message if min > max, but not do anything
+about it. Keep the original min/max around, swap on-the-fly.
+
+Signed-off-by: Jaska Kivela <jaska@kivela.net>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Elo.c b/src/xf86Elo.c
+index cb1699e..c37cf9a 100644
+--- src/xf86Elo.c
++++ src/xf86Elo.c
+@@ -360,6 +360,22 @@ xf86EloReadInput(InputInfoPtr pInfo)
+ cur_y = WORD_ASSEMBLY(priv->packet_buf[5], priv->packet_buf[6]);
+ state = priv->packet_buf[2] & 0x07;
+
++ DBG(5, ErrorF("ELO got: x(%d), y(%d), %s\n",
++ cur_x, cur_y,
++ (state == ELO_PRESS) ? "Press" :
++ ((state == ELO_RELEASE) ? "Release" : "Stream")));
++
++ if (priv->min_y > priv->max_y) {
++ /* inverted y axis */
++ cur_y = priv->max_y - cur_y + priv->min_y;
++ }
++
++ if (priv->min_x > priv->max_x) {
++ /* inverted x axis */
++ cur_x = priv->max_x - cur_x + priv->min_x;
++ }
++
++
+ /*
+ * Send events.
+ *
+@@ -676,6 +692,7 @@ xf86EloControl(DeviceIntPtr dev,
+ unsigned char reply[ELO_PACKET_SIZE];
+ Atom btn_label;
+ Atom axis_labels[2] = { 0, 0 };
++ int x0, x1, y0, y1;
+
+ switch(mode) {
+
+@@ -719,17 +736,27 @@ xf86EloControl(DeviceIntPtr dev,
+ return !Success;
+ }
+ else {
++
++ /* Correct the coordinates for possibly inverted axis.
++ Leave priv->variables untouched so we can check for
++ inversion on incoming events.
++ */
++ y0 = min(priv->min_y, priv->max_y);
++ y1 = max(priv->min_y, priv->max_y);
++ x0 = min(priv->min_x, priv->max_x);
++ x1 = max(priv->min_x, priv->max_x);
++
+ /* I will map coordinates myself */
+ InitValuatorAxisStruct(dev, 0,
+ axis_labels[0],
+- priv->min_x, priv->max_x,
++ x0, x1,
+ 9500,
+ 0 /* min_res */,
+ 9500 /* max_res */,
+ Absolute);
+ InitValuatorAxisStruct(dev, 1,
+ axis_labels[1],
+- priv->min_y, priv->max_y,
++ y0, y1,
+ 10500,
+ 0 /* min_res */,
+ 10500 /* max_res */,
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78 b/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78
new file mode 100644
index 000000000000..e83a50d85eab
--- /dev/null
+++ b/x11-drivers/xf86-input-elographics/files/patch-git_02_c666c78
@@ -0,0 +1,28 @@
+From c666c78c764d0b97fa25bd9f0796a83b77761f7d Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Wed, 30 Jan 2013 11:47:03 +1000
+Subject: Handle DEVICE_ABORT on input ABI 19.1
+
+Don't do anything, but don't print a warning either.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Elo.c b/src/xf86Elo.c
+index c37cf9a..ef2186f 100644
+--- src/xf86Elo.c
++++ src/xf86Elo.c
+@@ -875,6 +875,11 @@ xf86EloControl(DeviceIntPtr dev,
+ DBG(2, ErrorF("Done\n"));
+ return Success;
+
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) * 100 + GET_ABI_MINOR(ABI_XINPUT_VERSION) >= 1901
++ case DEVICE_ABORT:
++ return Success;
++#endif
++
+ default:
+ ErrorF("unsupported mode=%d\n", mode);
+ return BadValue;
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-evdev/Makefile b/x11-drivers/xf86-input-evdev/Makefile
index 6a2cf5de92b4..f401367535e5 100644
--- a/x11-drivers/xf86-input-evdev/Makefile
+++ b/x11-drivers/xf86-input-evdev/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-input-evdev
-PORTVERSION= 2.9.2
-PORTREVISION= 1
+PORTVERSION= 2.10.4
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -12,7 +11,8 @@ LICENSE= MIT # various styles
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
-LIB_DEPENDS= libevdev.so:devel/libevdev
+LIB_DEPENDS= libevdev.so:devel/libevdev \
+ libmtdev.so:devel/libmtdev
RUN_DEPENDS= webcamd>=3.1.0.1:multimedia/webcamd
XORG_CAT= driver
@@ -20,15 +20,4 @@ USES= pathfix
CONFIGURE_ENV= UDEV_CFLAGS=" " UDEV_LIBS=" "
INSTALL_TARGET= install-strip
-OPTIONS_DEFINE= MULTITOUCH
-
-MULTITOUCH_DESC= XInput 2.2 multitouch support
-MULTITOUCH_LIB_DEPENDS= libmtdev.so:devel/libmtdev
-
-post-patch-MULTITOUCH-off:
-# XXX Convert to CONFIGURE_ENV
- @${REINPLACE_CMD} -i '.mtdev.bak' \
- -e '/PKG_CONFIG/s/mtdev/nonexistent/' \
- ${WRKSRC}/configure
-
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-input-evdev/distinfo b/x11-drivers/xf86-input-evdev/distinfo
index ffc30461e505..14c0fd3e220a 100644
--- a/x11-drivers/xf86-input-evdev/distinfo
+++ b/x11-drivers/xf86-input-evdev/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-input-evdev-2.9.2.tar.bz2) = 792329b531afc6928ccda94e4b51a5520d4ddf8ef9a00890a5d0d31898acefec
-SIZE (xorg/driver/xf86-input-evdev-2.9.2.tar.bz2) = 387095
+TIMESTAMP = 1479415100
+SHA256 (xorg/driver/xf86-input-evdev-2.10.4.tar.bz2) = bbf6a03fbce1a6c0c7d874eef519fd0a854bf01b515c745d41fa551ce6490cc2
+SIZE (xorg/driver/xf86-input-evdev-2.10.4.tar.bz2) = 404465
diff --git a/x11-drivers/xf86-input-evdev/pkg-plist b/x11-drivers/xf86-input-evdev/pkg-plist
index d1ee13f203a2..c9d6a12dcdd3 100644
--- a/x11-drivers/xf86-input-evdev/pkg-plist
+++ b/x11-drivers/xf86-input-evdev/pkg-plist
@@ -2,3 +2,4 @@ include/xorg/evdev-properties.h
lib/xorg/modules/input/evdev_drv.so
libdata/pkgconfig/xorg-evdev.pc
man/man4/evdev.4x.gz
+share/X11/xorg.conf.d/10-evdev.conf
diff --git a/x11-drivers/xf86-input-fpit/Makefile b/x11-drivers/xf86-input-fpit/Makefile
index 323693362b4c..daf3dee9afca 100644
--- a/x11-drivers/xf86-input-fpit/Makefile
+++ b/x11-drivers/xf86-input-fpit/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-fpit
PORTVERSION= 1.4.0
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-fpit/files/patch-git_01_38fde65 b/x11-drivers/xf86-input-fpit/files/patch-git_01_38fde65
new file mode 100644
index 000000000000..c7fd79feb32a
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-git_01_38fde65
@@ -0,0 +1,59 @@
+From 38fde65f6c919350b2bf5d2b61b6e9f783ab2cf7 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri, 8 Jul 2011 14:12:53 +1000
+Subject: Fix type name and name
+
+Don't overwrite user-specified device name and set the right type_name.
+If you're capable of setting the option DeviceName, you might as well set
+the Identifier line.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/man/fpit.man b/man/fpit.man
+index 097ff33..8bf31f0 100644
+--- man/fpit.man
++++ man/fpit.man
+@@ -82,10 +82,6 @@ Manipulate the invert and swap options to match screen
+ rotations. (Will behave strangely if combined with invert or swap options.)
+ New users should consider the \fI"TrackRandR"\fP option instead.
+ .TP 4
+-.B Option \fI"DeviceName"\fP \fI"name"\fP
+-.B Option \fI"DeviceName"\fP \fI"name"\fP
+-sets the name of the X device.
+-.TP 4
+ .B Option \fI"AlwaysCore"\fP \fI"on"\fP
+ enables the sharing of the core pointer. When this feature is enabled, the
+ device will take control of the core pointer (and thus will emit core events)
+diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
+index fa4ace7..e7e4e1a 100644
+--- src/xf86Fpit.c
++++ src/xf86Fpit.c
+@@ -527,7 +527,6 @@ static int xf86FpitAllocate(InputDriverPtr drv, InputInfoPtr pInfo)
+ priv->fpitOldProximity = 0;
+ priv->fpitIndex = 0;
+ priv->fpitPassive = 0;
+- pInfo->name = XI_TOUCHSCREEN;
+ pInfo->flags = 0 /* XI86_NO_OPEN_ON_INIT */ ;
+ pInfo->device_control = xf86FpitControl;
+ pInfo->read_input = xf86FpitReadInput;
+@@ -536,7 +535,7 @@ static int xf86FpitAllocate(InputDriverPtr drv, InputInfoPtr pInfo)
+ pInfo->fd = -1;
+ pInfo->dev = NULL;
+ pInfo->private = priv;
+- pInfo->type_name = "Fujitsu Stylistic";
++ pInfo->type_name = XI_TOUCHSCREEN;
+ return Success;
+ }
+
+@@ -577,8 +576,6 @@ static int xf86FpitInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ return BadValue;
+ }
+ priv->fpitDev = strdup(str);
+- pInfo->name = xf86SetStrOption(pInfo->options, "DeviceName", XI_TOUCHSCREEN);
+- xf86Msg(X_CONFIG, "FPIT device name: %s\n", pInfo->name);
+ priv->screen_no = xf86SetIntOption(pInfo->options, "ScreenNo", 0);
+ xf86Msg(X_CONFIG, "Fpit associated screen: %d\n", priv->screen_no);
+ priv->fpitMaxX = xf86SetIntOption(pInfo->options, "MaximumXPosition", FPIT_MAX_X);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-fpit/files/patch-git_02_508d879 b/x11-drivers/xf86-input-fpit/files/patch-git_02_508d879
new file mode 100644
index 000000000000..3670cde34aaf
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-git_02_508d879
@@ -0,0 +1,25 @@
+From 508d8793e5998fcac42a9dfd6f02235c3d82ab11 Mon Sep 17 00:00:00 2001
+From: Terry Lambert <tlambert@chromium.org>
+Date: Fri, 15 Jul 2011 17:23:21 -0700
+Subject: Return proper default for unknown values in pInfo->device_control.
+
+Signed-off-by: Terry Lambert <tlambert@chromium.org>
+Reviewed-by: Stephane Marchesin <marcheu@chromium.org>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
+index e7e4e1a..78b44a2 100644
+--- src/xf86Fpit.c
++++ src/xf86Fpit.c
+@@ -495,7 +495,7 @@ static Bool xf86FpitControl(DeviceIntPtr dev, int mode)
+ return Success;
+ default:
+ ErrorF("unsupported mode=%d\n", mode);
+- return !Success;
++ return BadValue;
+ }
+ }
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-fpit/files/patch-git_03_4b47b4a b/x11-drivers/xf86-input-fpit/files/patch-git_03_4b47b4a
new file mode 100644
index 000000000000..f34f159d18bb
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-git_03_4b47b4a
@@ -0,0 +1,29 @@
+From 4b47b4a9cdce3bd0368aacb8164aa02e05670a88 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 11:42:12 +1000
+Subject: Don't free anything on PreInit failure, let UnInit take care of it
+
+Avoid double free's by the server when it calls UnInit.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
+index 78b44a2..2da34aa 100644
+--- src/xf86Fpit.c
++++ src/xf86Fpit.c
+@@ -567,12 +567,6 @@ static int xf86FpitInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ str = xf86FindOptionValue(pInfo->options, "Device");
+ if (!str) {
+ xf86Msg(X_ERROR, "%s: No Device specified in FPIT module config.\n", pInfo->name);
+- if (priv) {
+- if (priv->fpitDev) {
+- free(priv->fpitDev);
+- }
+- free(priv);
+- }
+ return BadValue;
+ }
+ priv->fpitDev = strdup(str);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-fpit/files/patch-git_04_dc40c58 b/x11-drivers/xf86-input-fpit/files/patch-git_04_dc40c58
new file mode 100644
index 000000000000..5859069c327a
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-git_04_dc40c58
@@ -0,0 +1,29 @@
+From dc40c58c70b785c102a27652569c3de30fc44a9b Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 11:44:35 +1000
+Subject: Test opening the device in PreInit, fail if necessary
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
+index 2da34aa..8c9c830 100644
+--- src/xf86Fpit.c
++++ src/xf86Fpit.c
+@@ -568,6 +568,14 @@ static int xf86FpitInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ if (!str) {
+ xf86Msg(X_ERROR, "%s: No Device specified in FPIT module config.\n", pInfo->name);
+ return BadValue;
++ } else {
++ pInfo->fd = xf86OpenSerial(pInfo->options);
++ if (pInfo->fd < 0) {
++ xf86Msg(X_ERROR, "%s: Unable to open Fpit touchscreen device '%s'", pInfo->name, str);
++ return BadValue;
++ }
++ xf86CloseSerial(pInfo->fd);
++ pInfo->fd = -1;
+ }
+ priv->fpitDev = strdup(str);
+ priv->screen_no = xf86SetIntOption(pInfo->options, "ScreenNo", 0);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-fpit/files/patch-git_05_7a1245d b/x11-drivers/xf86-input-fpit/files/patch-git_05_7a1245d
new file mode 100644
index 000000000000..01d209c0a890
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-git_05_7a1245d
@@ -0,0 +1,23 @@
+From 7a1245defa41517786e9752ea4e588c4f88f7047 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 11:45:00 +1000
+Subject: Use xf86SetStrOption to print Option Device to the log
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
+index 8c9c830..9ab3bb0 100644
+--- src/xf86Fpit.c
++++ src/xf86Fpit.c
+@@ -564,7 +564,7 @@ static int xf86FpitInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ return rc;
+
+ priv = pInfo->private;
+- str = xf86FindOptionValue(pInfo->options, "Device");
++ str = xf86SetStrOption(pInfo->options, "Device", NULL);
+ if (!str) {
+ xf86Msg(X_ERROR, "%s: No Device specified in FPIT module config.\n", pInfo->name);
+ return BadValue;
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-fpit/files/patch-git_06_270607a b/x11-drivers/xf86-input-fpit/files/patch-git_06_270607a
new file mode 100644
index 000000000000..2e18d3c704e0
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-git_06_270607a
@@ -0,0 +1,22 @@
+From 270607ae055a21bdac44f905a791260c5b34089b Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 12:32:50 +1000
+Subject: Don't call DEVICE_OFF in UnInit, the server does it for us
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
+index 9ab3bb0..eb85a2e 100644
+--- src/xf86Fpit.c
++++ src/xf86Fpit.c
+@@ -542,7 +542,6 @@ static int xf86FpitAllocate(InputDriverPtr drv, InputInfoPtr pInfo)
+ static void xf86FpitUninit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ {
+ FpitPrivatePtr priv = (FpitPrivatePtr) pInfo->private;
+- xf86FpitControl(pInfo->dev, DEVICE_OFF);
+ free(priv->fpitDev);
+ free(priv);
+ pInfo->private = NULL;
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-fpit/files/patch-git_07_5772c7f b/x11-drivers/xf86-input-fpit/files/patch-git_07_5772c7f
new file mode 100644
index 000000000000..7317be843c7c
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-git_07_5772c7f
@@ -0,0 +1,26 @@
+From 5772c7f58f24e259349ad048de096802184c7aa1 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 15:52:11 +1000
+Subject: Check for priv before dereferencing it.
+
+We can hit this path when the priv alloc fails.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
+index eb85a2e..3c70b4a 100644
+--- src/xf86Fpit.c
++++ src/xf86Fpit.c
+@@ -542,7 +542,8 @@ static int xf86FpitAllocate(InputDriverPtr drv, InputInfoPtr pInfo)
+ static void xf86FpitUninit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ {
+ FpitPrivatePtr priv = (FpitPrivatePtr) pInfo->private;
+- free(priv->fpitDev);
++ if (priv)
++ free(priv->fpitDev);
+ free(priv);
+ pInfo->private = NULL;
+ xf86DeleteInput(pInfo, 0);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-fpit/files/patch-git_09_00742d9 b/x11-drivers/xf86-input-fpit/files/patch-git_09_00742d9
new file mode 100644
index 000000000000..4174214e5710
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-git_09_00742d9
@@ -0,0 +1,28 @@
+From 00742d9a9bcd06800b2548007ea304c331875666 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Mon, 20 Aug 2012 10:00:57 +1000
+Subject: Don't force pInfo->flags to 0 (#40870)
+
+The server uses the flags to decide if a device comes up as attached or
+floating slave. Overwriting the flag after the server has processed the
+CorePointer/AlwaysCore/Floating/etc options results in the device always
+coming up as floating slave. This again makes the device appear
+unresponsive.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
+index 3c70b4a..8852d4d 100644
+--- src/xf86Fpit.c
++++ src/xf86Fpit.c
+@@ -527,7 +527,6 @@ static int xf86FpitAllocate(InputDriverPtr drv, InputInfoPtr pInfo)
+ priv->fpitOldProximity = 0;
+ priv->fpitIndex = 0;
+ priv->fpitPassive = 0;
+- pInfo->flags = 0 /* XI86_NO_OPEN_ON_INIT */ ;
+ pInfo->device_control = xf86FpitControl;
+ pInfo->read_input = xf86FpitReadInput;
+ pInfo->control_proc = NULL;
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-fpit/files/patch-src_xf86Fpit.c b/x11-drivers/xf86-input-fpit/files/patch-src_xf86Fpit.c
new file mode 100644
index 000000000000..fb94b6dc5439
--- /dev/null
+++ b/x11-drivers/xf86-input-fpit/files/patch-src_xf86Fpit.c
@@ -0,0 +1,52 @@
+# Finish converting RemoveEnabledDevice to xf86RemoveEnabledDevice
+# Finish converting use of Error to ErrorF
+# Remove obsolete xf86InputSetScreen
+# Correct type of default_options
+#
+--- src/xf86Fpit.c.orig 2011-06-13 23:24:05 UTC
++++ src/xf86Fpit.c
+@@ -251,7 +251,7 @@ static void xf86FpitReadInput(InputInfoP
+ /* Read data into buffer */
+ len = xf86ReadSerial(pInfo->fd, priv->fpitData+priv->fpitIndex, BUFFER_SIZE-priv->fpitIndex);
+ if (len <= 0) {
+- Error("error reading FPIT device");
++ ErrorF("error reading FPIT device\n");
+ priv->fpitIndex = 0;
+ return;
+ }
+@@ -324,7 +324,7 @@ static void xf86FpitReadInput(InputInfoP
+ device = pInfo->dev;
+
+ xf86FpitConvert(pInfo, 0, 2, x, y, 0, 0, 0, 0, &conv_x, &conv_y);
+- xf86XInputSetScreen(pInfo, priv->screen_no, conv_x, conv_y);
++ //xf86XInputSetScreen(pInfo, priv->screen_no, conv_x, conv_y);
+
+ /* coordinates are ready we can send events */
+
+@@ -459,7 +459,7 @@ static Bool xf86FpitControl(DeviceIntPtr
+ if (pInfo->fd < 0) {
+ pInfo->fd = xf86OpenSerial(pInfo->options);
+ if (pInfo->fd < 0) {
+- Error("Unable to open Fpit touchscreen device");
++ ErrorF("Unable to open Fpit touchscreen device\n");
+ return !Success;
+ }
+
+@@ -488,7 +488,7 @@ static Bool xf86FpitControl(DeviceIntPtr
+ case DEVICE_CLOSE:
+ dev->public.on = FALSE;
+ if (pInfo->fd >= 0) {
+- RemoveEnabledDevice(pInfo->fd);
++ xf86RemoveEnabledDevice(pInfo);
+ }
+ xf86CloseSerial(pInfo->fd);
+ pInfo->fd = -1;
+@@ -550,7 +550,7 @@ static void xf86FpitUninit(InputDriverPt
+ xf86DeleteInput(pInfo, 0);
+ }
+
+-static char *default_options[] = {
++static const char *default_options[] = {
+ "BaudRate", "19200", "StopBits", "0", "DataBits", "8", "Parity", "None", "Vmin", "10", "Vtime", "1", "FlowControl", "None", NULL
+ };
+
diff --git a/x11-drivers/xf86-input-hyperpen/Makefile b/x11-drivers/xf86-input-hyperpen/Makefile
index 4d06099724e9..364445422485 100644
--- a/x11-drivers/xf86-input-hyperpen/Makefile
+++ b/x11-drivers/xf86-input-hyperpen/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-hyperpen
PORTVERSION= 1.4.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-hyperpen/files/patch-git_01_161f414 b/x11-drivers/xf86-input-hyperpen/files/patch-git_01_161f414
new file mode 100644
index 000000000000..318353d239c5
--- /dev/null
+++ b/x11-drivers/xf86-input-hyperpen/files/patch-git_01_161f414
@@ -0,0 +1,27 @@
+From 161f41449bef339ce5bd1a3e87f6beac584c2074 Mon Sep 17 00:00:00 2001
+From: Terry Lambert <tlambert@chromium.org>
+Date: Fri, 15 Jul 2011 17:23:21 -0700
+Subject: xf86-input-hyperpen: Return proper default for unknown values in
+ pInfo->device_control.
+
+Signed-off-by: Terry Lambert <tlambert@chromium.org>
+Reviewed-by: Stephane Marchesin <marcheu@chromium.org>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86HyperPen.c b/src/xf86HyperPen.c
+index 45ddfca..b0e5ac9 100644
+--- src/xf86HyperPen.c
++++ src/xf86HyperPen.c
+@@ -729,8 +729,7 @@ xf86HypProc(DeviceIntPtr pHyp, int what)
+
+ default:
+ ErrorF("unsupported mode=%d\n", what);
+- return !Success;
+- break;
++ return BadValue;
+ }
+ DBG(2, ErrorF("END xf86HypProc Success what=%d dev=%p priv=%p\n",
+ what, (void *)pHyp, (void *)priv));
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-hyperpen/files/patch-git_02_b2ef09f b/x11-drivers/xf86-input-hyperpen/files/patch-git_02_b2ef09f
new file mode 100644
index 000000000000..70ac05c21a4f
--- /dev/null
+++ b/x11-drivers/xf86-input-hyperpen/files/patch-git_02_b2ef09f
@@ -0,0 +1,33 @@
+From b2ef09f6c4034dec03898df7f8024fc58794b055 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 12:40:19 +1000
+Subject: Don't free anything in PreInit, let UnInit take care of it.
+
+The server calls UnInit, avoid double free's by letting the server free
+everything.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86HyperPen.c b/src/xf86HyperPen.c
+index b0e5ac9..52a6e4f 100644
+--- src/xf86HyperPen.c
++++ src/xf86HyperPen.c
+@@ -973,14 +973,9 @@ xf86HypInit(InputDriverPtr drv,
+ }
+ }
+
+- return rc;
+-
+ SetupProc_fail:
+- if (priv)
+- free(priv);
+- if (pInfo)
+- free(pInfo);
+ return rc;
++
+ }
+
+ _X_EXPORT InputDriverRec HYPERPEN = {
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-hyperpen/files/patch-git_03_02a74cf b/x11-drivers/xf86-input-hyperpen/files/patch-git_03_02a74cf
new file mode 100644
index 000000000000..c66f8870b7a6
--- /dev/null
+++ b/x11-drivers/xf86-input-hyperpen/files/patch-git_03_02a74cf
@@ -0,0 +1,25 @@
+From 02a74cfd0ba5ac0190307a63189ac643644b7574 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 12:41:24 +1000
+Subject: Use xf86SetStrOption for Option Device
+
+Let the device be printed in the logs
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86HyperPen.c b/src/xf86HyperPen.c
+index 52a6e4f..320add5 100644
+--- src/xf86HyperPen.c
++++ src/xf86HyperPen.c
+@@ -827,7 +827,7 @@ xf86HypInit(InputDriverPtr drv,
+ }
+
+ /* Serial Device is mandatory */
+- priv->hypDevice = xf86FindOptionValue(pInfo->options, "Device");
++ priv->hypDevice = xf86SetStrOption(pInfo->options, "Device", NULL);
+
+ if (!priv->hypDevice) {
+ xf86Msg (X_ERROR, "%s: No Device specified.\n", pInfo->name);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-hyperpen/files/patch-git_04_6d660b0 b/x11-drivers/xf86-input-hyperpen/files/patch-git_04_6d660b0
new file mode 100644
index 000000000000..76281f174a44
--- /dev/null
+++ b/x11-drivers/xf86-input-hyperpen/files/patch-git_04_6d660b0
@@ -0,0 +1,29 @@
+From 6d660b0439973d2ee0c550e3413d75bd57763243 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 12:42:43 +1000
+Subject: Test device in PreInit, fail if it cannot be opened.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86HyperPen.c b/src/xf86HyperPen.c
+index 320add5..8b9011e 100644
+--- src/xf86HyperPen.c
++++ src/xf86HyperPen.c
+@@ -833,6 +833,14 @@ xf86HypInit(InputDriverPtr drv,
+ xf86Msg (X_ERROR, "%s: No Device specified.\n", pInfo->name);
+ rc = BadMatch;
+ goto SetupProc_fail;
++ } else {
++ pInfo->fd = xf86OpenSerial(pInfo->options);
++ if (pInfo->fd == -1) {
++ xf86Msg (X_ERROR, "%s: cannot open device '%s'\n", pInfo->name, priv->hypDevice);
++ return BadValue;
++ }
++ xf86CloseSerial(pInfo->fd);
++ pInfo->fd = -1;
+ }
+
+ pInfo->private = priv;
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-hyperpen/files/patch-git_06_2c03719 b/x11-drivers/xf86-input-hyperpen/files/patch-git_06_2c03719
new file mode 100644
index 000000000000..a6fbb6a20723
--- /dev/null
+++ b/x11-drivers/xf86-input-hyperpen/files/patch-git_06_2c03719
@@ -0,0 +1,21 @@
+From 2c037196bcc50cb299bc768124404b38cb67c087 Mon Sep 17 00:00:00 2001
+From: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sun, 20 May 2012 10:59:09 +0200
+Subject: src/Makefile.am: set AM_CFLAGS correctly.
+
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index dbb7ae0..e7fae3f 100644
+--- src/Makefile.am
++++ src/Makefile.am
+@@ -24,6 +24,7 @@
+ # -avoid-version prevents gratuitous .0.0.0 version numbers on the end
+ # _ladir passes a dummy rpath to libtool so the thing will actually link
+ # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
++AM_CFLAGS = $(XORG_CFLAGS)
+ @DRIVER_NAME@_drv_la_LTLIBRARIES = @DRIVER_NAME@_drv.la
+ @DRIVER_NAME@_drv_la_LDFLAGS = -module -avoid-version
+ @DRIVER_NAME@_drv_ladir = @inputdir@
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-hyperpen/files/patch-src_xf86HyperPen.c b/x11-drivers/xf86-input-hyperpen/files/patch-src_xf86HyperPen.c
new file mode 100644
index 000000000000..912ee4dcdc20
--- /dev/null
+++ b/x11-drivers/xf86-input-hyperpen/files/patch-src_xf86HyperPen.c
@@ -0,0 +1,85 @@
+# Finish converting use of Error to ErrorF
+# Correct a couple strings that should be const
+#
+--- src/xf86HyperPen.c.orig 2011-07-05 01:34:17 UTC
++++ src/xf86HyperPen.c
+@@ -66,7 +66,7 @@
+ * read a full packet before returning
+ */
+
+-static char *default_options[] = {
++static const char *default_options[] = {
+ "BaudRate", "9600",
+ "DataBits", "8",
+ "StopBits", "1",
+@@ -212,7 +212,7 @@ xf86HypReadInput(InputInfoPtr pInfo)
+ SYSCALL(len = read(pInfo->fd, buffer, sizeof(buffer)));
+
+ if (len <= 0) {
+- Error("error reading HyperPen device");
++ ErrorF("error reading HyperPen device\n");
+ return;
+ }
+
+@@ -372,14 +372,14 @@ xf86HypWriteAndRead(int fd, char *data,
+
+ SYSCALL(err = write(fd, data, strlen(data)));
+ if (err == -1) {
+- Error("HyperPen write");
++ ErrorF("HyperPen write\n");
+ return NULL;
+ }
+
+ while (numread < len) {
+ err = xf86WaitForInput(fd, 100000);
+ if (err == -1) {
+- Error("HyperPen select");
++ ErrorF("HyperPen select\n");
+ return NULL;
+ }
+ if (!err) {
+@@ -389,7 +389,7 @@ xf86HypWriteAndRead(int fd, char *data,
+
+ SYSCALL(err = read(fd, buffer + numread++, 1));
+ if (err == -1) {
+- Error("HyperPen read");
++ ErrorF("HyperPen read\n");
+ return NULL;
+ }
+ if (!err) {
+@@ -431,7 +431,7 @@ xf86HypOpen(InputInfoPtr pInfo)
+
+ pInfo->fd = xf86OpenSerial(pInfo->options);
+ if (pInfo->fd == -1) {
+- Error(priv->hypDevice);
++ ErrorF("failed to open %s\n", priv->hypDevice);
+ return !Success;
+ }
+ DBG(2, ErrorF("%s opened as fd %d\n", priv->hypDevice, pInfo->fd));
+@@ -449,7 +449,7 @@ xf86HypOpen(InputInfoPtr pInfo)
+ /* Put it in prompt mode so it doesn't say anything before we're ready */
+ SYSCALL(err = write(pInfo->fd, SS_PROMPT_MODE, strlen(SS_PROMPT_MODE)));
+ if (err == -1) {
+- Error("HyperPen write");
++ ErrorF("HyperPen write\n");
+ return !Success;
+ }
+ /* Clear any pending input */
+@@ -578,7 +578,7 @@ xf86HypOpen(InputInfoPtr pInfo)
+ SYSCALL(err = write(pInfo->fd, buffer, idx));
+
+ if (err == -1) {
+- Error("HyperPen write");
++ ErrorF("HyperPen write\n");
+ return !Success;
+ }
+
+@@ -819,7 +819,7 @@ xf86HypInit(InputDriverPtr drv,
+ int flags)
+ {
+ HyperPenDevicePtr priv = malloc(sizeof(HyperPenDeviceRec));
+- char *s;
++ const char *s;
+ int rc = Success;
+
+ if (!priv) {
diff --git a/x11-drivers/xf86-input-joystick/Makefile b/x11-drivers/xf86-input-joystick/Makefile
index 1ac00b3aa1f9..7cc2f7de4c45 100644
--- a/x11-drivers/xf86-input-joystick/Makefile
+++ b/x11-drivers/xf86-input-joystick/Makefile
@@ -1,13 +1,15 @@
# $FreeBSD$
PORTNAME= xf86-input-joystick
-PORTVERSION= 1.6.2
-PORTREVISION= 4
+PORTVERSION= 1.6.3
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org joystick input driver
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
XORG_CAT= driver
USES= pathfix
diff --git a/x11-drivers/xf86-input-joystick/distinfo b/x11-drivers/xf86-input-joystick/distinfo
index e1266a38c531..fdcd2da29ac5 100644
--- a/x11-drivers/xf86-input-joystick/distinfo
+++ b/x11-drivers/xf86-input-joystick/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-input-joystick-1.6.2.tar.bz2) = ee3b86ed72f3b5befdeed39909320f4b6970401cfbcc2cc0dfd8fb1c1576150d
-SIZE (xorg/driver/xf86-input-joystick-1.6.2.tar.bz2) = 327539
+TIMESTAMP = 1484349908
+SHA256 (xorg/driver/xf86-input-joystick-1.6.3.tar.bz2) = 9e7669ecf0f23b8e5dc39d5397cf28296f692aa4c0e4255f5e02816612c18eab
+SIZE (xorg/driver/xf86-input-joystick-1.6.3.tar.bz2) = 351846
diff --git a/x11-drivers/xf86-input-keyboard/Makefile b/x11-drivers/xf86-input-keyboard/Makefile
index 4b9636d45b4e..19100462f852 100644
--- a/x11-drivers/xf86-input-keyboard/Makefile
+++ b/x11-drivers/xf86-input-keyboard/Makefile
@@ -1,12 +1,15 @@
# $FreeBSD$
PORTNAME= xf86-input-keyboard
-PORTVERSION= 1.8.1
+PORTVERSION= 1.9.0
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org keyboard input driver
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
XORG_CAT= driver
USE_XORG= kbproto
diff --git a/x11-drivers/xf86-input-keyboard/distinfo b/x11-drivers/xf86-input-keyboard/distinfo
index 5179c5d1935a..adcb16cd1c25 100644
--- a/x11-drivers/xf86-input-keyboard/distinfo
+++ b/x11-drivers/xf86-input-keyboard/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-input-keyboard-1.8.1.tar.bz2) = 1ac8ff39bf9da7d2fc7fd6c24515726e8138340c0518ab8c606e008cf93ca211
-SIZE (xorg/driver/xf86-input-keyboard-1.8.1.tar.bz2) = 319232
+TIMESTAMP = 1484349230
+SHA256 (xorg/driver/xf86-input-keyboard-1.9.0.tar.bz2) = f7c900f21752683402992b288d5a2826de7a6c0c0abac2aadd7e8a409e170388
+SIZE (xorg/driver/xf86-input-keyboard-1.9.0.tar.bz2) = 341693
diff --git a/x11-drivers/xf86-input-mouse/Makefile b/x11-drivers/xf86-input-mouse/Makefile
index c883d3a0bc7e..aa0bb9b4b854 100644
--- a/x11-drivers/xf86-input-mouse/Makefile
+++ b/x11-drivers/xf86-input-mouse/Makefile
@@ -1,14 +1,17 @@
# $FreeBSD$
PORTNAME= xf86-input-mouse
-PORTVERSION= 1.9.1
-PORTREVISION= 1
+PORTVERSION= 1.9.2
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org mouse input driver
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
XORG_CAT= driver
USES= pathfix
+INSTALL_TARGET= install-strip
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-input-mouse/distinfo b/x11-drivers/xf86-input-mouse/distinfo
index 900699e0397d..06655a5e93da 100644
--- a/x11-drivers/xf86-input-mouse/distinfo
+++ b/x11-drivers/xf86-input-mouse/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-input-mouse-1.9.1.tar.bz2) = 3485d375779c08406f0789feedde15933dc703158a086ddac638598f479fc5ce
-SIZE (xorg/driver/xf86-input-mouse-1.9.1.tar.bz2) = 348244
+TIMESTAMP = 1479392438
+SHA256 (xorg/driver/xf86-input-mouse-1.9.2.tar.bz2) = f425d5b05c6ab412a27e0a1106bb83f9e2662b307210abbe48270892387f4b2f
+SIZE (xorg/driver/xf86-input-mouse-1.9.2.tar.bz2) = 377685
diff --git a/x11-drivers/xf86-input-mouse/files/patch-src-bsd_mouse.c b/x11-drivers/xf86-input-mouse/files/patch-src-bsd_mouse.c
index f4d39fabf24b..997661eeb160 100644
--- a/x11-drivers/xf86-input-mouse/files/patch-src-bsd_mouse.c
+++ b/x11-drivers/xf86-input-mouse/files/patch-src-bsd_mouse.c
@@ -1,4 +1,4 @@
---- src/bsd_mouse.c.orig 2014-08-12 06:36:34 UTC
+--- src/bsd_mouse.c.orig 2015-04-20 01:07:33 UTC
+++ src/bsd_mouse.c
@@ -26,6 +26,24 @@
* authorization from the copyright holder(s) and author(s).
@@ -476,12 +476,21 @@
+ xf86FlushInput(pInfo->fd);
+ if (!xf86InstallSIGIOHandler (pInfo->fd, usbSigioReadInput,
+ pInfo))
-+ AddEnabledDevice(pInfo->fd);
++ xf86AddEnabledDevice(pInfo);
+ }
+ }
}
pMse->lastButtons = 0;
pMse->lastMappedButtons = 0;
+@@ -560,7 +737,7 @@ usbMouseProc(DeviceIntPtr pPointer, int
+ case DEVICE_OFF:
+ case DEVICE_CLOSE:
+ if (pInfo->fd != -1) {
+- RemoveEnabledDevice(pInfo->fd);
++ xf86RemoveEnabledDevice(pInfo);
+ if (pUsbMse->packetSize > 8 && pUsbMse->buffer) {
+ free(pUsbMse->buffer);
+ }
@@ -571,6 +748,7 @@ usbMouseProc(DeviceIntPtr pPointer, int
xf86CloseSerial(pInfo->fd);
pInfo->fd = -1;
diff --git a/x11-drivers/xf86-input-mouse/files/patch-src_Makefile.in b/x11-drivers/xf86-input-mouse/files/patch-src_Makefile.in
index ba7c09e4fe00..68ee4657fb9e 100644
--- a/x11-drivers/xf86-input-mouse/files/patch-src_Makefile.in
+++ b/x11-drivers/xf86-input-mouse/files/patch-src_Makefile.in
@@ -1,6 +1,6 @@
---- src/Makefile.in.orig 2015-03-03 05:17:45 UTC
+--- src/Makefile.in.orig 2016-11-22 04:55:36 UTC
+++ src/Makefile.in
-@@ -344,7 +344,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include $(
+@@ -357,7 +357,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include $(
# _ladir passes a dummy rpath to libtool so the thing will actually link
# TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
@DRIVER_NAME@_drv_la_LTLIBRARIES = @DRIVER_NAME@_drv.la
diff --git a/x11-drivers/xf86-input-mouse/files/patch-src_mouse.c b/x11-drivers/xf86-input-mouse/files/patch-src_mouse.c
index d4884b7ad585..14e1f75ca959 100644
--- a/x11-drivers/xf86-input-mouse/files/patch-src_mouse.c
+++ b/x11-drivers/xf86-input-mouse/files/patch-src_mouse.c
@@ -1,6 +1,6 @@
---- src/mouse.c.orig 2014-08-12 06:36:34 UTC
+--- src/mouse.c.orig 2016-09-06 03:53:31 UTC
+++ src/mouse.c
-@@ -293,13 +293,39 @@ MouseCommonOptions(InputInfoPtr pInfo)
+@@ -304,13 +304,39 @@ MouseCommonOptions(InputInfoPtr pInfo)
pMse = pInfo->private;
@@ -41,7 +41,7 @@
pMse->emulate3Buttons = xf86SetBoolOption(pInfo->options,
"Emulate3Buttons", FALSE);
if (!xf86FindOptionValue(pInfo->options,"Emulate3Buttons")) {
-@@ -311,6 +337,8 @@ MouseCommonOptions(InputInfoPtr pInfo)
+@@ -322,6 +348,8 @@ MouseCommonOptions(InputInfoPtr pInfo)
"Emulate3Timeout", 50);
if (pMse->emulate3Buttons || pMse->emulate3ButtonsSoft) {
MessageType from = X_CONFIG;
@@ -50,7 +50,7 @@
if (pMse->emulate3ButtonsSoft)
from = X_DEFAULT;
xf86Msg(from, "%s: Emulate3Buttons, Emulate3Timeout: %d\n",
-@@ -318,6 +346,8 @@ MouseCommonOptions(InputInfoPtr pInfo)
+@@ -329,6 +357,8 @@ MouseCommonOptions(InputInfoPtr pInfo)
}
pMse->chordMiddle = xf86SetBoolOption(pInfo->options, "ChordMiddle", FALSE);
@@ -59,7 +59,7 @@
pMse->flipXY = xf86SetBoolOption(pInfo->options, "FlipXY", FALSE);
if (xf86SetBoolOption(pInfo->options, "InvX", FALSE)) {
pMse->invX = -1;
-@@ -328,7 +358,7 @@ MouseCommonOptions(InputInfoPtr pInfo)
+@@ -339,7 +369,7 @@ MouseCommonOptions(InputInfoPtr pInfo)
} else
pMse->invY = 1;
pMse->angleOffset = xf86SetIntOption(pInfo->options, "AngleOffset", 0);
@@ -68,7 +68,7 @@
if (pMse->pDragLock)
free(pMse->pDragLock);
-@@ -438,14 +468,17 @@ MouseCommonOptions(InputInfoPtr pInfo)
+@@ -449,14 +479,17 @@ MouseCommonOptions(InputInfoPtr pInfo)
free(s);
}
@@ -88,7 +88,7 @@
pMse->negativeZ = pMse->positiveZ = MSE_MAPTOX;
msg = xstrdup("X axis");
} else if (!xf86NameCmp(s, "y")) {
-@@ -594,29 +627,6 @@ MouseCommonOptions(InputInfoPtr pInfo)
+@@ -605,29 +638,6 @@ MouseCommonOptions(InputInfoPtr pInfo)
pInfo->name, wheelButton, pMse->wheelInertia,
pMse->wheelButtonTimeout);
}
@@ -118,7 +118,7 @@
if (origButtons != pMse->buttons)
buttons_from = X_CONFIG;
xf86Msg(buttons_from, "%s: Buttons: %d\n", pInfo->name, pMse->buttons);
-@@ -698,7 +708,6 @@ MouseHWOptions(InputInfoPtr pInfo)
+@@ -709,7 +719,6 @@ MouseHWOptions(InputInfoPtr pInfo)
}
pMse->sampleRate = xf86SetIntOption(pInfo->options, "SampleRate", 0);
pMse->resolution = xf86SetIntOption(pInfo->options, "Resolution", 0);
@@ -126,7 +126,7 @@
}
static void
-@@ -986,6 +995,8 @@ MousePreInit(InputDriverPtr drv, InputIn
+@@ -997,6 +1006,8 @@ MousePreInit(InputDriverPtr drv, InputIn
/* Default Mapping: 1 2 3 8 9 10 11 ... */
for (i = 0; i < MSE_MAXBUTTONS; i++)
pMse->buttonMap[i] = 1 << (i > 2 && i < MSE_MAXBUTTONS-4 ? i+4 : i);
@@ -135,7 +135,7 @@
protocol = MousePickProtocol(pInfo, device, protocol, &protocolID);
-@@ -2181,7 +2192,7 @@ MouseDoPostEvent(InputInfoPtr pInfo, int
+@@ -2198,7 +2209,7 @@ MouseDoPostEvent(InputInfoPtr pInfo, int
if (pMse->emulateWheel) {
/* Emulate wheel button handling */
@@ -144,7 +144,7 @@
wheelButtonMask = 0;
else
wheelButtonMask = 1 << (pMse->wheelButton - 1);
-@@ -2271,6 +2282,9 @@ MouseDoPostEvent(InputInfoPtr pInfo, int
+@@ -2288,6 +2299,9 @@ MouseDoPostEvent(InputInfoPtr pInfo, int
}
}
}
@@ -154,7 +154,7 @@
}
/* Absorb the mouse movement while the wheel button is pressed. */
-@@ -2288,7 +2302,7 @@ MouseDoPostEvent(InputInfoPtr pInfo, int
+@@ -2305,7 +2319,7 @@ MouseDoPostEvent(InputInfoPtr pInfo, int
if (pMse->emulate3ButtonsSoft && pMse->emulate3Pending && (dx || dy))
buttonTimer(pInfo);
@@ -163,7 +163,7 @@
xf86PostMotionEvent(pInfo->dev, 0, 0, 2, dx, dy);
if (change) {
-@@ -2401,12 +2415,10 @@ MousePostEvent(InputInfoPtr pInfo, int t
+@@ -2418,12 +2432,10 @@ MousePostEvent(InputInfoPtr pInfo, int t
int dx, int dy, int dz, int dw)
{
MouseDevPtr pMse;
@@ -176,7 +176,7 @@
if (pMse->protocolID == PROT_MMHIT)
b = reverseBits(hitachMap, truebuttons);
-@@ -2499,11 +2511,11 @@ MousePostEvent(InputInfoPtr pInfo, int t
+@@ -2516,11 +2528,11 @@ MousePostEvent(InputInfoPtr pInfo, int t
/* Accumulate the scaled dx, dy in the private variables
fracdx,fracdy and return the integer number part */
diff --git a/x11-drivers/xf86-input-mouse/files/patch-src_mouse.h b/x11-drivers/xf86-input-mouse/files/patch-src_mouse.h
index 2001c5b43698..7bd620564018 100644
--- a/x11-drivers/xf86-input-mouse/files/patch-src_mouse.h
+++ b/x11-drivers/xf86-input-mouse/files/patch-src_mouse.h
@@ -1,4 +1,4 @@
---- src/mouse.h.orig 2014-08-12 06:36:34 UTC
+--- src/mouse.h.orig 2012-10-08 01:40:07 UTC
+++ src/mouse.h
@@ -220,10 +220,13 @@ typedef struct _MouseDevRec {
Bool emulate3ButtonsSoft;
diff --git a/x11-drivers/xf86-input-mouse/files/patch-src_mousePriv.h b/x11-drivers/xf86-input-mouse/files/patch-src_mousePriv.h
index d53173133fa7..91e92858dbec 100644
--- a/x11-drivers/xf86-input-mouse/files/patch-src_mousePriv.h
+++ b/x11-drivers/xf86-input-mouse/files/patch-src_mousePriv.h
@@ -1,4 +1,4 @@
---- src/mousePriv.h.orig 2014-08-12 06:36:34 UTC
+--- src/mousePriv.h.orig 2012-05-28 00:01:45 UTC
+++ src/mousePriv.h
@@ -63,8 +63,6 @@ typedef struct {
int acc;
diff --git a/x11-drivers/xf86-input-mutouch/Makefile b/x11-drivers/xf86-input-mutouch/Makefile
index 3944364c58d9..89d2cb143c6c 100644
--- a/x11-drivers/xf86-input-mutouch/Makefile
+++ b/x11-drivers/xf86-input-mutouch/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-mutouch
PORTVERSION= 1.3.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-mutouch/files/patch-git_01_066b889 b/x11-drivers/xf86-input-mutouch/files/patch-git_01_066b889
new file mode 100644
index 000000000000..fa1c72972cf9
--- /dev/null
+++ b/x11-drivers/xf86-input-mutouch/files/patch-git_01_066b889
@@ -0,0 +1,29 @@
+From 066b889695316c2bf45c95ad80f793d72ec0db75 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri, 8 Jul 2011 15:01:26 +1000
+Subject: Remove option DeviceName.
+
+If you can set Option DeviceName, you should also be able to set Identifier
+instead.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
+index 290fa11..a3fec4b 100644
+--- src/xf86MuTouch.c
++++ src/xf86MuTouch.c
+@@ -1135,11 +1135,6 @@ xf86MuTInit(InputDriverPtr drv,
+ /* Process the common options. */
+ xf86ProcessCommonOptions(pInfo, pInfo->options);
+
+- str = xf86FindOptionValue(pInfo->options, "DeviceName");
+- if (str) {
+- pInfo->name = strdup(str);
+- }
+- xf86Msg(X_CONFIG, "MuTouch X device name: %s\n", pInfo->name);
+ priv->screen_no = xf86SetIntOption(pInfo->options, "ScreenNo", 0);
+ xf86Msg(X_CONFIG, "MuTouch associated screen: %d\n", priv->screen_no);
+ priv->max_x = xf86SetIntOption(pInfo->options, "MaxX", 3000);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-mutouch/files/patch-git_02_7b06397 b/x11-drivers/xf86-input-mutouch/files/patch-git_02_7b06397
new file mode 100644
index 000000000000..b5f9fe297ae5
--- /dev/null
+++ b/x11-drivers/xf86-input-mutouch/files/patch-git_02_7b06397
@@ -0,0 +1,25 @@
+From 7b063972e8ebbb244c8d92d8df194c5df9f015bc Mon Sep 17 00:00:00 2001
+From: Terry Lambert <tlambert@chromium.org>
+Date: Fri, 15 Jul 2011 17:23:23 -0700
+Subject: Return proper default for unknown values in pInfo->device_control.
+
+Signed-off-by: Terry Lambert <tlambert@chromium.org>
+Reviewed-by: Stephane Marchesin <marcheu@chromium.org>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
+index a3fec4b..3b9b6b8 100644
+--- src/xf86MuTouch.c
++++ src/xf86MuTouch.c
+@@ -944,7 +944,7 @@ xf86MuTControl(DeviceIntPtr dev,
+
+ default:
+ ErrorF("unsupported mode=%d\n", mode);
+- return !Success;
++ return BadValue;
+ }
+ }
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-mutouch/files/patch-git_03_7bf5e0d b/x11-drivers/xf86-input-mutouch/files/patch-git_03_7bf5e0d
new file mode 100644
index 000000000000..904c4db87065
--- /dev/null
+++ b/x11-drivers/xf86-input-mutouch/files/patch-git_03_7bf5e0d
@@ -0,0 +1,36 @@
+From 7bf5e0d8c1863079330196dbe0efb230d74eeb70 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 12:57:00 +1000
+Subject: =?UTF-8?q?Use=20xf86SetStrOption=20for=20Type=20and=20Device=20?=
+ =?UTF-8?q?=E2=86=92=20prints=20to=20the=20log?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
+index 3b9b6b8..b35d1da 100644
+--- src/xf86MuTouch.c
++++ src/xf86MuTouch.c
+@@ -1074,7 +1074,7 @@ xf86MuTInit(InputDriverPtr drv,
+ int portrait=0;
+ int rc = Success;
+
+- str = xf86FindOptionValue(pInfo->options, "Type");
++ str = xf86SetStrOption(pInfo->options, "Type", NULL);
+ if (str && (xf86NameCmp(str, "finger") == 0)) {
+ rc = xf86MuTAllocateFinger(drv, pInfo);
+ }
+@@ -1091,7 +1091,7 @@ xf86MuTInit(InputDriverPtr drv,
+ }
+ priv = pInfo->private;
+
+- str = xf86FindOptionValue(pInfo->options, "Device");
++ str = xf86SetStrOption(pInfo->options, "Device", NULL);
+ if (!str) {
+ xf86Msg(X_ERROR, "%s: No Device specified in MuTouch module config.\n",
+ pInfo->name);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-mutouch/files/patch-git_04_ea858f9 b/x11-drivers/xf86-input-mutouch/files/patch-git_04_ea858f9
new file mode 100644
index 000000000000..69b31a921c32
--- /dev/null
+++ b/x11-drivers/xf86-input-mutouch/files/patch-git_04_ea858f9
@@ -0,0 +1,32 @@
+From ea858f9e49c06b2728dc91c62616533a01ff484c Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 12:57:32 +1000
+Subject: Don't free on PreInit failure, the server calls UnInit for us later
+
+DuSigned-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
+index b35d1da..1d56efd 100644
+--- src/xf86MuTouch.c
++++ src/xf86MuTouch.c
+@@ -1214,16 +1214,9 @@ xf86MuTInit(InputDriverPtr drv,
+ priv->swap_axes = (priv->swap_axes==0) ? 1 : 0;
+ }
+
+- return Success;
++ rc = Success;
+
+ init_err:
+- if (priv) {
+- if (priv->input_dev) {
+- free(priv->input_dev);
+- }
+- free(priv);
+- pInfo->private = NULL;
+- }
+ return rc;
+ }
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-mutouch/files/patch-git_05_7bd05fe b/x11-drivers/xf86-input-mutouch/files/patch-git_05_7bd05fe
new file mode 100644
index 000000000000..4ebb14da84bc
--- /dev/null
+++ b/x11-drivers/xf86-input-mutouch/files/patch-git_05_7bd05fe
@@ -0,0 +1,30 @@
+From 7bd05fe5ed04be7abcccac2ce42d939f585ed41d Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 12:59:31 +1000
+Subject: Test-open device in PreInit, fail if it doesn't work.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86MuTouch.c b/src/xf86MuTouch.c
+index 1d56efd..fd0b930 100644
+--- src/xf86MuTouch.c
++++ src/xf86MuTouch.c
+@@ -1097,6 +1097,15 @@ xf86MuTInit(InputDriverPtr drv,
+ pInfo->name);
+ rc = BadValue;
+ goto init_err;
++ } else {
++ pInfo->fd = xf86OpenSerial(pInfo->options);
++ if (pInfo->fd < 0) {
++ xf86Msg(X_ERROR, "%s: Unable to open MuTouch touchscreen device '%s'\n", pInfo->name, str);
++ rc = BadValue;
++ goto init_err;
++ }
++ close(pInfo->fd);
++ pInfo->fd = -1;
+ }
+ priv->input_dev = strdup(str);
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-mutouch/files/patch-src_xf86MuTouch.c b/x11-drivers/xf86-input-mutouch/files/patch-src_xf86MuTouch.c
new file mode 100644
index 000000000000..0b9d11c4a247
--- /dev/null
+++ b/x11-drivers/xf86-input-mutouch/files/patch-src_xf86MuTouch.c
@@ -0,0 +1,60 @@
+# Finish converting AddEnabledDevice to xf86AddEnabledDevice
+# Finish converting use of Error to ErrorF
+# Correct a couple strings that should be const
+#
+--- src/xf86MuTouch.c.orig 2011-06-28 01:31:38 UTC
++++ src/xf86MuTouch.c
+@@ -267,7 +267,7 @@ xf86MuTReadInput(InputInfoPtr pInfo)
+ (char *) (priv->rec_buf + priv->num_old_bytes),
+ MuT_BUFFER_SIZE - priv->num_old_bytes));
+ if (num_bytes < 0) {
+- Error("System error while reading from MuTouch touchscreen.");
++ ErrorF("System error while reading from MuTouch touchscreen.\n");
+ return;
+ }
+
+@@ -483,7 +483,7 @@ xf86MuTGetReply(unsigned char *buffer,
+ * Okay, give up.
+ */
+ if (num_bytes < 0) {
+- Error("System error while reading from MuTouch touchscreen.");
++ ErrorF("System error while reading from MuTouch touchscreen.\n");
+ return !Success;
+ }
+ DBG(4, ErrorF("Read %d bytes of reply\n", num_bytes));
+@@ -789,7 +789,7 @@ xf86MuTControl(DeviceIntPtr dev,
+ DBG(2, ErrorF("MuTouch touchscreen opening : %s\n", priv->input_dev));
+ pInfo->fd = xf86OpenSerial(pInfo->options);
+ if (pInfo->fd < 0) {
+- Error("Unable to open MuTouch touchscreen device");
++ ErrorF("Unable to open MuTouch touchscreen device\n");
+ return !Success;
+ }
+ memset(req, 0, MuT_PACKET_SIZE);
+@@ -845,7 +845,7 @@ xf86MuTControl(DeviceIntPtr dev,
+ goto not_success;
+ }
+ /* goto not_success;*/
+- AddEnabledDevice(pInfo->fd);
++ xf86AddEnabledDevice(pInfo);
+ }
+
+ /*
+@@ -1052,7 +1052,7 @@ xf86MuTUninit(InputDriverPtr drv,
+ xf86DeleteInput(pInfo, 0);
+ }
+
+-static char *default_options[] = {
++static const char *default_options[] = {
+ "BaudRate", "9600",
+ "StopBits", "1",
+ "DataBits", "8",
+@@ -1070,7 +1070,7 @@ xf86MuTInit(InputDriverPtr drv,
+ {
+ InputInfoPtr current;
+ MuTPrivatePtr priv=NULL;
+- char *str;
++ const char *str;
+ int portrait=0;
+ int rc = Success;
+
diff --git a/x11-drivers/xf86-input-penmount/Makefile b/x11-drivers/xf86-input-penmount/Makefile
index 7fbdb9df0a2f..b3bc675bba1c 100644
--- a/x11-drivers/xf86-input-penmount/Makefile
+++ b/x11-drivers/xf86-input-penmount/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-input-penmount
PORTVERSION= 1.5.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-input-penmount/files/patch-git_01_f5aede2 b/x11-drivers/xf86-input-penmount/files/patch-git_01_f5aede2
new file mode 100644
index 000000000000..c7d9cac5ed5f
--- /dev/null
+++ b/x11-drivers/xf86-input-penmount/files/patch-git_01_f5aede2
@@ -0,0 +1,28 @@
+From f5aede2ed48f1cc7266e792b02f509f7b207e2d6 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri, 8 Jul 2011 14:26:16 +1000
+Subject: Don't override the device name.
+
+The device name comes from the xorg.conf (or the config backend). If you're
+capable of setting the device name in the config, you can set it in the
+Identifier line as well.
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86PM.c b/src/xf86PM.c
+index edcf6f8..97e2134 100644
+--- src/xf86PM.c
++++ src/xf86PM.c
+@@ -492,9 +492,6 @@ PenMountPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ goto SetupProc_fail;
+ }
+
+- /* this results in an xstrdup that must be freed later */
+- pInfo->name = xf86SetStrOption( pInfo->options, "DeviceName", "PenMount");
+-
+ return Success;
+
+ SetupProc_fail:
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-penmount/files/patch-git_02_ff389f9 b/x11-drivers/xf86-input-penmount/files/patch-git_02_ff389f9
new file mode 100644
index 000000000000..f4bf5b22be4f
--- /dev/null
+++ b/x11-drivers/xf86-input-penmount/files/patch-git_02_ff389f9
@@ -0,0 +1,82 @@
+From ff389f91a2efec5184b56b8c717091d067f8fc46 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Tue, 19 Jul 2011 13:07:41 +1000
+Subject: Don't free anything in PreInit, let the server call UnInit instead
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff --git a/src/xf86PM.c b/src/xf86PM.c
+index 97e2134..ef73164 100644
+--- src/xf86PM.c
++++ src/xf86PM.c
+@@ -79,7 +79,7 @@ _X_EXPORT InputDriverRec PENMOUNT = {
+ "penmount",
+ NULL,
+ PenMountPreInit,
+- /*PenMountUnInit*/NULL,
++ PenMountUnInit,
+ NULL,
+ default_options
+ };
+@@ -275,6 +275,7 @@ ProcessDeviceClose(PenMountPrivatePtr priv, DeviceIntPtr dev, InputInfoPtr pInfo
+ priv->buffer = NULL;
+ }
+ xf86CloseSerial(pInfo->fd);
++ pInfo->fd = -1;
+ }
+ dev->public.on = FALSE;
+ return (Success);
+@@ -454,6 +455,8 @@ PenMountPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ goto SetupProc_fail;
+ }
+ xf86CloseSerial(pInfo->fd);
++ pInfo->fd = -1;
++
+ /*
+ * Process the options for your device like this
+ */
+@@ -495,16 +498,21 @@ PenMountPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ return Success;
+
+ SetupProc_fail:
+- if ((pInfo) && (pInfo->fd))
+- xf86CloseSerial (pInfo->fd);
+- if ((pInfo) && (pInfo->name))
+- free (pInfo->name);
++ return BadValue;
++}
++
++static void
++PenMountUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
++{
++ PenMountPrivatePtr priv = (PenMountPrivatePtr) (pInfo->private);
+
+- if ((priv) && (priv->buffer))
+- XisbFree (priv->buffer);
+ if (priv)
++ {
++ if (priv->buffer)
++ XisbFree (priv->buffer);
+ free (priv);
+- return BadValue;
++ pInfo->private = NULL;
++ }
+ }
+
+ static Bool
+diff --git a/src/xf86PM.h b/src/xf86PM.h
+index 5183f91..88da048 100644
+--- src/xf86PM.h
++++ src/xf86PM.h
+@@ -93,6 +93,8 @@ static Bool PenMountSendPacket (PenMountPrivatePtr priv, unsigned char *buf, int
+
+ static int
+ PenMountPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
++static void
++PenMountUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
+
+ static void
+ PenMountPtrCtrl(DeviceIntPtr device, PtrCtrl *ctrl);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-input-penmount/files/patch-src_xf86PM.c b/x11-drivers/xf86-input-penmount/files/patch-src_xf86PM.c
new file mode 100644
index 000000000000..a3c419ddd5a5
--- /dev/null
+++ b/x11-drivers/xf86-input-penmount/files/patch-src_xf86PM.c
@@ -0,0 +1,69 @@
+# Finish converting AddEnabledDefice to xf86AddEnabledDevice
+# Correct a couple strings that should be const
+# Remove use of obsolete xf86XInputSetScreen
+#
+--- src/xf86PM.c.orig 2011-06-28 00:37:48 UTC
++++ src/xf86PM.c
+@@ -61,7 +61,7 @@
+ * Be sure to set vmin appropriately for your device's protocol. You want to
+ * read a full packet before returning
+ */
+-static char *default_options[] =
++static const char *default_options[] =
+ {
+ /* "Device", "/dev/ttyS1",*/
+ "BaudRate", "19200",
+@@ -258,7 +258,7 @@ DMC9000_ProcessDeviceOn(PenMountPrivateP
+ priv->lex_mode = PenMount_byte0;
+
+ xf86FlushInput(pInfo->fd);
+- AddEnabledDevice (pInfo->fd);
++ xf86AddEnabledDevice (pInfo);
+ dev->public.on = TRUE;
+ return (Success);
+ }
+@@ -268,7 +268,7 @@ ProcessDeviceClose(PenMountPrivatePtr pr
+ {
+ if (pInfo->fd != -1)
+ {
+- RemoveEnabledDevice (pInfo->fd);
++ xf86RemoveEnabledDevice (pInfo);
+ if (priv->buffer)
+ {
+ XisbFree(priv->buffer);
+@@ -418,7 +418,7 @@ static int
+ PenMountPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
+ {
+ PenMountPrivatePtr priv = calloc (1, sizeof (PenMountPrivateRec));
+- char *s;
++ const char *s;
+
+ if (!priv)
+ return BadAlloc;
+@@ -603,7 +603,7 @@ DeviceControl (DeviceIntPtr dev, int mod
+ priv->lex_mode = PenMount_byte0;
+
+ xf86FlushInput(pInfo->fd);
+- AddEnabledDevice (pInfo->fd);
++ xf86AddEnabledDevice (pInfo);
+ dev->public.on = TRUE;
+ return (Success);
+
+@@ -696,7 +696,7 @@ ReadInput (InputInfoPtr pInfo)
+ priv->max_y);
+ }
+
+- xf86XInputSetScreen (pInfo, priv->screen_num, x, y);
++ //xf86XInputSetScreen (pInfo, priv->screen_num, x, y);
+
+ if ((priv->proximity == FALSE) && (priv->packet[0] & 0x01))
+ {
+@@ -796,7 +796,7 @@ DMC9000_ReadInput (InputInfoPtr pInfo)
+ }
+
+
+- xf86XInputSetScreen (pInfo, priv->screen_num, x, y);
++ //xf86XInputSetScreen (pInfo, priv->screen_num, x, y);
+
+ if ((priv->proximity == FALSE) && (priv->packet[0] & 0x01))
+ {
diff --git a/x11-drivers/xf86-input-wacom/Makefile b/x11-drivers/xf86-input-wacom/Makefile
index 8f67ed6a88fe..096f867118da 100644
--- a/x11-drivers/xf86-input-wacom/Makefile
+++ b/x11-drivers/xf86-input-wacom/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-input-wacom
-PORTVERSION= 0.33.0
+PORTVERSION= 0.34.0
CATEGORIES= x11-drivers
MASTER_SITES= SF/linuxwacom/${PORTNAME}
@@ -14,8 +14,9 @@ BUILD_DEPENDS= v4l_compat>=1.0.20110603:multimedia/v4l_compat
RUN_DEPENDS= webcamd>=3.1.0.1:multimedia/webcamd
USES= tar:bzip2 pathfix pkgconfig libtool
-USE_XORG= xrandr xinerama
+USE_XORG= x11 xinerama xrandr
XORG_CAT= driver
+LDFLAGS+= -Wl,--as-needed # Xext
USE_RC_SUBR= wacom
SUB_FILES= pkg-message
CONFIGURE_ENV= UDEV_CFLAGS=" " UDEV_LIBS=" "
diff --git a/x11-drivers/xf86-input-wacom/distinfo b/x11-drivers/xf86-input-wacom/distinfo
index 3f78e6e54b9f..922b5635d6bf 100644
--- a/x11-drivers/xf86-input-wacom/distinfo
+++ b/x11-drivers/xf86-input-wacom/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-input-wacom-0.33.0.tar.bz2) = 24eef830744a388795a318ef743f19c451e394d9ef1332e98e2d54810a70f8e0
-SIZE (xorg/driver/xf86-input-wacom-0.33.0.tar.bz2) = 595192
+TIMESTAMP = 1480975206
+SHA256 (xorg/driver/xf86-input-wacom-0.34.0.tar.bz2) = f15d8e4f3bf3a5b2db0b3f9c9565361b084896c3cb54ac11b8de5e405f9cb045
+SIZE (xorg/driver/xf86-input-wacom-0.34.0.tar.bz2) = 598624
diff --git a/x11-drivers/xf86-video-apm/Makefile b/x11-drivers/xf86-video-apm/Makefile
index f1b5628275bd..806d699463cf 100644
--- a/x11-drivers/xf86-video-apm/Makefile
+++ b/x11-drivers/xf86-video-apm/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-apm
PORTVERSION= 1.2.5
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-apm/files/patch-src_apm.h b/x11-drivers/xf86-video-apm/files/patch-src_apm.h
index be96b0cf752c..bbe1dcc08757 100644
--- a/x11-drivers/xf86-video-apm/files/patch-src_apm.h
+++ b/x11-drivers/xf86-video-apm/files/patch-src_apm.h
@@ -1,4 +1,13 @@
---- src/apm.h.orig 2012-07-17 04:52:01 UTC
+From 9f67408e4f078e907fbf4feb45cfdcfd0cdebcca Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 9 Jan 2013 22:03:29 -0500
+Subject: Remove #include "mibstore.h"
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/apm.h b/src/apm.h
+index a3c06f8..365e5e2 100644
+--- src/apm.h 2012-07-17 04:52:01 UTC
+++ src/apm.h
@@ -33,9 +33,6 @@
/* All drivers initialising the SW cursor need this */
@@ -10,3 +19,6 @@
/* I2C support */
#include "xf86i2c.h"
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-apm/files/patch-src_apm__driver.c b/x11-drivers/xf86-video-apm/files/patch-src_apm__driver.c
new file mode 100644
index 000000000000..a086ffb786f5
--- /dev/null
+++ b/x11-drivers/xf86-video-apm/files/patch-src_apm__driver.c
@@ -0,0 +1,60 @@
+# Remove miInitializeBackingStore; it no longer exists and
+# should have been removed with the mibstore.h include
+#
+# Replace xf86UnMapVidMem with pci_device_unmap_range
+#
+# Correct one string that should be const
+#
+--- src/apm_driver.c.orig 2012-07-17 04:52:01 UTC
++++ src/apm_driver.c
+@@ -355,7 +355,8 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
+ EntityInfoPtr pEnt;
+ vgaHWPtr hwp;
+ MessageType from;
+- char *mod = NULL, *req = NULL, *s;
++ char *mod = NULL, *req = NULL;
++ const char *s;
+ ClockRangePtr clockRanges;
+ int i;
+ xf86MonPtr MonInfo = NULL;
+@@ -751,7 +752,11 @@ ApmPreInit(ScrnInfoPtr pScrn, int flags)
+ LinMap[0xFFECDB] = db;
+ LinMap[0xFFECD9] = d9;
+ /*pciWriteLong(pApm->PciTag, PCI_CMD_STAT_REG, save);*/
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)LinMap, pApm->LinMapSize);
++#else
++ pci_device_unmap_range(pApm->PciInfo, (pointer)LinMap, pApm->LinMapSize);
++#endif
+ from = X_PROBED;
+ }
+ else {
+@@ -1134,12 +1139,19 @@ ApmUnmapMem(ScrnInfoPtr pScrn)
+ WRXB(0xDB, pApm->db);
+ }
+ WRXB(0xC9, pApm->c9);
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pApm->LinMap, pApm->LinMapSize);
++#else
++ pci_device_unmap_range(pApm->PciInfo, (pointer)pApm->LinMap, pApm->LinMapSize);
++#endif
+ pApm->LinMap = NULL;
+ }
+ else if (pApm->FbBase)
++#ifndef XSERVER_LIBPCIACCESS
+ xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pApm->LinMap, 0x10000);
+-
++#else
++ pci_device_unmap_range(pApm->PciInfo, (pointer)pApm->LinMap, 0x10000);
++#endif
+ return TRUE;
+ }
+
+@@ -1784,7 +1796,6 @@ ApmScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ #endif
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+
diff --git a/x11-drivers/xf86-video-ast/Makefile b/x11-drivers/xf86-video-ast/Makefile
new file mode 100644
index 000000000000..7b36d4e5ef37
--- /dev/null
+++ b/x11-drivers/xf86-video-ast/Makefile
@@ -0,0 +1,19 @@
+# $FreeBSD$
+
+PORTNAME= xf86-video-ast
+PORTVERSION= 1.1.5
+CATEGORIES= x11-drivers
+
+MAINTAINER= x11@FreeBSD.org
+COMMENT= X.Org ASPEED display driver
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+XORG_CAT= driver
+USE_XORG= xf86driproto glproto
+INSTALL_TARGET= install-strip
+
+PLIST_FILES= lib/xorg/modules/drivers/ast_drv.so
+
+.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-ast/distinfo b/x11-drivers/xf86-video-ast/distinfo
new file mode 100644
index 000000000000..c50662023881
--- /dev/null
+++ b/x11-drivers/xf86-video-ast/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1485310562
+SHA256 (xorg/driver/xf86-video-ast-1.1.5.tar.bz2) = 1edbbc55d47d3fd71dec99b15c2483e22738c642623a0fb86ef4a81a9067a2de
+SIZE (xorg/driver/xf86-video-ast-1.1.5.tar.bz2) = 339848
diff --git a/x11-drivers/xf86-video-ast/pkg-descr b/x11-drivers/xf86-video-ast/pkg-descr
new file mode 100644
index 000000000000..55f336f44a89
--- /dev/null
+++ b/x11-drivers/xf86-video-ast/pkg-descr
@@ -0,0 +1,3 @@
+This package contains the X.Org xf86-video-ast driver.
+
+WWW: http://www.x.org
diff --git a/x11-drivers/xf86-video-ati/Makefile b/x11-drivers/xf86-video-ati/Makefile
index 6809b2a9a33b..0179644559fa 100644
--- a/x11-drivers/xf86-video-ati/Makefile
+++ b/x11-drivers/xf86-video-ati/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-ati
PORTVERSION= 7.5.0
-PORTREVISION= 3
+PORTEPOCH= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -22,14 +22,4 @@ ONLY_FOR_ARCHS= i386 amd64
CONFIGURE_ARGS+=--disable-udev
CONFIGURE_ARGS+=--disable-glamor
-.include <bsd.port.options.mk>
-
-.if (${OSVERSION} >= 903000 && ${OSVERSION} < 1000000)
-RUN_DEPENDS+= drm-kmod>=9:x11-drivers/drm-kmod
-
-post-patch:
- @${REINPLACE_CMD} -e 's|"radeonkms"|"radeonkms_port"|g' \
- ${WRKSRC}/src/radeon_kms.c
-.endif
-
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-ati/distinfo b/x11-drivers/xf86-video-ati/distinfo
index c6949cd0ec9f..6d7a37f5e8ce 100644
--- a/x11-drivers/xf86-video-ati/distinfo
+++ b/x11-drivers/xf86-video-ati/distinfo
@@ -1,2 +1,3 @@
+TIMESTAMP = 1484479584
SHA256 (xorg/driver/xf86-video-ati-7.5.0.tar.bz2) = ec3e6f06b6cf9a40c72aafa3448aae8b034c80b37410ca9442d5cf6806e07936
SIZE (xorg/driver/xf86-video-ati-7.5.0.tar.bz2) = 809756
diff --git a/x11-drivers/xf86-video-chips/Makefile b/x11-drivers/xf86-video-chips/Makefile
index 7618f8563c2f..5a7a967f9ccd 100644
--- a/x11-drivers/xf86-video-chips/Makefile
+++ b/x11-drivers/xf86-video-chips/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-chips
-PORTVERSION= 1.2.6
+PORTVERSION= 1.2.7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-chips/distinfo b/x11-drivers/xf86-video-chips/distinfo
index 287632a10e7e..d5e89546c5fc 100644
--- a/x11-drivers/xf86-video-chips/distinfo
+++ b/x11-drivers/xf86-video-chips/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-chips-1.2.6.tar.bz2) = 99aef5cf9f58391eefab5b4983814f417fd1cf2e4a0f93564de1e9bd75636b1c
-SIZE (xorg/driver/xf86-video-chips-1.2.6.tar.bz2) = 413528
+TIMESTAMP = 1485121764
+SHA256 (xorg/driver/xf86-video-chips-1.2.7.tar.bz2) = 6ea8688c5eeaba9a34a30071732d3072c31d95ca4b78c9cce0f3cbb9eaf59f58
+SIZE (xorg/driver/xf86-video-chips-1.2.7.tar.bz2) = 426013
diff --git a/x11-drivers/xf86-video-cirrus/Makefile b/x11-drivers/xf86-video-cirrus/Makefile
index fbc8d9b03f35..ac49d6159f0d 100644
--- a/x11-drivers/xf86-video-cirrus/Makefile
+++ b/x11-drivers/xf86-video-cirrus/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-cirrus
PORTVERSION= 1.5.3
+PORREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-cirrus/files/patch-Makefile.in b/x11-drivers/xf86-video-cirrus/files/patch-Makefile.in
new file mode 100644
index 000000000000..603fc16f49f0
--- /dev/null
+++ b/x11-drivers/xf86-video-cirrus/files/patch-Makefile.in
@@ -0,0 +1,127 @@
+# Regen with autoreconf after git_04_27f85fc
+#
+--- Makefile.in.orig 2016-11-24 04:17:45 UTC
++++ Makefile.in
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.14.1 from Makefile.am.
++# Makefile.in generated by automake 1.15 from Makefile.am.
+ # @configure_input@
+
+-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
++# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -34,7 +34,17 @@
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ VPATH = @srcdir@
+-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
+ am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+@@ -98,14 +108,12 @@ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+ subdir = .
+-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+- $(top_srcdir)/configure $(am__configure_deps) \
+- $(srcdir)/config.h.in COPYING ChangeLog INSTALL README compile \
+- config.guess config.sub depcomp install-sh missing ltmain.sh
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
++ $(am__configure_deps) $(am__DIST_COMMON)
+ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+ mkinstalldirs = $(install_sh) -d
+@@ -169,6 +177,9 @@ ETAGS = etags
+ CTAGS = ctags
+ CSCOPE = cscope
+ DIST_SUBDIRS = $(SUBDIRS)
++am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \
++ COPYING ChangeLog INSTALL NEWS README compile config.guess \
++ config.sub install-sh ltmain.sh missing
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ distdir = $(PACKAGE)-$(VERSION)
+ top_distdir = $(distdir)
+@@ -265,6 +276,7 @@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
+ LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
++LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+ MAKEINFO = @MAKEINFO@
+ MANIFEST_TOOL = @MANIFEST_TOOL@
+ MAN_SUBSTS = @MAN_SUBSTS@
+@@ -375,7 +387,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefi
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+-.PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+@@ -608,15 +619,15 @@ dist-xz: distdir
+ $(am__post_remove_distdir)
+
+ dist-tarZ: distdir
+- @echo WARNING: "Support for shar distribution archives is" \
+- "deprecated." >&2
++ @echo WARNING: "Support for distribution archives compressed with" \
++ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__post_remove_distdir)
+
+ dist-shar: distdir
+- @echo WARNING: "Support for distribution archives compressed with" \
+- "legacy program 'compress' is deprecated." >&2
++ @echo WARNING: "Support for shar distribution archives is" \
++ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+ $(am__post_remove_distdir)
+@@ -652,17 +663,17 @@ distcheck: dist
+ esac
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+- mkdir $(distdir)/_build $(distdir)/_inst
++ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+- && $(am__cd) $(distdir)/_build \
+- && ../configure \
++ && $(am__cd) $(distdir)/_build/sub \
++ && ../../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+- --srcdir=.. --prefix="$$dc_install_base" \
++ --srcdir=../.. --prefix="$$dc_install_base" \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+@@ -840,6 +851,8 @@ uninstall-am:
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
+
++.PRECIOUS: Makefile
++
+
+ .PHONY: ChangeLog INSTALL
+
diff --git a/x11-drivers/xf86-video-cirrus/files/patch-git_01_23da607 b/x11-drivers/xf86-video-cirrus/files/patch-git_01_23da607
new file mode 100644
index 000000000000..5b814dfc35e2
--- /dev/null
+++ b/x11-drivers/xf86-video-cirrus/files/patch-git_01_23da607
@@ -0,0 +1,37 @@
+From 23da6073369ef6a99d1789de967e57359d1fe3b0 Mon Sep 17 00:00:00 2001
+From: Stefan Dirsch <sndirsch@suse.de>
+Date: Tue, 26 Apr 2016 16:26:49 +0200
+Subject: Disable "acceleration" under qemu
+
+Disable "acceleration" under qemu, since taking the hypercall trap
+is really quite expensive and you're better off doing noaccel. Patch
+is based on the one by "Adam Jackson" <ajax@redhat.com>
+
+http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-drv-cirrus.git/tree/cirrus-1.2.0-qemu.patch?id=daccd1c8174623500eddfa297d8ea76a86d3c5d9
+
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/alp_driver.c b/src/alp_driver.c
+index bd5e52f..ba55247 100644
+--- src/alp_driver.c
++++ src/alp_driver.c
+@@ -774,6 +774,16 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
+ else
+ xf86SetDDCproperties(pScrn,xf86PrintEDID(
+ xf86DoEDID_DDC2(XF86_SCRN_ARG(pScrn),pCir->I2CPtr1)));
++
++#ifdef XSERVER_LIBPCIACCESS
++ #ifndef PCI_CHIP_QEMU
++ #define PCI_CHIP_QEMU 0x1af4
++ #endif
++ if (!pScrn->monitor->DDC &&
++ ((pCir->PciInfo->subvendor_id & 0xffff) == PCI_CHIP_QEMU)) {
++ pCir->NoAccel = TRUE;
++ }
++#endif
+
+ /* Probe the possible LCD display */
+ AlpProbeLCD(pScrn);
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-cirrus/files/patch-git_02_82db44f b/x11-drivers/xf86-video-cirrus/files/patch-git_02_82db44f
new file mode 100644
index 000000000000..acba7295f3d6
--- /dev/null
+++ b/x11-drivers/xf86-video-cirrus/files/patch-git_02_82db44f
@@ -0,0 +1,50 @@
+From 82db44fe8a726a4a1192b1b93992b642d0ec17b3 Mon Sep 17 00:00:00 2001
+From: Frederic Crozat <fcrozat@suse.com>
+Date: Tue, 26 Apr 2016 13:57:52 +0200
+Subject: Use 16bpp when running in virt and on XenSource gfx
+
+Due to graphics corruption default to 16bpp in virt instead of 24 (Fedora).
+Do the same on XenSource gfx, which suffers from the same issue.
+
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/alp_driver.c b/src/alp_driver.c
+index ba55247..01e05dc 100644
+--- src/alp_driver.c
++++ src/alp_driver.c
+@@ -466,6 +466,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
+ vgaHWPtr hwp;
+ MessageType from, from1;
+ int i;
++ int defaultdepth;
+ int depth_flags;
+ ClockRangePtr clockRanges;
+ char *s;
+@@ -551,11 +552,23 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
+ depth_flags |= Support32bppFb |
+ SupportConvert32to24 |
+ PreferConvert32to24;
++
++ /* use 16bpp in virt and on XenSource */
++ #ifndef PCI_CHIP_QEMU
++ #define PCI_CHIP_QEMU 0x1af4
++ #endif
++ #define PCI_CHIP_XENSOURCE 0x5853
++ if (((pCir->PciInfo->subvendor_id & 0xffff) == PCI_CHIP_QEMU) ||
++ ((pCir->PciInfo->subvendor_id & 0xffff) == PCI_CHIP_XENSOURCE))
++ defaultdepth = 16;
++ else
++ defaultdepth = 24;
++
+ /*
+ * The first thing we should figure out is the depth, bpp, etc.
+ * We support both 24bpp and 32bpp layouts, so indicate that.
+ */
+- if (!xf86SetDepthBpp(pScrn, 0, 0, 24, depth_flags)) {
++ if (!xf86SetDepthBpp(pScrn, 0, 0, defaultdepth, depth_flags)) {
+ return FALSE;
+ } else {
+ /* Check that the returned depth is one we support */
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-cirrus/files/patch-git_03_adaf1fe b/x11-drivers/xf86-video-cirrus/files/patch-git_03_adaf1fe
new file mode 100644
index 000000000000..e1a0db179903
--- /dev/null
+++ b/x11-drivers/xf86-video-cirrus/files/patch-git_03_adaf1fe
@@ -0,0 +1,87 @@
+From adaf1fe744df8d37acdb8b157abc5034b8ea1073 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 13 Apr 2016 16:37:38 -0400
+Subject: Remove (almost) no-op setup functions
+
+These became practical no-ops when I removed reference to the loader
+symbol lists. gcc will still emit code (and bss) for them though. No
+functional change, just doing it to prove that nothing special happens
+at submodule load.
+
+Reviewed-by: Julien Cristau <jcristau@debian.org>
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/alp_driver.c b/src/alp_driver.c
+index 01e05dc..39802de 100644
+--- src/alp_driver.c
++++ src/alp_driver.c
+@@ -159,8 +159,6 @@ static int gd7556_MaxClocks[] = { 80100, 80100, 80100, 80100, 80100 };
+ #define ALP_MINOR_VERSION 0
+ #define ALP_PATCHLEVEL 0
+
+-static MODULESETUPPROTO(alpSetup);
+-
+ static XF86ModuleVersionInfo alpVersRec =
+ {
+ "cirrus_alpine",
+@@ -181,20 +179,10 @@ static XF86ModuleVersionInfo alpVersRec =
+ */
+ _X_EXPORT XF86ModuleData cirrus_alpineModuleData = {
+ &alpVersRec,
+- alpSetup,
++ NULL,
+ NULL
+ };
+
+-static pointer
+-alpSetup(pointer module, pointer opts, int *errmaj, int *errmin)
+-{
+- static Bool setupDone = FALSE;
+- if (!setupDone) {
+- setupDone = TRUE;
+- }
+- return (pointer)1;
+-}
+-
+ #endif /* XFree86LOADER */
+
+ _X_EXPORT const OptionInfoRec *
+diff --git a/src/lg_driver.c b/src/lg_driver.c
+index 589d14e..c3fe142 100644
+--- src/lg_driver.c
++++ src/lg_driver.c
+@@ -165,8 +165,6 @@ static int LgLinePitches[4][11] = {
+ #define LG_MINOR_VERSION 0
+ #define LG_PATCHLEVEL 0
+
+-static MODULESETUPPROTO(lgSetup);
+-
+ static XF86ModuleVersionInfo lgVersRec =
+ {
+ "cirrus_laguna",
+@@ -187,21 +185,10 @@ static XF86ModuleVersionInfo lgVersRec =
+ */
+ _X_EXPORT XF86ModuleData cirrus_lagunaModuleData = {
+ &lgVersRec,
+- lgSetup,
++ NULL,
+ NULL
+ };
+
+-static pointer
+-lgSetup(pointer module, pointer opts, int *errmaj, int *errmin)
+-{
+- static Bool setupDone = FALSE;
+-
+- if (!setupDone) {
+- setupDone = TRUE;
+- }
+- return (pointer)1;
+-}
+-
+ #endif /* XFree86LOADER */
+
+ _X_EXPORT const OptionInfoRec *
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-cirrus/files/patch-git_04_27f85fc b/x11-drivers/xf86-video-cirrus/files/patch-git_04_27f85fc
new file mode 100644
index 000000000000..5868e8497cf1
--- /dev/null
+++ b/x11-drivers/xf86-video-cirrus/files/patch-git_04_27f85fc
@@ -0,0 +1,152 @@
+From 27f85fc523102f89c3fc1546ae500816ccbffc8a Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 13 Apr 2016 17:05:55 -0400
+Subject: Don't build split alpine and laguna support
+
+Before:
+
+ text data bss dec hex filename
+ 25772 2040 16 27828 6cb4 src/.libs/cirrus_alpine.so
+ 11429 1552 112 13093 3325 src/.libs/cirrus_drv.so
+ 21968 2016 16 24000 5dc0 src/.libs/cirrus_laguna.so
+ 59169 5608 114 64921 fd99 (TOTALS)
+
+After:
+
+ text data bss dec hex filename
+ 47831 3840 112 51783 ca47 src/.libs/cirrus_drv.so
+
+So, in the worst case, you're using roughly two more pages for (clean,
+evictable) text, but two fewer (dirty) pages for data and bss. Fixing
+this also allows the X server to clean up module loading a bit by
+enforcing the _drv.so suffix, and since this is the only driver pulling
+such shenanigans...
+
+Reviewed-by: Julien Cristau <jcristau@debian.org>
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 36b8d8b..2ceb828 100644
+--- src/Makefile.am
++++ src/Makefile.am
+@@ -35,32 +35,20 @@ cirrus_drv_la_SOURCES = \
+ CirrusClk.c \
+ cir_shadow.c \
+ cir_pcirename.h \
+- compat-api.h
+-
+-cirrus_alpine_la_LTLIBRARIES = cirrus_alpine.la
+-cirrus_alpine_la_LDFLAGS = -module -avoid-version
+-cirrus_alpine_ladir = @moduledir@/drivers
+-cirrus_alpine_la_SOURCES = \
++ compat-api.h \
+ alp_driver.c \
+ alp.h \
+ alp_hwcurs.c \
+- alp_i2c.c
+-if XAA
+-cirrus_alpine_la_SOURCES += \
+- alp_xaa.c \
+- alp_xaam.c
+-endif
+-
+-cirrus_laguna_la_LTLIBRARIES = cirrus_laguna.la
+-cirrus_laguna_la_LDFLAGS = -module -avoid-version
+-cirrus_laguna_ladir = @moduledir@/drivers
+-cirrus_laguna_la_SOURCES = \
++ alp_i2c.c \
+ lg_driver.c \
+ lg.h \
+ lg_hwcurs.c \
+ lg_i2c.c
++
+ if XAA
+-cirrus_laguna_la_SOURCES += \
++cirrus_drv_la_SOURCES += \
++ alp_xaa.c \
++ alp_xaam.c
+ lg_xaa.c \
+ lg_xaa.h
+ endif
+diff --git a/src/cir_driver.c b/src/cir_driver.c
+index 2df4a2e..bbd8bbc 100644
+--- src/cir_driver.c
++++ src/cir_driver.c
+@@ -43,9 +43,6 @@ static const OptionInfoRec * CIRAvailableOptions(int chipid, int busid);
+ static void CIRIdentify(int flags);
+ static Bool CIRProbe(DriverPtr drv, int flags);
+
+-static Bool lg_loaded = FALSE;
+-static Bool alp_loaded = FALSE;
+-
+ #define CIR_VERSION 4000
+ #define CIR_NAME "CIRRUS"
+ #define CIR_DRIVER_NAME "cirrus"
+@@ -170,16 +167,10 @@ CIRAvailableOptions(int chipid, int busid)
+ case PCI_CHIP_GD5464:
+ case PCI_CHIP_GD5464BD:
+ case PCI_CHIP_GD5465:
+- if (lg_loaded)
+- return LgAvailableOptions(chipid);
+- else
+- return NULL;
++ return LgAvailableOptions(chipid);
+
+ default:
+- if (alp_loaded)
+- return AlpAvailableOptions(chipid);
+- else
+- return NULL;
++ return AlpAvailableOptions(chipid);
+ }
+ }
+
+@@ -199,25 +190,6 @@ CIRProbe(DriverPtr drv, int flags)
+ ErrorF("CirProbe\n");
+ #endif
+
+- /*
+- * For PROBE_DETECT, make sure both sub-modules are loaded before
+- * calling xf86MatchPciInstances(), because the AvailableOptions()
+- * functions may be called before xf86MatchPciInstances() returns.
+- */
+-
+- if (flags & PROBE_DETECT) {
+- if (!lg_loaded) {
+- if (xf86LoadDrvSubModule(drv, "cirrus_laguna")) {
+- lg_loaded = TRUE;
+- }
+- }
+- if (!alp_loaded) {
+- if (xf86LoadDrvSubModule(drv, "cirrus_alpine")) {
+- alp_loaded = TRUE;
+- }
+- }
+- }
+-
+ if ((numDevSections = xf86MatchDevice(CIR_DRIVER_NAME,
+ &devSections)) <= 0) {
+ return FALSE;
+@@ -272,19 +244,8 @@ CIRProbe(DriverPtr drv, int flags)
+ PCI_DEV_DEVICE_ID(pPci) == PCI_CHIP_GD5464 ||
+ PCI_DEV_DEVICE_ID(pPci) == PCI_CHIP_GD5464BD ||
+ PCI_DEV_DEVICE_ID(pPci) == PCI_CHIP_GD5465)) {
+-
+- if (!lg_loaded) {
+- if (!xf86LoadDrvSubModule(drv, "cirrus_laguna"))
+- continue;
+- lg_loaded = TRUE;
+- }
+ pScrn = LgProbe(usedChips[i]);
+ } else {
+- if (!alp_loaded) {
+- if (!xf86LoadDrvSubModule(drv, "cirrus_alpine"))
+- continue;
+- alp_loaded = TRUE;
+- }
+ pScrn = AlpProbe(usedChips[i]);
+ }
+
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-cirrus/files/patch-src_Makefile.in b/x11-drivers/xf86-video-cirrus/files/patch-src_Makefile.in
new file mode 100644
index 000000000000..4562b73db2c2
--- /dev/null
+++ b/x11-drivers/xf86-video-cirrus/files/patch-src_Makefile.in
@@ -0,0 +1,356 @@
+# Regen with autoreconf after git_04_27f85fc
+#
+--- src/Makefile.in.orig 2016-11-24 04:25:21 UTC
++++ src/Makefile.in
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.14.1 from Makefile.am.
++# Makefile.in generated by automake 1.15 from Makefile.am.
+ # @configure_input@
+
+-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
++# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -35,7 +35,17 @@
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ VPATH = @srcdir@
+-am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
++am__is_gnu_make = { \
++ if test -z '$(MAKELEVEL)'; then \
++ false; \
++ elif test -n '$(MAKE_HOST)'; then \
++ true; \
++ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
++ true; \
++ else \
++ false; \
++ fi; \
++}
+ am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+@@ -102,17 +112,12 @@ host_triplet = @host@
+ @XAA_TRUE@ alp_xaa.c \
+ @XAA_TRUE@ alp_xaam.c
+
+-@XAA_TRUE@am__append_2 = \
+-@XAA_TRUE@ lg_xaa.c \
+-@XAA_TRUE@ lg_xaa.h
+-
+ subdir = src
+-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+- $(top_srcdir)/depcomp
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
++DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+ mkinstalldirs = $(install_sh) -d
+ CONFIG_HEADER = $(top_builddir)/config.h
+ CONFIG_CLEAN_FILES =
+@@ -144,44 +149,25 @@ am__uninstall_files_from_dir = { \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+-am__installdirs = "$(DESTDIR)$(cirrus_alpine_ladir)" \
+- "$(DESTDIR)$(cirrus_drv_ladir)" \
+- "$(DESTDIR)$(cirrus_laguna_ladir)"
+-LTLIBRARIES = $(cirrus_alpine_la_LTLIBRARIES) \
+- $(cirrus_drv_la_LTLIBRARIES) $(cirrus_laguna_la_LTLIBRARIES)
+-cirrus_alpine_la_LIBADD =
+-am__cirrus_alpine_la_SOURCES_DIST = alp_driver.c alp.h alp_hwcurs.c \
+- alp_i2c.c alp_xaa.c alp_xaam.c
++am__installdirs = "$(DESTDIR)$(cirrus_drv_ladir)"
++LTLIBRARIES = $(cirrus_drv_la_LTLIBRARIES)
++cirrus_drv_la_LIBADD =
++am__cirrus_drv_la_SOURCES_DIST = cir_dga.c cir_driver.c cir.h \
++ CirrusClk.c cir_shadow.c cir_pcirename.h compat-api.h \
++ alp_driver.c alp.h alp_hwcurs.c alp_i2c.c lg_driver.c lg.h \
++ lg_hwcurs.c lg_i2c.c alp_xaa.c alp_xaam.c
+ @XAA_TRUE@am__objects_1 = alp_xaa.lo alp_xaam.lo
+-am_cirrus_alpine_la_OBJECTS = alp_driver.lo alp_hwcurs.lo alp_i2c.lo \
+- $(am__objects_1)
+-cirrus_alpine_la_OBJECTS = $(am_cirrus_alpine_la_OBJECTS)
++am_cirrus_drv_la_OBJECTS = cir_dga.lo cir_driver.lo CirrusClk.lo \
++ cir_shadow.lo alp_driver.lo alp_hwcurs.lo alp_i2c.lo \
++ lg_driver.lo lg_hwcurs.lo lg_i2c.lo $(am__objects_1)
++cirrus_drv_la_OBJECTS = $(am_cirrus_drv_la_OBJECTS)
+ AM_V_lt = $(am__v_lt_@AM_V@)
+ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+ am__v_lt_0 = --silent
+ am__v_lt_1 =
+-cirrus_alpine_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+- $(AM_CFLAGS) $(CFLAGS) $(cirrus_alpine_la_LDFLAGS) $(LDFLAGS) \
+- -o $@
+-cirrus_drv_la_LIBADD =
+-am_cirrus_drv_la_OBJECTS = cir_dga.lo cir_driver.lo CirrusClk.lo \
+- cir_shadow.lo
+-cirrus_drv_la_OBJECTS = $(am_cirrus_drv_la_OBJECTS)
+ cirrus_drv_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(cirrus_drv_la_LDFLAGS) $(LDFLAGS) -o $@
+-cirrus_laguna_la_LIBADD =
+-am__cirrus_laguna_la_SOURCES_DIST = lg_driver.c lg.h lg_hwcurs.c \
+- lg_i2c.c lg_xaa.c lg_xaa.h
+-@XAA_TRUE@am__objects_2 = lg_xaa.lo
+-am_cirrus_laguna_la_OBJECTS = lg_driver.lo lg_hwcurs.lo lg_i2c.lo \
+- $(am__objects_2)
+-cirrus_laguna_la_OBJECTS = $(am_cirrus_laguna_la_OBJECTS)
+-cirrus_laguna_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+- $(AM_CFLAGS) $(CFLAGS) $(cirrus_laguna_la_LDFLAGS) $(LDFLAGS) \
+- -o $@
+ AM_V_P = $(am__v_P_@AM_V@)
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+ am__v_P_0 = false
+@@ -216,10 +202,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+ am__v_CCLD_0 = @echo " CCLD " $@;
+ am__v_CCLD_1 =
+-SOURCES = $(cirrus_alpine_la_SOURCES) $(cirrus_drv_la_SOURCES) \
+- $(cirrus_laguna_la_SOURCES)
+-DIST_SOURCES = $(am__cirrus_alpine_la_SOURCES_DIST) \
+- $(cirrus_drv_la_SOURCES) $(am__cirrus_laguna_la_SOURCES_DIST)
++SOURCES = $(cirrus_drv_la_SOURCES)
++DIST_SOURCES = $(am__cirrus_drv_la_SOURCES_DIST)
+ am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+@@ -244,6 +228,7 @@ am__define_uniq_tagged_files = \
+ done | $(am__uniquify_input)`
+ ETAGS = etags
+ CTAGS = ctags
++am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ ACLOCAL = @ACLOCAL@
+ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@
+@@ -299,6 +284,7 @@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
+ LIPO = @LIPO@
+ LN_S = @LN_S@
+ LTLIBOBJS = @LTLIBOBJS@
++LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+ MAKEINFO = @MAKEINFO@
+ MANIFEST_TOOL = @MANIFEST_TOOL@
+ MAN_SUBSTS = @MAN_SUBSTS@
+@@ -397,25 +383,10 @@ AM_CFLAGS = @XORG_CFLAGS@ $(CWARNFLAGS)
+ cirrus_drv_la_LTLIBRARIES = cirrus_drv.la
+ cirrus_drv_la_LDFLAGS = -module -avoid-version
+ cirrus_drv_ladir = @moduledir@/drivers
+-cirrus_drv_la_SOURCES = \
+- cir_dga.c \
+- cir_driver.c \
+- cir.h \
+- CirrusClk.c \
+- cir_shadow.c \
+- cir_pcirename.h \
+- compat-api.h
+-
+-cirrus_alpine_la_LTLIBRARIES = cirrus_alpine.la
+-cirrus_alpine_la_LDFLAGS = -module -avoid-version
+-cirrus_alpine_ladir = @moduledir@/drivers
+-cirrus_alpine_la_SOURCES = alp_driver.c alp.h alp_hwcurs.c alp_i2c.c \
++cirrus_drv_la_SOURCES = cir_dga.c cir_driver.c cir.h CirrusClk.c \
++ cir_shadow.c cir_pcirename.h compat-api.h alp_driver.c alp.h \
++ alp_hwcurs.c alp_i2c.c lg_driver.c lg.h lg_hwcurs.c lg_i2c.c \
+ $(am__append_1)
+-cirrus_laguna_la_LTLIBRARIES = cirrus_laguna.la
+-cirrus_laguna_la_LDFLAGS = -module -avoid-version
+-cirrus_laguna_ladir = @moduledir@/drivers
+-cirrus_laguna_la_SOURCES = lg_driver.c lg.h lg_hwcurs.c lg_i2c.c \
+- $(am__append_2)
+ all: all-am
+
+ .SUFFIXES:
+@@ -432,7 +403,6 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefi
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign src/Makefile
+-.PRECIOUS: Makefile
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+@@ -451,41 +421,6 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+ $(am__aclocal_m4_deps):
+
+-install-cirrus_alpine_laLTLIBRARIES: $(cirrus_alpine_la_LTLIBRARIES)
+- @$(NORMAL_INSTALL)
+- @list='$(cirrus_alpine_la_LTLIBRARIES)'; test -n "$(cirrus_alpine_ladir)" || list=; \
+- list2=; for p in $$list; do \
+- if test -f $$p; then \
+- list2="$$list2 $$p"; \
+- else :; fi; \
+- done; \
+- test -z "$$list2" || { \
+- echo " $(MKDIR_P) '$(DESTDIR)$(cirrus_alpine_ladir)'"; \
+- $(MKDIR_P) "$(DESTDIR)$(cirrus_alpine_ladir)" || exit 1; \
+- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(cirrus_alpine_ladir)'"; \
+- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(cirrus_alpine_ladir)"; \
+- }
+-
+-uninstall-cirrus_alpine_laLTLIBRARIES:
+- @$(NORMAL_UNINSTALL)
+- @list='$(cirrus_alpine_la_LTLIBRARIES)'; test -n "$(cirrus_alpine_ladir)" || list=; \
+- for p in $$list; do \
+- $(am__strip_dir) \
+- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(cirrus_alpine_ladir)/$$f'"; \
+- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(cirrus_alpine_ladir)/$$f"; \
+- done
+-
+-clean-cirrus_alpine_laLTLIBRARIES:
+- -test -z "$(cirrus_alpine_la_LTLIBRARIES)" || rm -f $(cirrus_alpine_la_LTLIBRARIES)
+- @list='$(cirrus_alpine_la_LTLIBRARIES)'; \
+- locs=`for p in $$list; do echo $$p; done | \
+- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+- sort -u`; \
+- test -z "$$locs" || { \
+- echo rm -f $${locs}; \
+- rm -f $${locs}; \
+- }
+-
+ install-cirrus_drv_laLTLIBRARIES: $(cirrus_drv_la_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(cirrus_drv_la_LTLIBRARIES)'; test -n "$(cirrus_drv_ladir)" || list=; \
+@@ -521,50 +456,9 @@ clean-cirrus_drv_laLTLIBRARIES:
+ rm -f $${locs}; \
+ }
+
+-install-cirrus_laguna_laLTLIBRARIES: $(cirrus_laguna_la_LTLIBRARIES)
+- @$(NORMAL_INSTALL)
+- @list='$(cirrus_laguna_la_LTLIBRARIES)'; test -n "$(cirrus_laguna_ladir)" || list=; \
+- list2=; for p in $$list; do \
+- if test -f $$p; then \
+- list2="$$list2 $$p"; \
+- else :; fi; \
+- done; \
+- test -z "$$list2" || { \
+- echo " $(MKDIR_P) '$(DESTDIR)$(cirrus_laguna_ladir)'"; \
+- $(MKDIR_P) "$(DESTDIR)$(cirrus_laguna_ladir)" || exit 1; \
+- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(cirrus_laguna_ladir)'"; \
+- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(cirrus_laguna_ladir)"; \
+- }
+-
+-uninstall-cirrus_laguna_laLTLIBRARIES:
+- @$(NORMAL_UNINSTALL)
+- @list='$(cirrus_laguna_la_LTLIBRARIES)'; test -n "$(cirrus_laguna_ladir)" || list=; \
+- for p in $$list; do \
+- $(am__strip_dir) \
+- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(cirrus_laguna_ladir)/$$f'"; \
+- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(cirrus_laguna_ladir)/$$f"; \
+- done
+-
+-clean-cirrus_laguna_laLTLIBRARIES:
+- -test -z "$(cirrus_laguna_la_LTLIBRARIES)" || rm -f $(cirrus_laguna_la_LTLIBRARIES)
+- @list='$(cirrus_laguna_la_LTLIBRARIES)'; \
+- locs=`for p in $$list; do echo $$p; done | \
+- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+- sort -u`; \
+- test -z "$$locs" || { \
+- echo rm -f $${locs}; \
+- rm -f $${locs}; \
+- }
+-
+-cirrus_alpine.la: $(cirrus_alpine_la_OBJECTS) $(cirrus_alpine_la_DEPENDENCIES) $(EXTRA_cirrus_alpine_la_DEPENDENCIES)
+- $(AM_V_CCLD)$(cirrus_alpine_la_LINK) -rpath $(cirrus_alpine_ladir) $(cirrus_alpine_la_OBJECTS) $(cirrus_alpine_la_LIBADD) $(LIBS)
+-
+ cirrus_drv.la: $(cirrus_drv_la_OBJECTS) $(cirrus_drv_la_DEPENDENCIES) $(EXTRA_cirrus_drv_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(cirrus_drv_la_LINK) -rpath $(cirrus_drv_ladir) $(cirrus_drv_la_OBJECTS) $(cirrus_drv_la_LIBADD) $(LIBS)
+
+-cirrus_laguna.la: $(cirrus_laguna_la_OBJECTS) $(cirrus_laguna_la_DEPENDENCIES) $(EXTRA_cirrus_laguna_la_DEPENDENCIES)
+- $(AM_V_CCLD)$(cirrus_laguna_la_LINK) -rpath $(cirrus_laguna_ladir) $(cirrus_laguna_la_OBJECTS) $(cirrus_laguna_la_LIBADD) $(LIBS)
+-
+ mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+@@ -583,7 +477,6 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lg_driver.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lg_hwcurs.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lg_i2c.Plo@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lg_xaa.Plo@am__quote@
+
+ .c.o:
+ @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@@ -698,7 +591,7 @@ check-am: all-am
+ check: check-am
+ all-am: Makefile $(LTLIBRARIES)
+ installdirs:
+- for dir in "$(DESTDIR)$(cirrus_alpine_ladir)" "$(DESTDIR)$(cirrus_drv_ladir)" "$(DESTDIR)$(cirrus_laguna_ladir)"; do \
++ for dir in "$(DESTDIR)$(cirrus_drv_ladir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+ install: install-am
+@@ -733,9 +626,7 @@ maintainer-clean-generic:
+ @echo "it deletes files that may require special tools to rebuild."
+ clean: clean-am
+
+-clean-am: clean-cirrus_alpine_laLTLIBRARIES \
+- clean-cirrus_drv_laLTLIBRARIES \
+- clean-cirrus_laguna_laLTLIBRARIES clean-generic clean-libtool \
++clean-am: clean-cirrus_drv_laLTLIBRARIES clean-generic clean-libtool \
+ mostlyclean-am
+
+ distclean: distclean-am
+@@ -756,9 +647,7 @@ info: info-am
+
+ info-am:
+
+-install-data-am: install-cirrus_alpine_laLTLIBRARIES \
+- install-cirrus_drv_laLTLIBRARIES \
+- install-cirrus_laguna_laLTLIBRARIES
++install-data-am: install-cirrus_drv_laLTLIBRARIES
+
+ install-dvi: install-dvi-am
+
+@@ -804,34 +693,29 @@ ps: ps-am
+
+ ps-am:
+
+-uninstall-am: uninstall-cirrus_alpine_laLTLIBRARIES \
+- uninstall-cirrus_drv_laLTLIBRARIES \
+- uninstall-cirrus_laguna_laLTLIBRARIES
++uninstall-am: uninstall-cirrus_drv_laLTLIBRARIES
+
+ .MAKE: install-am install-strip
+
+ .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
+- clean-cirrus_alpine_laLTLIBRARIES \
+- clean-cirrus_drv_laLTLIBRARIES \
+- clean-cirrus_laguna_laLTLIBRARIES clean-generic clean-libtool \
++ clean-cirrus_drv_laLTLIBRARIES clean-generic clean-libtool \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+- install-cirrus_alpine_laLTLIBRARIES \
+- install-cirrus_drv_laLTLIBRARIES \
+- install-cirrus_laguna_laLTLIBRARIES install-data \
+- install-data-am install-dvi install-dvi-am install-exec \
+- install-exec-am install-html install-html-am install-info \
+- install-info-am install-man install-pdf install-pdf-am \
+- install-ps install-ps-am install-strip installcheck \
+- installcheck-am installdirs maintainer-clean \
+- maintainer-clean-generic mostlyclean mostlyclean-compile \
+- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+- tags tags-am uninstall uninstall-am \
+- uninstall-cirrus_alpine_laLTLIBRARIES \
+- uninstall-cirrus_drv_laLTLIBRARIES \
+- uninstall-cirrus_laguna_laLTLIBRARIES
++ install-cirrus_drv_laLTLIBRARIES install-data install-data-am \
++ install-dvi install-dvi-am install-exec install-exec-am \
++ install-html install-html-am install-info install-info-am \
++ install-man install-pdf install-pdf-am install-ps \
++ install-ps-am install-strip installcheck installcheck-am \
++ installdirs maintainer-clean maintainer-clean-generic \
++ mostlyclean mostlyclean-compile mostlyclean-generic \
++ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
++ uninstall-am uninstall-cirrus_drv_laLTLIBRARIES
++
++.PRECIOUS: Makefile
+
++@XAA_TRUE@ lg_xaa.c \
++@XAA_TRUE@ lg_xaa.h
+
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/x11-drivers/xf86-video-cirrus/files/patch-src_alp__driver.c b/x11-drivers/xf86-video-cirrus/files/patch-src_alp__driver.c
new file mode 100644
index 000000000000..4ade4e979cc4
--- /dev/null
+++ b/x11-drivers/xf86-video-cirrus/files/patch-src_alp__driver.c
@@ -0,0 +1,13 @@
+# Correct a string type that should be const
+#
+--- src/alp_driver.c.orig 2016-11-24 04:07:05 UTC
++++ src/alp_driver.c
+@@ -468,7 +468,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
+ int i;
+ int depth_flags;
+ ClockRangePtr clockRanges;
+- char *s;
++ const char *s;
+ xf86Int10InfoPtr pInt = NULL;
+
+ if (flags & PROBE_DETECT) {
diff --git a/x11-drivers/xf86-video-cirrus/files/patch-src_lg__driver.c b/x11-drivers/xf86-video-cirrus/files/patch-src_lg__driver.c
new file mode 100644
index 000000000000..fc052fd02c1d
--- /dev/null
+++ b/x11-drivers/xf86-video-cirrus/files/patch-src_lg__driver.c
@@ -0,0 +1,13 @@
+# Correct a string type that should be const
+#
+--- src/lg_driver.c.orig 2016-11-24 04:05:04 UTC
++++ src/lg_driver.c
+@@ -332,7 +332,7 @@ LgPreInit(ScrnInfoPtr pScrn, int flags)
+ int i;
+ ClockRangePtr clockRanges;
+ int fbPCIReg, ioPCIReg;
+- char *s;
++ const char *s;
+
+ if (flags & PROBE_DETECT) {
+ cirProbeDDC( pScrn, xf86GetEntityInfo(pScrn->entityList[0])->index );
diff --git a/x11-drivers/xf86-video-cirrus/pkg-plist b/x11-drivers/xf86-video-cirrus/pkg-plist
index b14d2846b593..7842b61b2f08 100644
--- a/x11-drivers/xf86-video-cirrus/pkg-plist
+++ b/x11-drivers/xf86-video-cirrus/pkg-plist
@@ -1,4 +1,2 @@
-lib/xorg/modules/drivers/cirrus_alpine.so
lib/xorg/modules/drivers/cirrus_drv.so
-lib/xorg/modules/drivers/cirrus_laguna.so
man/man4/cirrus.4x.gz
diff --git a/x11-drivers/xf86-video-dummy/Makefile b/x11-drivers/xf86-video-dummy/Makefile
index 14de28233c40..d9abbd51522b 100644
--- a/x11-drivers/xf86-video-dummy/Makefile
+++ b/x11-drivers/xf86-video-dummy/Makefile
@@ -1,13 +1,15 @@
# $FreeBSD$
PORTNAME= xf86-video-dummy
-PORTVERSION= 0.3.7
-PORTREVISION= 6
+PORTVERSION= 0.3.8
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org dummy display driver
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
XORG_CAT= driver
USE_XORG= xf86dgaproto
diff --git a/x11-drivers/xf86-video-dummy/distinfo b/x11-drivers/xf86-video-dummy/distinfo
index 6bd67113507d..b8e14654954c 100644
--- a/x11-drivers/xf86-video-dummy/distinfo
+++ b/x11-drivers/xf86-video-dummy/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-dummy-0.3.7.tar.bz2) = 56f84fcbc515685529ad8e10bca1072731d9c096b97c5d35ddc95cd589b98680
-SIZE (xorg/driver/xf86-video-dummy-0.3.7.tar.bz2) = 279806
+TIMESTAMP = 1484388618
+SHA256 (xorg/driver/xf86-video-dummy-0.3.8.tar.bz2) = 3712bb869307233491e4c570732d6073c0dc3d99adfdb9977396a3fdf84e95b9
+SIZE (xorg/driver/xf86-video-dummy-0.3.8.tar.bz2) = 302353
diff --git a/x11-drivers/xf86-video-fbdev/Makefile b/x11-drivers/xf86-video-fbdev/Makefile
deleted file mode 100644
index 73457eb9f00f..000000000000
--- a/x11-drivers/xf86-video-fbdev/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# $FreeBSD$
-
-PORTNAME= xf86-video-fbdev
-PORTVERSION= 0.4.4
-PORTREVISION= 7
-CATEGORIES= x11-drivers
-
-MAINTAINER= x11@FreeBSD.org
-COMMENT= X.Org fbdev display driver
-
-XORG_CAT= driver
-
-.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-fbdev/distinfo b/x11-drivers/xf86-video-fbdev/distinfo
deleted file mode 100644
index cfb76539df1f..000000000000
--- a/x11-drivers/xf86-video-fbdev/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (xorg/driver/xf86-video-fbdev-0.4.4.tar.bz2) = 9dd4b326498223abbfdf786089a46ea3db4fa6bbd341308eb48a9e00bc3fd51b
-SIZE (xorg/driver/xf86-video-fbdev-0.4.4.tar.bz2) = 293545
diff --git a/x11-drivers/xf86-video-fbdev/pkg-descr b/x11-drivers/xf86-video-fbdev/pkg-descr
deleted file mode 100644
index 22797ee517dd..000000000000
--- a/x11-drivers/xf86-video-fbdev/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-This package contains the X.Org xf86-video-fbdev driver.
-
-WWW: http://www.x.org
diff --git a/x11-drivers/xf86-video-fbdev/pkg-plist b/x11-drivers/xf86-video-fbdev/pkg-plist
deleted file mode 100644
index a9ab14486eee..000000000000
--- a/x11-drivers/xf86-video-fbdev/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-lib/xorg/modules/drivers/fbdev_drv.so
-man/man4/fbdev.4x.gz
diff --git a/x11-drivers/xf86-video-glint/Makefile b/x11-drivers/xf86-video-glint/Makefile
index f8ac400cef6d..080cf854e8c0 100644
--- a/x11-drivers/xf86-video-glint/Makefile
+++ b/x11-drivers/xf86-video-glint/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-glint
-PORTVERSION= 1.2.8
-PORTREVISION= 6
+PORTVERSION= 1.2.9
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -11,6 +10,6 @@ COMMENT= X.Org glint display driver
USE_GL= gl
XORG_CAT= driver
-USE_XORG= xf86driproto xf86dgaproto glproto
+USE_XORG= xf86dgaproto
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-glint/distinfo b/x11-drivers/xf86-video-glint/distinfo
index 8d55f3705992..0c26611aea19 100644
--- a/x11-drivers/xf86-video-glint/distinfo
+++ b/x11-drivers/xf86-video-glint/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-glint-1.2.8.tar.bz2) = 657f883bb3a4e4278399eba73840862c3642706ae8b0a4798ec97a31b3524221
-SIZE (xorg/driver/xf86-video-glint-1.2.8.tar.bz2) = 395371
+TIMESTAMP = 1484715946
+SHA256 (xorg/driver/xf86-video-glint-1.2.9.tar.bz2) = 852833ab2ea9ce519195dfd061a6c7aa5945a093cdc19546d1e9e69df7d577d2
+SIZE (xorg/driver/xf86-video-glint-1.2.9.tar.bz2) = 419524
diff --git a/x11-drivers/xf86-video-glint/files/patch-src_glint__driver.c b/x11-drivers/xf86-video-glint/files/patch-src_glint__driver.c
index 057c03757ab0..cea382aec998 100644
--- a/x11-drivers/xf86-video-glint/files/patch-src_glint__driver.c
+++ b/x11-drivers/xf86-video-glint/files/patch-src_glint__driver.c
@@ -1,19 +1,15 @@
---- src/glint_driver.c.orig 2012-07-16 02:50:47 UTC
+# Correct the type of a few variables
+#
+--- src/glint_driver.c.orig 2017-01-17 22:34:15 UTC
+++ src/glint_driver.c
-@@ -52,8 +52,6 @@
- #include "compiler.h"
- #include "mipointer.h"
-
--#include "mibstore.h"
--
- #include "pm3_regs.h"
- #include "glint_regs.h"
- #include "IBM.h"
-@@ -2904,7 +2902,6 @@ GLINTScreenInit(SCREEN_INIT_ARGS_DECL)
- }
- }
-
-- miInitializeBackingStore(pScreen);
- xf86SetBackingStore(pScreen);
- xf86SetSilkenMouse(pScreen);
+@@ -1326,8 +1326,8 @@ GLINTPreInit(ScrnInfoPtr pScrn, int flag
+ int basecopro =
+ PCI_REGION_BASE(pGlint->MultiPciInfo[0], 0, REGION_MEM) & 0xFFFFC000;
+ int basedelta = PCI_REGION_BASE(pGlint->PciInfo, 0, REGION_MEM) & 0xFFFFC000;
+- int dummy;
+- int base3copro, offset;
++ uint32_t dummy;
++ uint32_t base3copro, offset;
+ if( (basedelta & 0x20000) ^ (basecopro & 0x20000) ) {
+ if ((pGlint->MultiChip == PCI_CHIP_3DLABS_PERMEDIA) ||
diff --git a/x11-drivers/xf86-video-glint/files/patch-src_pm2__video.c b/x11-drivers/xf86-video-glint/files/patch-src_pm2__video.c
new file mode 100644
index 000000000000..73e6e93adb91
--- /dev/null
+++ b/x11-drivers/xf86-video-glint/files/patch-src_pm2__video.c
@@ -0,0 +1,22 @@
+# Correct a couple strings that should be const
+#
+--- src/pm2_video.c.orig 2013-02-07 07:55:44 UTC
++++ src/pm2_video.c
+@@ -2593,7 +2593,7 @@ Permedia2ReadInput(int fd, pointer unuse
+ }
+
+ static Bool
+-xvipcOpen(char *name, ScrnInfoPtr pScrn)
++xvipcOpen(const char *name, ScrnInfoPtr pScrn)
+ {
+ const char *osname;
+
+@@ -3170,7 +3170,7 @@ Permedia2VideoInit(ScreenPtr pScreen)
+
+ if (VideoIO ? xf86XVScreenInit(pScreen, &VARPtrs[0], 3) :
+ xf86XVScreenInit(pScreen, &VARPtrs[2], 1)) {
+- char *s;
++ const char *s;
+
+ xvEncoding = MAKE_ATOM(XV_ENCODING);
+ xvHue = MAKE_ATOM(XV_HUE);
diff --git a/x11-drivers/xf86-video-i740/Makefile b/x11-drivers/xf86-video-i740/Makefile
index 9e940e82a8ce..948b2a849d95 100644
--- a/x11-drivers/xf86-video-i740/Makefile
+++ b/x11-drivers/xf86-video-i740/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-i740
-PORTVERSION= 1.3.5
-PORTREVISION= 1
+PORTVERSION= 1.3.6
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-i740/distinfo b/x11-drivers/xf86-video-i740/distinfo
index 9595d0b8566b..1da2a9a82489 100644
--- a/x11-drivers/xf86-video-i740/distinfo
+++ b/x11-drivers/xf86-video-i740/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-i740-1.3.5.tar.bz2) = 1ce02dd0a11fbf6b43b8bca6663c67149d7d740c8985ae18bd956eddeaffe324
-SIZE (xorg/driver/xf86-video-i740-1.3.5.tar.bz2) = 321050
+TIMESTAMP = 1485130977
+SHA256 (xorg/driver/xf86-video-i740-1.3.6.tar.bz2) = 090d5d99a587b8074e939fa96cdcbb1c15a4c64dfc69d33eb10870ef3da01631
+SIZE (xorg/driver/xf86-video-i740-1.3.6.tar.bz2) = 347463
diff --git a/x11-drivers/xf86-video-intel/Makefile b/x11-drivers/xf86-video-intel/Makefile
index 14a103ced14f..9c54f0a5165e 100644
--- a/x11-drivers/xf86-video-intel/Makefile
+++ b/x11-drivers/xf86-video-intel/Makefile
@@ -33,14 +33,4 @@ CONFIGURE_ARGS+= --enable-sna
CONFIGURE_ARGS+= --disable-glamor
INSTALL_TARGET= install-strip
-.include <bsd.port.options.mk>
-
-.if (${OSVERSION} >= 903000 && ${OSVERSION} < 1000000)
-RUN_DEPENDS+= drm-kmod>=9:x11-drivers/drm-kmod
-
-post-patch:
- @${REINPLACE_CMD} -e 's|"i915kms"|"i915kms_port"|g' \
- ${WRKSRC}/src/intel_device.c
-.endif
-
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-mga/Makefile b/x11-drivers/xf86-video-mga/Makefile
index 2659797742f2..589c9c83b161 100644
--- a/x11-drivers/xf86-video-mga/Makefile
+++ b/x11-drivers/xf86-video-mga/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-mga
-PORTVERSION= 1.6.4
-PORTREVISION= 1
+PORTVERSION= 1.6.5
PORTEPOCH= 3
CATEGORIES= x11-drivers
@@ -10,8 +9,6 @@ MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org mga display driver
USE_GL= gl
-
XORG_CAT= driver
-USE_XORG= xf86driproto glproto
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-mga/distinfo b/x11-drivers/xf86-video-mga/distinfo
index a8fea5b4099d..c14045660f09 100644
--- a/x11-drivers/xf86-video-mga/distinfo
+++ b/x11-drivers/xf86-video-mga/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-mga-1.6.4.tar.bz2) = 48c6690b6751c76f53de64f8dbeaa9d6c62dbcfe890c768fd87167951247d44f
-SIZE (xorg/driver/xf86-video-mga-1.6.4.tar.bz2) = 475858
+TIMESTAMP = 1484715465
+SHA256 (xorg/driver/xf86-video-mga-1.6.5.tar.bz2) = b663cd8e6364f7c4e2637b9fcab9861d0e3971518c73b00d213f6545a1289422
+SIZE (xorg/driver/xf86-video-mga-1.6.5.tar.bz2) = 478350
diff --git a/x11-drivers/xf86-video-mga/files/patch-src_mga__dac3026.c b/x11-drivers/xf86-video-mga/files/patch-src_mga__dac3026.c
new file mode 100644
index 000000000000..4a225c085a78
--- /dev/null
+++ b/x11-drivers/xf86-video-mga/files/patch-src_mga__dac3026.c
@@ -0,0 +1,15 @@
+# Fix a style warning
+#
+--- src/mga_dac3026.c.orig 2017-01-17 22:40:29 UTC
++++ src/mga_dac3026.c
+@@ -886,8 +886,8 @@ MGA3026LoadCursorImage(
+ outTi3026dreg(TVP3026_WADR_PAL, 0x00);
+
+ while(i--) {
+- while (INREG8(0x1FDA) & 0x01);
+- while (!(INREG8(0x1FDA) & 0x01));
++ while (INREG8(0x1FDA) & 0x01) {}
++ while (!(INREG8(0x1FDA) & 0x01)) {}
+ outTi3026dreg(TVP3026_CUR_RAM, *(src++));
+ }
+ }
diff --git a/x11-drivers/xf86-video-mga/files/patch-src_mga__dacG.c b/x11-drivers/xf86-video-mga/files/patch-src_mga__dacG.c
new file mode 100644
index 000000000000..d03f7590de31
--- /dev/null
+++ b/x11-drivers/xf86-video-mga/files/patch-src_mga__dacG.c
@@ -0,0 +1,31 @@
+# Use fabs for doubles
+# Cast away a couple type warnings as done elsewhere
+#
+--- src/mga_dacG.c.orig 2017-01-17 22:40:29 UTC
++++ src/mga_dacG.c
+@@ -940,8 +940,8 @@ MGAGCalcClock ( ScrnInfoPtr pScrn, long
+ /*
+ * Pick the closest frequency.
+ */
+- if ( abs(calc_f - f_vco) < m_err ) {
+- m_err = abs(calc_f - f_vco);
++ if ( fabs(calc_f - f_vco) < m_err ) {
++ m_err = fabs(calc_f - f_vco);
+ *best_m = m;
+ *best_n = n;
+ }
+@@ -2124,12 +2124,12 @@ mgag_create_i2c_bus(const char *name, un
+ I2CBusPtr I2CPtr = xf86CreateI2CBusRec();
+
+ if (I2CPtr != NULL) {
+- I2CPtr->BusName = name;
++ I2CPtr->BusName = (char *)name;
+ I2CPtr->scrnIndex = scrn_index;
+ I2CPtr->I2CPutBits = MGAG_I2CPutBits;
+ I2CPtr->I2CGetBits = MGAG_I2CGetBits;
+ I2CPtr->AcknTimeout = 5;
+- I2CPtr->DriverPrivate.ptr = & i2c_priv[bus_index];
++ I2CPtr->DriverPrivate.ptr = (void *)&i2c_priv[bus_index];
+
+ if (!xf86I2CBusInit(I2CPtr)) {
+ xf86DestroyI2CBusRec(I2CPtr, TRUE, TRUE);
diff --git a/x11-drivers/xf86-video-mga/files/patch-src_mga__dri.c b/x11-drivers/xf86-video-mga/files/patch-src_mga__dri.c
new file mode 100644
index 000000000000..1c4114bc5920
--- /dev/null
+++ b/x11-drivers/xf86-video-mga/files/patch-src_mga__dri.c
@@ -0,0 +1,22 @@
+# Use the correct constants for this type
+#
+--- src/mga_dri.c.orig 2017-01-17 22:40:29 UTC
++++ src/mga_dri.c
+@@ -316,7 +316,7 @@ static void MGAWaitForIdleDMA( ScrnInfoP
+ for (;;) {
+ do {
+ /* first ask for quiescent and flush */
+- lock.flags = DRM_LOCK_QUIESCENT | DRM_LOCK_FLUSH;
++ lock.flags = _DRM_LOCK_QUIESCENT | _DRM_LOCK_FLUSH;
+ do {
+ ret = drmCommandWrite( pMga->drmFD, DRM_MGA_FLUSH,
+ &lock, sizeof( drm_lock_t ) );
+@@ -324,7 +324,7 @@ static void MGAWaitForIdleDMA( ScrnInfoP
+
+ /* if it's still busy just try quiescent */
+ if ( ret == -EBUSY ) {
+- lock.flags = DRM_LOCK_QUIESCENT;
++ lock.flags = _DRM_LOCK_QUIESCENT;
+ do {
+ ret = drmCommandWrite( pMga->drmFD, DRM_MGA_FLUSH,
+ &lock, sizeof( drm_lock_t ) );
diff --git a/x11-drivers/xf86-video-mga/files/patch-src_mga__driver.c b/x11-drivers/xf86-video-mga/files/patch-src_mga__driver.c
new file mode 100644
index 000000000000..4c2b73f8d464
--- /dev/null
+++ b/x11-drivers/xf86-video-mga/files/patch-src_mga__driver.c
@@ -0,0 +1,23 @@
+# Correct a string that should be const
+# Cast away a warning as done earlier in the same function
+#
+--- src/mga_driver.c.orig 2017-01-17 22:40:29 UTC
++++ src/mga_driver.c
+@@ -1933,7 +1933,7 @@ MGAPreInit(ScrnInfoPtr pScrn, int flags)
+ } else {
+ int from = X_DEFAULT;
+ #ifdef USE_EXA
+- char *s = xf86GetOptValString(pMga->Options, OPTION_ACCELMETHOD);
++ const char *s = xf86GetOptValString(pMga->Options, OPTION_ACCELMETHOD);
+ #endif
+ pMga->NoAccel = FALSE;
+ pMga->Exa = FALSE;
+@@ -2644,7 +2644,7 @@ MGAMapMem(ScrnInfoPtr pScrn)
+ err = pci_device_map_range(dev,
+ region->base_addr, region->size,
+ PCI_DEV_MAP_FLAG_WRITABLE,
+- &pMga->IOBase);
++ (void **)&pMga->IOBase);
+
+ if (err) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
diff --git a/x11-drivers/xf86-video-mga/files/patch-src_mga__merge.c b/x11-drivers/xf86-video-mga/files/patch-src_mga__merge.c
new file mode 100644
index 000000000000..2bab5668a3dd
--- /dev/null
+++ b/x11-drivers/xf86-video-mga/files/patch-src_mga__merge.c
@@ -0,0 +1,58 @@
+# Correct strings that should be const
+#
+--- src/mga_merge.c.orig 2017-01-17 22:40:29 UTC
++++ src/mga_merge.c
+@@ -18,12 +18,12 @@
+ #include "fbdevhw.h"
+
+ static int
+-StrToRanges(range* r, char* s) {
++StrToRanges(range* r, const char* s) {
+ float num=0.0;
+ int rangenum=0;
+ Bool gotdash = FALSE;
+ Bool nextdash = FALSE;
+- char* strnum=NULL;
++ const char* strnum=NULL;
+ do {
+ switch(*s) {
+ case '0': case '1': case '2': case '3': case '4': case '5':
+@@ -117,7 +117,7 @@ CopyModeNLink(ScrnInfoPtr pScrn, Display
+ }
+
+ static DisplayModePtr
+-GetModeFromName(char* str, DisplayModePtr i)
++GetModeFromName(const char* str, DisplayModePtr i)
+ {
+ DisplayModePtr c = i;
+ if(!i) return NULL;
+@@ -130,9 +130,9 @@ GetModeFromName(char* str, DisplayModePt
+
+ /* takes a config file string of MetaModes and generates a MetaModeList */
+ static DisplayModePtr
+-GenerateModeList(ScrnInfoPtr pScrn, char* str,
++GenerateModeList(ScrnInfoPtr pScrn, const char* str,
+ DisplayModePtr i, DisplayModePtr j, MgaScrn2Rel srel) {
+- char* strmode = str;
++ const char* strmode = str;
+ char modename[256];
+ Bool gotdash = FALSE;
+ MgaScrn2Rel sr;
+@@ -165,7 +165,7 @@ GenerateModeList(ScrnInfoPtr pScrn, char
+ } else {
+ mode1 = GetModeFromName(modename,i);
+ if(!mode1) {
+- char* tmps = str;
++ const char* tmps = str;
+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+ "Mode: \"%s\" is not a supported mode for monitor 1\n",modename);
+ /* find if a monitor2 mode follows */
+@@ -232,7 +232,7 @@ MGAPreInitMergedFB(ScrnInfoPtr pScrn1, i
+ MGAPtr pMga1;
+ MessageType from;
+ int i;
+- char* s;
++ const char* s;
+ ClockRangePtr clockRanges;
+ MgaScrn2Rel Monitor2Pos;
+
diff --git a/x11-drivers/xf86-video-nv/Makefile b/x11-drivers/xf86-video-nv/Makefile
index d65548cc6e68..368617e78947 100644
--- a/x11-drivers/xf86-video-nv/Makefile
+++ b/x11-drivers/xf86-video-nv/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-nv
-PORTVERSION= 2.1.20
-PORTREVISION= 7
+PORTVERSION= 2.1.21
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-nv/distinfo b/x11-drivers/xf86-video-nv/distinfo
index 54a09c6c57d3..5bb804dd4d62 100644
--- a/x11-drivers/xf86-video-nv/distinfo
+++ b/x11-drivers/xf86-video-nv/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-nv-2.1.20.tar.bz2) = 8395f65501f16f9cbaae8f598b02c6f18e78f4d3d30a08cb8d547dc2e00c10bf
-SIZE (xorg/driver/xf86-video-nv-2.1.20.tar.bz2) = 396982
+TIMESTAMP = 1484715801
+SHA256 (xorg/driver/xf86-video-nv-2.1.21.tar.bz2) = 1f98649e6ff0e8214b9d5dcac661f1d004be8e73823d8247b9c7025fd81db32d
+SIZE (xorg/driver/xf86-video-nv-2.1.21.tar.bz2) = 424091
diff --git a/x11-drivers/xf86-video-nv/files/patch-src-nv_driver.c b/x11-drivers/xf86-video-nv/files/patch-src-nv_driver.c
index 84eae0672616..6715bf67b3c5 100644
--- a/x11-drivers/xf86-video-nv/files/patch-src-nv_driver.c
+++ b/x11-drivers/xf86-video-nv/files/patch-src-nv_driver.c
@@ -1,4 +1,4 @@
---- src/nv_driver.c.orig 2012-07-17 06:47:02 UTC
+--- src/nv_driver.c.orig 2017-01-17 22:41:33 UTC
+++ src/nv_driver.c
@@ -1543,7 +1543,11 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
xf86FreeInt10(pNv->pInt);
@@ -12,11 +12,3 @@
/* We use a programmable clock */
pScrn->progClock = TRUE;
-@@ -2550,7 +2554,6 @@ NVScreenInit(SCREEN_INIT_ARGS_DECL)
- if (!pNv->NoAccel)
- NVAccelInit(pScreen);
-
-- miInitializeBackingStore(pScreen);
- xf86SetBackingStore(pScreen);
- xf86SetSilkenMouse(pScreen);
-
diff --git a/x11-drivers/xf86-video-nv/files/patch-src_g80__driver.c b/x11-drivers/xf86-video-nv/files/patch-src_g80__driver.c
deleted file mode 100644
index 53efac4b3932..000000000000
--- a/x11-drivers/xf86-video-nv/files/patch-src_g80__driver.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/g80_driver.c.orig 2012-07-17 06:47:02 UTC
-+++ src/g80_driver.c
-@@ -34,7 +34,6 @@
- #include <xf86Resources.h>
- #endif
- #include <mipointer.h>
--#include <mibstore.h>
- #include <micmap.h>
- #include <xf86cmap.h>
- #include <fb.h>
-@@ -833,7 +832,6 @@ G80ScreenInit(SCREEN_INIT_ARGS_DECL)
- }
- }
-
-- miInitializeBackingStore(pScreen);
- xf86SetBackingStore(pScreen);
- xf86SetSilkenMouse(pScreen);
-
diff --git a/x11-drivers/xf86-video-nv/files/patch-src_nv__include.h b/x11-drivers/xf86-video-nv/files/patch-src_nv__include.h
deleted file mode 100644
index 439017594065..000000000000
--- a/x11-drivers/xf86-video-nv/files/patch-src_nv__include.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/nv_include.h.orig 2012-07-17 06:48:19 UTC
-+++ src/nv_include.h
-@@ -24,9 +24,6 @@
- /* All drivers initialising the SW cursor need this */
- #include "mipointer.h"
-
--/* All drivers implementing backing store need this */
--#include "mibstore.h"
--
- #include "micmap.h"
-
- #include "xf86DDC.h"
diff --git a/x11-drivers/xf86-video-nv/files/patch-src_riva__driver.c b/x11-drivers/xf86-video-nv/files/patch-src_riva__driver.c
deleted file mode 100644
index 74e1ee543e79..000000000000
--- a/x11-drivers/xf86-video-nv/files/patch-src_riva__driver.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/riva_driver.c.orig 2012-07-17 06:47:02 UTC
-+++ src/riva_driver.c
-@@ -1168,7 +1168,6 @@ RivaScreenInit(SCREEN_INIT_ARGS_DECL)
- if (!pRiva->NoAccel)
- RivaAccelInit(pScreen);
-
-- miInitializeBackingStore(pScreen);
- xf86SetBackingStore(pScreen);
- xf86SetSilkenMouse(pScreen);
-
diff --git a/x11-drivers/xf86-video-nv/files/patch-src_riva__include.h b/x11-drivers/xf86-video-nv/files/patch-src_riva__include.h
deleted file mode 100644
index e7c8e2712c4a..000000000000
--- a/x11-drivers/xf86-video-nv/files/patch-src_riva__include.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/riva_include.h.orig 2012-07-17 06:48:45 UTC
-+++ src/riva_include.h
-@@ -22,9 +22,6 @@
- /* All drivers initialising the SW cursor need this */
- #include "mipointer.h"
-
--/* All drivers implementing backing store need this */
--#include "mibstore.h"
--
- #include "micmap.h"
-
- #include "xf86DDC.h"
diff --git a/x11-drivers/xf86-video-nv/files/patch-src_riva__xaa.c b/x11-drivers/xf86-video-nv/files/patch-src_riva__xaa.c
new file mode 100644
index 000000000000..9430febbe30c
--- /dev/null
+++ b/x11-drivers/xf86-video-nv/files/patch-src_riva__xaa.c
@@ -0,0 +1,14 @@
+# ifdef away this XAA function call as done above
+#
+--- src/riva_xaa.c.orig 2013-02-07 07:56:01 UTC
++++ src/riva_xaa.c
+@@ -91,7 +91,9 @@ RivaSetRopPattern(RivaPtr pRiva, int rop
+ if (pRiva->currentRop != (rop + 16)) {
+ pRiva->currentRop = rop + 16; /* +16 is important */
+ RIVA_FIFO_FREE(pRiva->riva, Rop, 1);
++#ifdef HAVE_XAA_H
+ pRiva->riva.Rop->Rop3 = XAAGetPatternROP(rop);
++#endif
+ }
+ }
+ #ifdef HAVE_XAA_H
diff --git a/x11-drivers/xf86-video-openchrome/Makefile b/x11-drivers/xf86-video-openchrome/Makefile
index 4ab6773a781d..a4f0664feecb 100644
--- a/x11-drivers/xf86-video-openchrome/Makefile
+++ b/x11-drivers/xf86-video-openchrome/Makefile
@@ -1,20 +1,32 @@
# $FreeBSD$
PORTNAME= xf86-video-openchrome
-PORTVERSION= 0.3.3
-PORTREVISION= 6
+PORTVERSION= 0.5.0
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org openChrome display driver
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libdrm.so:graphics/libdrm
+
USE_GL= gl
XORG_CAT= driver
-USE_XORG= xf86driproto xvmc glproto
+USE_XORG= x11 xext xv
MAKE_ARGS+= drivermandir=${LOCALBASE}/man/man4
-ONLY_FOR_ARCHS= amd64 i386 ia64
+.include <bsd.port.options.mk>
+
+# XvMC is only supported by this driver on x86
+.if ${ARCH} == "i386" || ${ARCH} == "amd64"
+USE_XORG+= xvmc
+PLIST_SUB+= XVMC=""
+.else
+PLIST_SUB+= XVMC="@comment "
+.endif
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-openchrome/distinfo b/x11-drivers/xf86-video-openchrome/distinfo
index 59ce0a19a7b5..58404374a9b9 100644
--- a/x11-drivers/xf86-video-openchrome/distinfo
+++ b/x11-drivers/xf86-video-openchrome/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-openchrome-0.3.3.tar.bz2) = e49e2f1e5dac86408e5a74b87038cc4082d2c3fba4e0579823161991432412ed
-SIZE (xorg/driver/xf86-video-openchrome-0.3.3.tar.bz2) = 518705
+TIMESTAMP = 1480077395
+SHA256 (xorg/driver/xf86-video-openchrome-0.5.0.tar.bz2) = 49fdd613975a332a0a64720b382420354aecaf2fcbb4920efd094d5a0ac955bb
+SIZE (xorg/driver/xf86-video-openchrome-0.5.0.tar.bz2) = 542713
diff --git a/x11-drivers/xf86-video-openchrome/files/patch-configure b/x11-drivers/xf86-video-openchrome/files/patch-configure
index d32348a547bb..d60306b3cd04 100644
--- a/x11-drivers/xf86-video-openchrome/files/patch-configure
+++ b/x11-drivers/xf86-video-openchrome/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig 2013-05-23 15:11:54 UTC
+--- configure.orig 2016-07-06 16:22:03 UTC
+++ configure
-@@ -12742,7 +12742,7 @@ $as_echo "#define X_HAVE_XAAGETROP 1" >>
+@@ -13388,7 +13388,7 @@ $as_echo "#define X_HAVE_XAAGETROP 1" >>
$as_echo "#define X_NEED_I2CSTART 1" >>confdefs.h
diff --git a/x11-drivers/xf86-video-openchrome/files/patch-src_via__id.c b/x11-drivers/xf86-video-openchrome/files/patch-src_via__id.c
deleted file mode 100644
index 35ba5e3945a0..000000000000
--- a/x11-drivers/xf86-video-openchrome/files/patch-src_via__id.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/via_id.c.orig 2013-05-23 15:11:28 UTC
-+++ src/via_id.c
-@@ -231,6 +231,7 @@ static struct ViaCardIdStruct ViaCardId[
- {"VIA VT3343 (P4M890)", VIA_P4M890, 0x1106, 0x3343, VIA_DEVICE_CRT},
- {"MSI P4M890M-L/IL (MS-7255)", VIA_P4M890, 0x1462, 0x7255, VIA_DEVICE_CRT},
- {"Biostar P4M890-M7 TE", VIA_P4M890, 0x1565, 0x1207, VIA_DEVICE_CRT},
-+ {"Mitac 8624 (Joybook R41E)", VIA_P4M890, 0x1071, 0x8624, VIA_DEVICE_CRT | VIA_DEVICE_LCD},
- {"ASRock P4VM890", VIA_P4M890, 0x1849, 0x3343, VIA_DEVICE_CRT},
-
- /*** VX800 ***/
diff --git a/x11-drivers/xf86-video-openchrome/pkg-plist b/x11-drivers/xf86-video-openchrome/pkg-plist
index 4e137dcac478..0bf636889ff8 100644
--- a/x11-drivers/xf86-video-openchrome/pkg-plist
+++ b/x11-drivers/xf86-video-openchrome/pkg-plist
@@ -1,8 +1,8 @@
-lib/libchromeXvMC.so
-lib/libchromeXvMC.so.1
-lib/libchromeXvMC.so.1.0.0
-lib/libchromeXvMCPro.so
-lib/libchromeXvMCPro.so.1
-lib/libchromeXvMCPro.so.1.0.0
+%%XVMC%%lib/libchromeXvMC.so
+%%XVMC%%lib/libchromeXvMC.so.1
+%%XVMC%%lib/libchromeXvMC.so.1.0.0
+%%XVMC%%lib/libchromeXvMCPro.so
+%%XVMC%%lib/libchromeXvMCPro.so.1
+%%XVMC%%lib/libchromeXvMCPro.so.1.0.0
lib/xorg/modules/drivers/openchrome_drv.so
man/man4/openchrome.4x.gz
diff --git a/x11-drivers/xf86-video-r128/Makefile b/x11-drivers/xf86-video-r128/Makefile
index 15b2a4a3a8f2..ef1475181fec 100644
--- a/x11-drivers/xf86-video-r128/Makefile
+++ b/x11-drivers/xf86-video-r128/Makefile
@@ -1,12 +1,15 @@
# $FreeBSD$
PORTNAME= xf86-video-r128
-PORTVERSION= 6.10.0
+PORTVERSION= 6.10.1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org r128 display driver
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
USE_GL= gl
XORG_CAT= driver
USE_XORG= glproto xf86driproto xf86miscproto xineramaproto
diff --git a/x11-drivers/xf86-video-r128/distinfo b/x11-drivers/xf86-video-r128/distinfo
index d2e9f01814aa..ea6992af9102 100644
--- a/x11-drivers/xf86-video-r128/distinfo
+++ b/x11-drivers/xf86-video-r128/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-r128-6.10.0.tar.bz2) = 80d531a07168230a408b88809a5440cfd48f9098666d12702d0012148a0d353d
-SIZE (xorg/driver/xf86-video-r128-6.10.0.tar.bz2) = 494884
+TIMESTAMP = 1484351416
+SHA256 (xorg/driver/xf86-video-r128-6.10.1.tar.bz2) = 5ebfef49831c9b12f7b7011c8314010596ac2ab0d5b9b7cfd17908e93d7de4ea
+SIZE (xorg/driver/xf86-video-r128-6.10.1.tar.bz2) = 495306
diff --git a/x11-drivers/xf86-video-s3/Makefile b/x11-drivers/xf86-video-s3/Makefile
index e9d71f2cf38c..99ccb30b3452 100644
--- a/x11-drivers/xf86-video-s3/Makefile
+++ b/x11-drivers/xf86-video-s3/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xf86-video-s3
PORTVERSION= 0.6.5
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-s3/files/patch-git_01_92d10d5 b/x11-drivers/xf86-video-s3/files/patch-git_01_92d10d5
new file mode 100644
index 000000000000..3f931107069c
--- /dev/null
+++ b/x11-drivers/xf86-video-s3/files/patch-git_01_92d10d5
@@ -0,0 +1,29 @@
+From 92d10d5d6882c3db6695a8fff83c88fbaaa27a33 Mon Sep 17 00:00:00 2001
+From: "Eric S. Raymond" <esr@thyrsus.com>
+Date: Thu, 23 Aug 2012 12:46:03 -0400
+Subject: Fix malformed list syntax.
+
+TP without a body shouldn't really be used for an item list. Fixing this
+makes structural translation to DocBook possible.
+
+Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
+
+diff --git a/man/s3.man b/man/s3.man
+index 9109c2a..732e4f3 100644
+--- man/s3.man
++++ man/s3.man
+@@ -50,9 +50,9 @@ driver supports PCI video cards based on the following S3 chips:
+
+ .PP
+ Also driver supports the following RAMDACs:
+-.TP 12
++.IP 12
+ .B IBM 524, IBM 524A, IBM 526, IBM 526DB
+-.TP 12
++.IP 12
+ .B TI ViewPoint 3025
+
+ .SH DESCRIPTION
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-s3/files/patch-git_02_ed0fbfd b/x11-drivers/xf86-video-s3/files/patch-git_02_ed0fbfd
new file mode 100644
index 000000000000..d78d61b19c1e
--- /dev/null
+++ b/x11-drivers/xf86-video-s3/files/patch-git_02_ed0fbfd
@@ -0,0 +1,33 @@
+From ed0fbfd27609e897c42d7ab316481a9504746233 Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Tue, 7 Jan 2014 16:28:58 -0500
+Subject: Remove mibstore.h
+
+As it was done in numerous other drivers. Fixes compile error.
+
+Tested-by: Trevor Woerner <trevor.woerner@linaro.org>
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+diff --git a/src/s3_driver.c b/src/s3_driver.c
+index 61242ad..85763ba 100644
+--- src/s3_driver.c
++++ src/s3_driver.c
+@@ -52,7 +52,6 @@
+ #include "compiler.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+-#include "mibstore.h"
+ #include "fb.h"
+ #include "inputstr.h"
+ #include "shadowfb.h"
+@@ -822,7 +821,6 @@ static Bool S3ScreenInit(SCREEN_INIT_ARGS_DECL)
+ fbPictureInit (pScreen, 0, 0);
+ S3DGAInit(pScreen);
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+
+ /* framebuffer manager setup */
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-s3/files/patch-git_03_7b45358 b/x11-drivers/xf86-video-s3/files/patch-git_03_7b45358
new file mode 100644
index 000000000000..d19f0b2a5baf
--- /dev/null
+++ b/x11-drivers/xf86-video-s3/files/patch-git_03_7b45358
@@ -0,0 +1,35 @@
+From 7b454358082fc07985878fc92b902d7534144cae Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat, 12 Mar 2016 10:54:22 -0800
+Subject: When checking malloc for success, it helps to use == NULL, instead of
+ =
+
+Fixes gcc 5.3 compiler warning:
+s3_bios.c: In function 'find_bios_string':
+s3_bios.c:49:2: warning: suggest parentheses around assignment used as
+ truth value [-Wparentheses]
+ if (bios = NULL)
+ ^
+
+[Tested by compiling only, as I have no S3 hardware, but clearly no one
+ else has tested this code since commit c41a1188ce53 in 2009, as it would
+ be segfaulting if run.]
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+diff --git a/src/s3_bios.c b/src/s3_bios.c
+index 323e2ce..1c7c5fe 100644
+--- src/s3_bios.c
++++ src/s3_bios.c
+@@ -46,7 +46,7 @@ static unsigned char *find_bios_string(ScrnInfoPtr pScrn, int BIOSbase,
+ S3Ptr pS3 = S3PTR(pScrn);
+
+ bios = malloc(BIOS_BSIZE);
+- if (bios = NULL)
++ if (bios == NULL)
+ return NULL;
+
+ if (!init) {
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-s3/files/patch-git_04_82bd67a b/x11-drivers/xf86-video-s3/files/patch-git_04_82bd67a
new file mode 100644
index 000000000000..a3bf331e64c3
--- /dev/null
+++ b/x11-drivers/xf86-video-s3/files/patch-git_04_82bd67a
@@ -0,0 +1,92 @@
+From 82bd67a255fb45847d8a10811641bc0b203ba864 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Thu, 17 Mar 2016 10:27:51 -0700
+Subject: s3_bios.c: Simplify code for choosing between 16000 & 16000 for
+ RefClock
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
+
+diff --git a/src/s3_bios.c b/src/s3_bios.c
+index 1c7c5fe..262d40a 100644
+--- src/s3_bios.c
++++ src/s3_bios.c
+@@ -29,75 +29,9 @@
+ #include "config.h"
+ #endif
+
+-#include "xf86.h"
+-#include "xf86_OSproc.h"
+-#include "compiler.h"
+-
+ #include "s3.h"
+
+-
+-static unsigned char *find_bios_string(ScrnInfoPtr pScrn, int BIOSbase,
+- char *match1, char *match2)
+-{
+- static unsigned char *bios;
+- static int init=0;
+- int i, j, l1, l2, ret;
+-
+- S3Ptr pS3 = S3PTR(pScrn);
+-
+- bios = malloc(BIOS_BSIZE);
+- if (bios == NULL)
+- return NULL;
+-
+- if (!init) {
+- init = 1;
+-#ifndef XSERVER_LIBPCIACCESS
+- if (xf86ReadDomainMemory(pS3->PciTag, BIOSbase, BIOS_BSIZE, bios) != BIOS_BSIZE)
+- goto error;
+-#else
+- ret = pci_device_read_rom(pS3->PciInfo, bios);
+- if (ret) {
+- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+- "libpciaccess failed to read video BIOS: %s\n",
+- strerror(-ret));
+- goto error;
+- }
+-#endif
+- if ((bios[0] != 0x55) || (bios[1] != 0xaa))
+- goto error;
+- }
+- if (match1 == NULL)
+- goto error;
+-
+- l1 = strlen(match1);
+- if (match2 != NULL)
+- l2 = strlen(match2);
+- else
+- l2 = 0;
+-
+- for (i=0; i<BIOS_BSIZE; i++)
+- if (bios[i] == match1[0] && !memcmp(&bios[i], match1, l1)) {
+- if (match2 == NULL)
+- return &bios[i+l1];
+- else
+- for(j=i+l1; (j<BIOS_BSIZE-l2) && bios[j]; j++)
+- if (bios[j] == match2[0] &&
+- !memcmp(&bios[j], match2, l2))
+- return &bios[j+l2];
+- }
+-error:
+- free(bios);
+- return NULL;
+-}
+-
+-
+ int S3GetRefClock(ScrnInfoPtr pScrn)
+ {
+- int RefClock = 16000; /* default */
+-
+- if (find_bios_string(pScrn, BIOS_BASE, "Number Nine Visual Technology",
+- "Motion 771") != NULL)
+- RefClock = 16000;
+-
+- return RefClock;
++ return 16000;
+ }
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-s3/files/patch-src_s3__driver.c b/x11-drivers/xf86-video-s3/files/patch-src_s3__driver.c
index 92de84351e73..604937dac78d 100644
--- a/x11-drivers/xf86-video-s3/files/patch-src_s3__driver.c
+++ b/x11-drivers/xf86-video-s3/files/patch-src_s3__driver.c
@@ -1,18 +1,13 @@
+# Correct a string that should be const
+#
--- src/s3_driver.c.orig 2012-07-17 04:50:05 UTC
+++ src/s3_driver.c
-@@ -52,7 +52,6 @@
- #include "compiler.h"
- #include "mipointer.h"
- #include "micmap.h"
--#include "mibstore.h"
- #include "fb.h"
- #include "inputstr.h"
- #include "shadowfb.h"
-@@ -822,7 +821,6 @@ static Bool S3ScreenInit(SCREEN_INIT_ARG
- fbPictureInit (pScreen, 0, 0);
- S3DGAInit(pScreen);
+@@ -309,7 +308,7 @@ static Bool S3PreInit(ScrnInfoPtr pScrn,
+ Gamma gzeros = {0.0, 0.0, 0.0};
+ int i, vgaCRIndex, vgaCRReg;
+ unsigned char tmp;
+- char *s;
++ const char *s;
-- miInitializeBackingStore(pScreen);
- xf86SetBackingStore(pScreen);
-
- /* framebuffer manager setup */
+ if (flags & PROBE_DETECT)
+ return FALSE;
diff --git a/x11-drivers/xf86-video-s3virge/Makefile b/x11-drivers/xf86-video-s3virge/Makefile
index ccd229d5c4bc..62bb76968368 100644
--- a/x11-drivers/xf86-video-s3virge/Makefile
+++ b/x11-drivers/xf86-video-s3virge/Makefile
@@ -2,6 +2,7 @@
PORTNAME= xf86-video-s3virge
PORTVERSION= 1.10.7
+PORTREVISION= 1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-s3virge/files/patch-git_01_9c8a08c b/x11-drivers/xf86-video-s3virge/files/patch-git_01_9c8a08c
new file mode 100644
index 000000000000..446da1f4fb25
--- /dev/null
+++ b/x11-drivers/xf86-video-s3virge/files/patch-git_01_9c8a08c
@@ -0,0 +1,26 @@
+From 9c8a08c9c7a0f7ec591042abd5b4a0fb50c028f1 Mon Sep 17 00:00:00 2001
+From: Nick Hudson <skrll@NetBSD.org>
+Date: Mon, 28 Sep 2015 22:49:21 +0200
+Subject: Increase BIOS_BSIZE.
+
+libpciaccess expects a much bigger buffer when reading ROM.
+Bump it to the (normal) IO space size.
+
+Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
+
+diff --git a/src/s3v_driver.c b/src/s3v_driver.c
+index d519dc8..e5dd2e4 100644
+--- src/s3v_driver.c
++++ src/s3v_driver.c
+@@ -316,7 +316,7 @@ s3virgeSetup(pointer module, pointer opts, int *errmaj, int *errmin)
+
+ static unsigned char *find_bios_string(S3VPtr ps3v, int BIOSbase, char *match1, char *match2)
+ {
+-#define BIOS_BSIZE 1024
++#define BIOS_BSIZE 0x10000
+ #define BIOS_BASE 0xc0000
+
+ static unsigned char bios[BIOS_BSIZE];
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-s3virge/files/patch-git_02_47f4369 b/x11-drivers/xf86-video-s3virge/files/patch-git_02_47f4369
new file mode 100644
index 000000000000..1ad3f233bb85
--- /dev/null
+++ b/x11-drivers/xf86-video-s3virge/files/patch-git_02_47f4369
@@ -0,0 +1,24 @@
+From 47f43694645f3e6347b536d5e3fb2fee56e715ab Mon Sep 17 00:00:00 2001
+From: Thomas Klausner <wiz@NetBSD.org>
+Date: Mon, 28 Sep 2015 22:49:22 +0200
+Subject: Add cast to remove a warning on 32-bit machines.
+
+PCI_REGION_BASE returns a 64-bit value, which needs to be converted
+down to 32-bit before it can be put into a 32-bit pointer.
+
+diff --git a/src/s3v_dga.c b/src/s3v_dga.c
+index 0e603cf..0ab374d 100644
+--- src/s3v_dga.c
++++ src/s3v_dga.c
+@@ -337,7 +337,7 @@ S3V_OpenFramebuffer(
+ S3VPtr ps3v = S3VPTR(pScrn);
+
+ *name = NULL; /* no special device */
+- *mem = (unsigned char*)PCI_REGION_BASE(ps3v->PciInfo, 0, REGION_MEM);
++ *mem = (unsigned char*)(uintptr_t)PCI_REGION_BASE(ps3v->PciInfo, 0, REGION_MEM);
+ *size = ps3v->videoRambytes;
+ *offset = 0;
+ *flags = DGA_NEED_ROOT;
+--
+cgit v0.10.2
+
diff --git a/x11-drivers/xf86-video-s3virge/files/patch-src_s3v__driver.c b/x11-drivers/xf86-video-s3virge/files/patch-src_s3v__driver.c
new file mode 100644
index 000000000000..aa2fb098be90
--- /dev/null
+++ b/x11-drivers/xf86-video-s3virge/files/patch-src_s3v__driver.c
@@ -0,0 +1,23 @@
+# Correct a string that should be const
+# Remove extra parenthesis to clear a style warning
+#
+--- src/s3v_driver.c.orig 2016-11-25 14:37:44 UTC
++++ src/s3v_driver.c
+@@ -480,7 +480,7 @@ S3VPreInit(ScrnInfoPtr pScrn, int flags)
+ ClockRangePtr clockRanges;
+ char *mod = NULL;
+ const char *reqSym = NULL;
+- char *s;
++ const char *s;
+
+ unsigned char config1, config2, m, n, n1, n2, cr66 = 0;
+ int mclk;
+@@ -2850,7 +2850,7 @@ S3VModeInit(ScrnInfoPtr pScrn, DisplayMo
+ else
+ new->CR67 = 0x50 | 0x4; /* 16bpp */
+ }
+- else if ((pScrn->bitsPerPixel == 24) ) {
++ else if (pScrn->bitsPerPixel == 24) {
+ new->CR67 = 0x74; /* 24bpp, STREAMS */
+ /* Flag STREAMS proc. required */
+ ps3v->NeedSTREAMS = TRUE;
diff --git a/x11-drivers/xf86-video-savage/Makefile b/x11-drivers/xf86-video-savage/Makefile
index 00d6c981c843..da33d00348fd 100644
--- a/x11-drivers/xf86-video-savage/Makefile
+++ b/x11-drivers/xf86-video-savage/Makefile
@@ -1,15 +1,13 @@
# $FreeBSD$
PORTNAME= xf86-video-savage
-PORTVERSION= 2.3.8
+PORTVERSION= 2.3.9
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org savage display driver
USE_GL= gl
-
XORG_CAT= driver
-USE_XORG= xf86driproto glproto
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-savage/distinfo b/x11-drivers/xf86-video-savage/distinfo
index e4338f5659ca..b6dac36e2228 100644
--- a/x11-drivers/xf86-video-savage/distinfo
+++ b/x11-drivers/xf86-video-savage/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-savage-2.3.8.tar.bz2) = fdcea4a86532bceb50095eaf0fe2f38bbfa160e98463b815f4b549eb9985fa63
-SIZE (xorg/driver/xf86-video-savage-2.3.8.tar.bz2) = 418649
+TIMESTAMP = 1484716274
+SHA256 (xorg/driver/xf86-video-savage-2.3.9.tar.bz2) = 2c93c4db1f71e725dda0caee5821253129d4b52d7aa0fd720593e7769bceec86
+SIZE (xorg/driver/xf86-video-savage-2.3.9.tar.bz2) = 433686
diff --git a/x11-drivers/xf86-video-savage/files/patch-src_savage__dri.c b/x11-drivers/xf86-video-savage/files/patch-src_savage__dri.c
new file mode 100644
index 000000000000..e00519b07a59
--- /dev/null
+++ b/x11-drivers/xf86-video-savage/files/patch-src_savage__dri.c
@@ -0,0 +1,13 @@
+# Correct types in a format string
+#
+--- src/savage_dri.c.orig 2017-01-17 22:43:40 UTC
++++ src/savage_dri.c
+@@ -894,7 +894,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScr
+ }
+
+ xf86DrvMsg( pScrn->scrnIndex, X_INFO,
+- "[drm] Sarea %d+%d: %d\n",
++ "[drm] Sarea %lu+%lu: %lu\n",
+ sizeof(XF86DRISAREARec), sizeof(SAVAGESAREAPrivRec),
+ sizeof(XF86DRISAREARec) + sizeof(SAVAGESAREAPrivRec) );
+
diff --git a/x11-drivers/xf86-video-savage/files/patch-src_savage__video.c b/x11-drivers/xf86-video-savage/files/patch-src_savage__video.c
new file mode 100644
index 000000000000..a1fba8286766
--- /dev/null
+++ b/x11-drivers/xf86-video-savage/files/patch-src_savage__video.c
@@ -0,0 +1,17 @@
+# Correct type in a couple format strings
+#
+--- src/savage_video.c.orig 2017-01-17 22:43:40 UTC
++++ src/savage_video.c
+@@ -303,10 +303,10 @@ unsigned int GetBlendForFourCC2000( int
+
+ void savageOUTREG( SavagePtr psav, unsigned long offset, unsigned long value )
+ {
+- ErrorF( "MMIO %08lx, was %08lx, want %08lx,",
++ ErrorF( "MMIO %08lx, was %08x, want %08lx,",
+ offset, (CARD32)MMIO_IN32( psav->MapBase, offset ), value );
+ MMIO_OUT32( psav->MapBase, offset, value );
+- ErrorF( " now %08lx\n", (CARD32)MMIO_IN32( psav->MapBase, offset ) );
++ ErrorF( " now %08x\n", (CARD32)MMIO_IN32( psav->MapBase, offset ) );
+ }
+
+ #if 0
diff --git a/x11-drivers/xf86-video-siliconmotion/Makefile b/x11-drivers/xf86-video-siliconmotion/Makefile
index 5e164bb15f05..93d104fc5042 100644
--- a/x11-drivers/xf86-video-siliconmotion/Makefile
+++ b/x11-drivers/xf86-video-siliconmotion/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-siliconmotion
-PORTVERSION= 1.7.8
+PORTVERSION= 1.7.9
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
@@ -9,6 +9,7 @@ COMMENT= X.Org siliconmotion display driver
XORG_CAT= driver
-ONLY_FOR_ARCHS= amd64 i386
+BROKEN_aarch64= error: implicit declaration of function outb is invalid in C99
+BROKEN_armv6= error: implicit declaration of function outb is invalid in C99
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-siliconmotion/distinfo b/x11-drivers/xf86-video-siliconmotion/distinfo
index 65ea6f2d2118..d3fc3fb0a28d 100644
--- a/x11-drivers/xf86-video-siliconmotion/distinfo
+++ b/x11-drivers/xf86-video-siliconmotion/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-siliconmotion-1.7.8.tar.bz2) = e9d449a9fd9e58b4e018447b6c64005f7874cffb1777e513ac9fc41a86071beb
-SIZE (xorg/driver/xf86-video-siliconmotion-1.7.8.tar.bz2) = 398928
+TIMESTAMP = 1485132207
+SHA256 (xorg/driver/xf86-video-siliconmotion-1.7.9.tar.bz2) = d0f3c691e71108d27a061beb62bf78b36ec35bd755905692734dd68cfb3359bc
+SIZE (xorg/driver/xf86-video-siliconmotion-1.7.9.tar.bz2) = 416351
diff --git a/x11-drivers/xf86-video-sis/Makefile b/x11-drivers/xf86-video-sis/Makefile
index 60e1c9bebc11..9082aa7d4e48 100644
--- a/x11-drivers/xf86-video-sis/Makefile
+++ b/x11-drivers/xf86-video-sis/Makefile
@@ -1,17 +1,15 @@
# $FreeBSD$
PORTNAME= xf86-video-sis
-PORTVERSION= 0.10.8
+PORTVERSION= 0.10.9
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org sis display driver
-CONFLICTS= xf86-video-sis-intel-[0-9]*
-
USE_GL= gl
XORG_CAT= driver
-USE_XORG= xf86dgaproto xf86driproto xineramaproto xf86miscproto glproto
+USE_XORG= xf86dgaproto
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-sis/distinfo b/x11-drivers/xf86-video-sis/distinfo
index a3f0744fe587..8fbcfe32bbbd 100644
--- a/x11-drivers/xf86-video-sis/distinfo
+++ b/x11-drivers/xf86-video-sis/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-sis-0.10.8.tar.bz2) = c8f3f2577f69334dfcc4bf96477dce45161170555f3abdfa105599e61bc7d3fe
-SIZE (xorg/driver/xf86-video-sis-0.10.8.tar.bz2) = 734785
+TIMESTAMP = 1484715280
+SHA256 (xorg/driver/xf86-video-sis-0.10.9.tar.bz2) = 5226b7407c601afa32d6cbf155f9182da95d92cdc89c1f83471e1927e552c10d
+SIZE (xorg/driver/xf86-video-sis-0.10.9.tar.bz2) = 736272
diff --git a/x11-drivers/xf86-video-sis/files/patch-src_init301.c b/x11-drivers/xf86-video-sis/files/patch-src_init301.c
new file mode 100644
index 000000000000..1bb38e93e8f2
--- /dev/null
+++ b/x11-drivers/xf86-video-sis/files/patch-src_init301.c
@@ -0,0 +1,25 @@
+# Fix an uninitialized variable
+# Remove some dead code to eliminate a style warning
+#
+--- src/init301.c.orig 2010-03-07 19:36:10 UTC
++++ src/init301.c
+@@ -446,7 +446,7 @@ SiS_CR36BIOSWord23d(struct SiS_Private *
+ void
+ SiS_DDC2Delay(struct SiS_Private *SiS_Pr, unsigned int delaytime)
+ {
+- unsigned int i, j;
++ unsigned int i, j = 0;
+
+ for(i = 0; i < delaytime; i++) {
+ j += SiS_GetReg(SiS_Pr->SiS_P3c4,0x05);
+@@ -534,9 +534,7 @@ SiS_PanelDelay(struct SiS_Private *SiS_P
+ SiS_DDC2Delay(SiS_Pr, 0x4000);
+ }
+
+- } else if((SiS_Pr->SiS_IF_DEF_LVDS == 1) /* ||
+- (SiS_Pr->SiS_CustomT == CUT_COMPAQ1280) ||
+- (SiS_Pr->SiS_CustomT == CUT_CLEVO1400) */ ) { /* 315 series, LVDS; Special */
++ } else if(SiS_Pr->SiS_IF_DEF_LVDS == 1) { /* 315 series, LVDS; Special */
+
+ if(SiS_Pr->SiS_IF_DEF_CH70xx == 0) {
+ PanelID = SiS_GetReg(SiS_Pr->SiS_P3d4,0x36);
diff --git a/x11-drivers/xf86-video-sis/files/patch-src_initextx.c b/x11-drivers/xf86-video-sis/files/patch-src_initextx.c
new file mode 100644
index 000000000000..24028baf3f01
--- /dev/null
+++ b/x11-drivers/xf86-video-sis/files/patch-src_initextx.c
@@ -0,0 +1,35 @@
+# Cast away warnings filling const strings
+#
+--- src/initextx.c.orig 2015-08-29 23:34:25 UTC
++++ src/initextx.c
+@@ -252,8 +252,8 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScr
+
+ current = new;
+
+- sprintf(current->name, "%dx%d", pSiS->SiS_Pr->SiS_RefIndex[i].XRes,
+- pSiS->SiS_Pr->SiS_RefIndex[i].YRes);
++ sprintf((char *)current->name, "%dx%d", pSiS->SiS_Pr->SiS_RefIndex[i].XRes,
++ pSiS->SiS_Pr->SiS_RefIndex[i].YRes);
+
+ current->status = MODE_OK;
+
+@@ -402,7 +402,7 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScr
+
+ pSiS->AddedPlasmaModes = TRUE;
+
+- strcpy(current->name, SiS_PlasmaMode[l].name);
++ strcpy((char *)current->name, SiS_PlasmaMode[l].name);
+
+ current->status = MODE_OK;
+
+@@ -485,8 +485,8 @@ SiSBuildBuiltInModeList(ScrnInfoPtr pScr
+
+ current = new;
+
+- sprintf(current->name, "%dx%d", pSiS->SiS_Pr->CP_HDisplay[i],
+- pSiS->SiS_Pr->CP_VDisplay[i]);
++ sprintf((char *)current->name, "%dx%d", pSiS->SiS_Pr->CP_HDisplay[i],
++ pSiS->SiS_Pr->CP_VDisplay[i]);
+
+ current->status = MODE_OK;
+
diff --git a/x11-drivers/xf86-video-sis/files/patch-src_sis300__accel.c b/x11-drivers/xf86-video-sis/files/patch-src_sis300__accel.c
new file mode 100644
index 000000000000..2d84a6f5ffe5
--- /dev/null
+++ b/x11-drivers/xf86-video-sis/files/patch-src_sis300__accel.c
@@ -0,0 +1,85 @@
+# Fix warning about shift of signed value
+#
+--- src/sis300_accel.c.orig 2015-08-29 23:34:25 UTC
++++ src/sis300_accel.c
+@@ -100,7 +100,7 @@ SiSSetupForScreenToScreenCopy(ScrnInfoPt
+
+ SiSSetupDSTColorDepth(pSiS->DstColor);
+ SiSSetupSRCPitch(pSiS->scrnOffset)
+- SiSSetupDSTRect(pSiS->scrnOffset, -1)
++ SiSSetupDSTRect(pSiS->scrnOffset, -1U)
+
+ if(trans_color != -1) {
+ SiSSetupROP(0x0A)
+@@ -170,7 +170,7 @@ SiSSetupForSolidFill(ScrnInfoPtr pScrn,
+ }
+ }
+ SiSSetupPATFG(color)
+- SiSSetupDSTRect(pSiS->scrnOffset, -1)
++ SiSSetupDSTRect(pSiS->scrnOffset, -1U)
+ SiSSetupDSTColorDepth(pSiS->DstColor);
+ SiSSetupROP(SiSGetPatternROP(rop))
+ /* SiSSetupCMDFlag(PATFG) - is zero */
+@@ -342,7 +342,7 @@ SiSSetupForSolidLine(ScrnInfoPtr pScrn,
+
+ SiSSetupLineCount(1)
+ SiSSetupPATFG(color)
+- SiSSetupDSTRect(pSiS->scrnOffset, -1)
++ SiSSetupDSTRect(pSiS->scrnOffset, -1U)
+ SiSSetupDSTColorDepth(pSiS->DstColor);
+ SiSSetupROP(SiSGetPatternROP(rop))
+ SiSSetupCMDFlag(PATFG | LINE)
+@@ -419,7 +419,7 @@ SiSSetupForDashedLine(ScrnInfoPtr pScrn,
+ SISPtr pSiS = SISPTR(pScrn);
+
+ SiSSetupLineCount(1)
+- SiSSetupDSTRect(pSiS->scrnOffset, -1)
++ SiSSetupDSTRect(pSiS->scrnOffset, -1U)
+ SiSSetupDSTColorDepth(pSiS->DstColor);
+ SiSSetupStyleLow(*pattern)
+ SiSSetupStyleHigh(*(pattern+4))
+@@ -475,7 +475,7 @@ SiSSetupForMonoPatternFill(ScrnInfoPtr p
+ {
+ SISPtr pSiS = SISPTR(pScrn);
+
+- SiSSetupDSTRect(pSiS->scrnOffset, -1)
++ SiSSetupDSTRect(pSiS->scrnOffset, -1U)
+ SiSSetupDSTColorDepth(pSiS->DstColor);
+ SiSSetupMONOPAT(patx,paty)
+ SiSSetupPATFG(fg)
+@@ -593,7 +593,7 @@ SiSSetupForScreenToScreenColorExpand(Scr
+ SISPtr pSiS = SISPTR(pScrn);
+
+ SiSSetupDSTColorDepth(pSiS->DstColor)
+- SiSSetupDSTRect(pSiS->scrnOffset, -1)
++ SiSSetupDSTRect(pSiS->scrnOffset, -1U)
+ SiSSetupROP(SiSGetCopyROP(rop))
+ SiSSetupSRCFG(fg)
+ /* SiSSetupSRCXY(0,0) */
+@@ -762,7 +762,7 @@ SiSSetupForScanlineCPUToScreenColorExpan
+ SiSSetupSRCXY(0,0);
+ SiSSetupROP(SiSGetCopyROP(rop));
+ SiSSetupSRCFG(fg);
+- SiSSetupDSTRect(pSiS->scrnOffset, -1);
++ SiSSetupDSTRect(pSiS->scrnOffset, -1U);
+ SiSSetupDSTColorDepth(pSiS->DstColor);
+ if(bg == -1) {
+ SiSSetupCMDFlag(TRANSPARENT |
+@@ -925,7 +925,7 @@ SiSPrepareSolid(PixmapPtr pPixmap, int a
+ dstbase = (CARD32)exaGetPixmapOffset(pPixmap) + HEADOFFSET;
+
+ SiSSetupPATFG(fg)
+- SiSSetupDSTRect(exaGetPixmapPitch(pPixmap), -1)
++ SiSSetupDSTRect(exaGetPixmapPitch(pPixmap), -1U)
+ SiSSetupDSTColorDepth(dstcol[pPixmap->drawable.bitsPerPixel >> 4]);
+ SiSSetupROP(SiSGetPatternROP(alu))
+ SiSSetupDSTBase(dstbase)
+@@ -988,7 +988,7 @@ SiSPrepareCopy(PixmapPtr pSrcPixmap, Pix
+
+ SiSSetupDSTColorDepth(dstcol[pDstPixmap->drawable.bitsPerPixel >> 4]);
+ SiSSetupSRCPitch(exaGetPixmapPitch(pSrcPixmap))
+- SiSSetupDSTRect(exaGetPixmapPitch(pDstPixmap), -1)
++ SiSSetupDSTRect(exaGetPixmapPitch(pDstPixmap), -1U)
+
+ SiSSetupROP(SiSGetCopyROP(alu))
+
diff --git a/x11-drivers/xf86-video-sis/files/patch-src_sis__dri.c b/x11-drivers/xf86-video-sis/files/patch-src_sis__dri.c
new file mode 100644
index 000000000000..553d6db6dffc
--- /dev/null
+++ b/x11-drivers/xf86-video-sis/files/patch-src_sis__dri.c
@@ -0,0 +1,13 @@
+# Correct type in a format string
+#
+--- src/sis_dri.c.orig 2015-08-29 23:34:25 UTC
++++ src/sis_dri.c
+@@ -454,7 +454,7 @@ SISDRIScreenInit(ScreenPtr pScreen)
+ return FALSE;
+ }
+
+- xf86DrvMsg(pScreen->myNum, X_INFO, "[drm] MMIO registers mapped to 0x%0x\n",
++ xf86DrvMsg(pScreen->myNum, X_INFO, "[drm] MMIO registers mapped to 0x%0lx\n",
+ pSISDRI->regs.handle);
+
+ /* AGP */
diff --git a/x11-drivers/xf86-video-sis/files/patch-src_sis__driver.c b/x11-drivers/xf86-video-sis/files/patch-src_sis__driver.c
index df6ac872fab4..68990d2c4305 100644
--- a/x11-drivers/xf86-video-sis/files/patch-src_sis__driver.c
+++ b/x11-drivers/xf86-video-sis/files/patch-src_sis__driver.c
@@ -1,11 +1,23 @@
---- src/sis_driver.c.orig 2015-09-23 09:54:07.196489000 +0200
-+++ src/sis_driver.c 2015-09-23 09:56:45.740035000 +0200
-@@ -9390,7 +9390,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg,
- #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
- {
- double dx = x, dy = y;
-- miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);
-+ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL);
- x = (int)dx;
- y = (int)dy;
- }
+# Correct a string that should be const
+# Cast away a warning filling a const string
+#
+--- src/sis_driver.c.orig 2017-01-17 22:45:12 UTC
++++ src/sis_driver.c
+@@ -1305,7 +1305,7 @@ SiSCopyModeNLink(ScrnInfoPtr pScrn, Disp
+ * (Code base taken from mga driver)
+ */
+ static DisplayModePtr
+-SiSGetModeFromName(char* str, DisplayModePtr i)
++SiSGetModeFromName(const char* str, DisplayModePtr i)
+ {
+ DisplayModePtr c = i;
+ if(!i) return NULL;
+@@ -6065,7 +6065,7 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+ free(newm);
+ break;
+ }
+- strcpy(newm->name, tempm->name);
++ strcpy((char *)newm->name, tempm->name);
+ if(!pSiS->CRT2pScrn->monitor->Modes) pSiS->CRT2pScrn->monitor->Modes = newm;
+ if(currentm) {
+ currentm->next = newm;
diff --git a/x11-drivers/xf86-video-sis/files/patch-src_sis__utility.c b/x11-drivers/xf86-video-sis/files/patch-src_sis__utility.c
new file mode 100644
index 000000000000..2abc943a366a
--- /dev/null
+++ b/x11-drivers/xf86-video-sis/files/patch-src_sis__utility.c
@@ -0,0 +1,13 @@
+# Correct a string that should be const
+#
+--- src/sis_utility.c.orig 2015-08-29 23:34:25 UTC
++++ src/sis_utility.c
+@@ -850,7 +850,7 @@ SISGetMergedModeDetails(ScrnInfoPtr pScr
+ ***********************************/
+
+ static void
+-sisutil_prepare_string(xSiSCtrlCommandReply *sdcbuf, char *mystring)
++sisutil_prepare_string(xSiSCtrlCommandReply *sdcbuf, const char *mystring)
+ {
+ int slen = 0;
+ sdcbuf->sdc_buffer[0] = 0;
diff --git a/x11-drivers/xf86-video-tdfx/Makefile b/x11-drivers/xf86-video-tdfx/Makefile
index 61bdc3f8afa1..c738dd2e477f 100644
--- a/x11-drivers/xf86-video-tdfx/Makefile
+++ b/x11-drivers/xf86-video-tdfx/Makefile
@@ -1,16 +1,13 @@
# $FreeBSD$
PORTNAME= xf86-video-tdfx
-PORTVERSION= 1.4.6
-PORTREVISION= 1
+PORTVERSION= 1.4.7
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org tdfx display driver
USE_GL= gl
-
XORG_CAT= driver
-USE_XORG= xf86driproto glproto
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-tdfx/distinfo b/x11-drivers/xf86-video-tdfx/distinfo
index 91a5d711ee9d..c4de25249c50 100644
--- a/x11-drivers/xf86-video-tdfx/distinfo
+++ b/x11-drivers/xf86-video-tdfx/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-tdfx-1.4.6.tar.bz2) = 3a8a88867c40ad61f1c9a09ffd7ac64102fa821685855d50ce66c7603dcc6d37
-SIZE (xorg/driver/xf86-video-tdfx-1.4.6.tar.bz2) = 368300
+TIMESTAMP = 1484715181
+SHA256 (xorg/driver/xf86-video-tdfx-1.4.7.tar.bz2) = 4cf48ee14ead52b23493c3dce5032496fd68bf1d000170bb138730497e212a42
+SIZE (xorg/driver/xf86-video-tdfx-1.4.7.tar.bz2) = 372249
diff --git a/x11-drivers/xf86-video-tdfx/files/patch-src_tdfx__dri.c b/x11-drivers/xf86-video-tdfx/files/patch-src_tdfx__dri.c
new file mode 100644
index 000000000000..8b0c394d3c8f
--- /dev/null
+++ b/x11-drivers/xf86-video-tdfx/files/patch-src_tdfx__dri.c
@@ -0,0 +1,13 @@
+# Correct type in a format string
+#
+--- src/tdfx_dri.c.orig 2015-02-22 21:25:54 UTC
++++ src/tdfx_dri.c
+@@ -454,7 +454,7 @@ Bool TDFXDRIScreenInit(ScreenPtr pScreen
+ xf86DrvMsg(pScreen->myNum, X_ERROR, "drmAddMap failed, disabling DRI.\n");
+ return FALSE;
+ }
+- xf86DrvMsg(pScreen->myNum, X_INFO, "[drm] Registers = 0x%08x\n",
++ xf86DrvMsg(pScreen->myNum, X_INFO, "[drm] Registers = 0x%08lx\n",
+ pTDFXDRI->regs);
+
+ if (!(TDFXInitVisualConfigs(pScreen))) {
diff --git a/x11-drivers/xf86-video-tdfx/files/patch-src_tdfx__driver.c b/x11-drivers/xf86-video-tdfx/files/patch-src_tdfx__driver.c
new file mode 100644
index 000000000000..b88a0abbdd74
--- /dev/null
+++ b/x11-drivers/xf86-video-tdfx/files/patch-src_tdfx__driver.c
@@ -0,0 +1,40 @@
+# Correct types in a few format strings
+#
+--- src/tdfx_driver.c.orig 2015-02-22 21:25:54 UTC
++++ src/tdfx_driver.c
+@@ -636,30 +636,30 @@ TDFXInitChips(ScrnInfoPtr pScrn)
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 3,
+ "TDFXInitChips: numchips = %d\n", pTDFX->numChips);
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 3,
+- "TDFXInitChips: cfgbits = 0x%08lx, initbits = 0x%08lx\n",
++ "TDFXInitChips: cfgbits = 0x%08x, initbits = 0x%08x\n",
+ cfgbits, initbits);
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 3,
+- "TDFXInitChips: mem0base = 0x%08lx, mem1base = 0x%08lx\n",
++ "TDFXInitChips: mem0base = 0x%08x, mem1base = 0x%08x\n",
+ mem0base, mem1base);
+
+ mem0size = 32 * 1024 * 1024; /* Registers are always 32MB */
+ mem1size = pScrn->videoRam * 1024 * 2; /* Linear mapping is 2x memory */
+
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 3,
+- "TDFXInitChips: mem0size = 0x%08lx, mem1size = 0x%08lx\n",
++ "TDFXInitChips: mem0size = 0x%08x, mem1size = 0x%08x\n",
+ mem0size, mem1size);
+
+ mem0bits = TDFXSizeToCfg(mem0size);
+ mem1bits = TDFXSizeToCfg(mem1size) << 4;
+
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 3,
+- "TDFXInitChips: mem0bits = 0x%08lx, mem1bits = 0x%08lx\n",
++ "TDFXInitChips: mem0bits = 0x%08x, mem1bits = 0x%08x\n",
+ mem0bits, mem1bits);
+
+ cfgbits = (cfgbits & ~(0xFF)) | mem0bits | mem1bits;
+
+ xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 3,
+- "TDFXInitChips: cfgbits = 0x%08lx\n", cfgbits);
++ "TDFXInitChips: cfgbits = 0x%08x\n", cfgbits);
+
+ for (i = 0; i < pTDFX->numChips; i++) {
+ PCI_WRITE_LONG(initbits | BIT(10), CFG_INIT_ENABLE, i);
diff --git a/x11-drivers/xf86-video-trident/Makefile b/x11-drivers/xf86-video-trident/Makefile
index dff0680ecb3d..35cf223b0060 100644
--- a/x11-drivers/xf86-video-trident/Makefile
+++ b/x11-drivers/xf86-video-trident/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= xf86-video-trident
-PORTVERSION= 1.3.7
+PORTVERSION= 1.3.8
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
diff --git a/x11-drivers/xf86-video-trident/distinfo b/x11-drivers/xf86-video-trident/distinfo
index 8e9f34afc40c..1175cb79cce7 100644
--- a/x11-drivers/xf86-video-trident/distinfo
+++ b/x11-drivers/xf86-video-trident/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-trident-1.3.7.tar.bz2) = ecd518de627a0d49e17c158bfc72ab657386c6907c91ef89fa09332558e413ae
-SIZE (xorg/driver/xf86-video-trident-1.3.7.tar.bz2) = 376898
+TIMESTAMP = 1484716004
+SHA256 (xorg/driver/xf86-video-trident-1.3.8.tar.bz2) = 9e5119d974c3e2221994542d35e3a0b3426a441869ddd6dd08a84f324856ac3f
+SIZE (xorg/driver/xf86-video-trident-1.3.8.tar.bz2) = 387742
diff --git a/x11-drivers/xf86-video-trident/files/patch-src_trident__dac.c b/x11-drivers/xf86-video-trident/files/patch-src_trident__dac.c
new file mode 100644
index 000000000000..a371871244be
--- /dev/null
+++ b/x11-drivers/xf86-video-trident/files/patch-src_trident__dac.c
@@ -0,0 +1,15 @@
+# Fix a style warning
+#
+--- src/trident_dac.c.orig 2013-02-07 07:56:43 UTC
++++ src/trident_dac.c
+@@ -1226,8 +1226,8 @@ Tridentddc1Read(ScrnInfoPtr pScrn)
+ OUTW(0x3C4, (temp << 8) | NewMode1);
+
+ /* Wait until vertical retrace is in progress. */
+- while (INB(vgaIOBase + 0xA) & 0x08);
+- while (!(INB(vgaIOBase + 0xA) & 0x08));
++ while (INB(vgaIOBase + 0xA) & 0x08) {}
++ while (!(INB(vgaIOBase + 0xA) & 0x08)) {}
+
+ /* Get the result */
+ OUTB(vgaIOBase + 4, I2C);
diff --git a/x11-drivers/xf86-video-trident/files/patch-src_trident__driver.c b/x11-drivers/xf86-video-trident/files/patch-src_trident__driver.c
new file mode 100644
index 000000000000..08ff59985dcf
--- /dev/null
+++ b/x11-drivers/xf86-video-trident/files/patch-src_trident__driver.c
@@ -0,0 +1,13 @@
+# Correct a string that should be const
+#
+--- src/trident_driver.c.orig 2015-03-30 17:05:53 UTC
++++ src/trident_driver.c
+@@ -1010,7 +1010,7 @@ TRIDENTPreInit(ScrnInfoPtr pScrn, int fl
+ ClockRangePtr clockRanges;
+ Bool ddcLoaded = FALSE;
+ xf86MonPtr pMon = NULL;
+- char *s;
++ const char *s;
+ Bool tmp_bool;
+
+ /* Allocate the TRIDENTRec driverPrivate */
diff --git a/x11-drivers/xf86-video-tseng/Makefile b/x11-drivers/xf86-video-tseng/Makefile
index 9fc489d014aa..3f35bcd49b0c 100644
--- a/x11-drivers/xf86-video-tseng/Makefile
+++ b/x11-drivers/xf86-video-tseng/Makefile
@@ -10,6 +10,7 @@ COMMENT= X.Org tseng display driver
XORG_CAT= driver
-ONLY_FOR_ARCHS= amd64 i386
+BROKEN_aarch64= error: implicit declaration of function outb is invalid in C99
+BROKEN_armv6= error: implicit declaration of function outb is invalid in C99
.include <bsd.port.mk>
diff --git a/x11-drivers/xf86-video-vmware/Makefile b/x11-drivers/xf86-video-vmware/Makefile
index f6384836f0ba..4bacc62b1338 100644
--- a/x11-drivers/xf86-video-vmware/Makefile
+++ b/x11-drivers/xf86-video-vmware/Makefile
@@ -1,12 +1,16 @@
# $FreeBSD$
PORTNAME= xf86-video-vmware
-PORTVERSION= 13.1.0
+PORTVERSION= 13.2.1
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.Org vmware display driver
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+INSTALL_TARGET= install-strip
XORG_CAT= driver
USE_XORG= xextproto xineramaproto videoproto
diff --git a/x11-drivers/xf86-video-vmware/distinfo b/x11-drivers/xf86-video-vmware/distinfo
index da0c9d176441..76fbfd3743c0 100644
--- a/x11-drivers/xf86-video-vmware/distinfo
+++ b/x11-drivers/xf86-video-vmware/distinfo
@@ -1,2 +1,3 @@
-SHA256 (xorg/driver/xf86-video-vmware-13.1.0.tar.bz2) = 3c1d244e4b1b77e92126957965cdc9fb82de4c215c0706a3a8aaff6939e4a0cc
-SIZE (xorg/driver/xf86-video-vmware-13.1.0.tar.bz2) = 459255
+TIMESTAMP = 1484346479
+SHA256 (xorg/driver/xf86-video-vmware-13.2.1.tar.bz2) = e2f7f7101fba7f53b268e7a25908babbf155b3984fb5268b3d244eb6c11bf62b
+SIZE (xorg/driver/xf86-video-vmware-13.2.1.tar.bz2) = 470601
diff --git a/x11-drivers/xorg-drivers/Makefile b/x11-drivers/xorg-drivers/Makefile
index d49dc239a199..916852f39f66 100644
--- a/x11-drivers/xorg-drivers/Makefile
+++ b/x11-drivers/xorg-drivers/Makefile
@@ -2,14 +2,14 @@
PORTNAME= xorg-drivers
PORTVERSION= 7.7
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= x11-drivers
MAINTAINER= x11@FreeBSD.org
COMMENT= X.org drivers meta-port
-VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers
-INPUTDIR= ${PREFIX}/lib/xorg/modules/input
+VIDEODIR= ${LOCALBASE}/lib/xorg/modules/drivers
+INPUTDIR= ${LOCALBASE}/lib/xorg/modules/input
USES= metaport
@@ -32,9 +32,9 @@ VIDEO_DRIVERS= mach64 \
vesa \
apm \
ark \
+ ast \
chips \
dummy \
- fbdev \
glint \
i128 \
i740 \