svn commit: r351995 - in head/x11-servers/xorg-server: . files
Koop Mast
kwm at FreeBSD.org
Thu Apr 24 11:43:12 UTC 2014
Author: kwm
Date: Thu Apr 24 11:43:11 2014
New Revision: 351995
URL: http://svnweb.freebsd.org/changeset/ports/351995
QAT: https://qat.redports.org/buildarchive/r351995/
Log:
Fix BadImplemented errors that happen with gdk 3.12.x and GNOME 3. [1]
Use INSTALL_TARGET=install-strip for stripping.
Allow user to package xorg-server again.
Obtained from: debian [1]
Added:
head/x11-servers/xorg-server/files/extra-new-bad-impl (contents, props changed)
Modified:
head/x11-servers/xorg-server/Makefile
Modified: head/x11-servers/xorg-server/Makefile
==============================================================================
--- head/x11-servers/xorg-server/Makefile Thu Apr 24 11:28:11 2014 (r351994)
+++ head/x11-servers/xorg-server/Makefile Thu Apr 24 11:43:11 2014 (r351995)
@@ -35,10 +35,11 @@ OPTIONS_EXCLUDE_sparc64= HAL
.if defined(WITH_NEW_XORG)
XORG_VERSION= 1.12.4
-XORG_REVISION= 6
+XORG_REVISION= 7
PLIST_SUB+= OLD="@comment " NEW=""
EXTRA_PATCHES+= ${FILESDIR}/extra-clang \
${FILESDIR}/extra-configure \
+ ${FILESDIR}/extra-new-bad-impl \
${FILESDIR}/extra-new-dix_dixfonts.c
.else
XORG_VERSION= 1.7.7
@@ -69,6 +70,7 @@ CONFIGURE_ARGS?=--disable-dmx --disable-
--without-xmlto --disable-docs --disable-devel-docs \
--localstatedir=/var --without-dtrace --disable-xephyr \
--enable-record=yes
+INSTALL_TARGET= install-strip
.if ${SLAVE_PORT} == "no"
SUB_FILES= pkg-install pkg-deinstall
@@ -104,11 +106,11 @@ CONFIGURE_ARGS+= --enable-aiglx=yes
CONFIGURE_ARGS+= --enable-aiglx=no
.endif
+# We handle Xorg setuid in the plist. This allows to build xorg-server as a user
+CONFIGURE_ARGS+=--enable-install-setuid=no
.if ${PORT_OPTIONS:MSUID}
-CONFIGURE_ARGS+=--enable-install-setuid=yes
PLIST_SUB+= SUID=""
.else
-CONFIGURE_ARGS+=--enable-install-setuid=no
PLIST_SUB+= SUID="@comment "
.endif
@@ -193,11 +195,6 @@ post-install:
${MKDIR} ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/.xorg
${INSTALL_LIB} ${WRKSRC}/hw/xfree86/dixmods/.libs/libglx.so \
${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/.xorg/
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/xorg/modules/*.so
-.if !defined(WITH_NEW_XORG)
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/*.so
-.endif
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/xorg/modules/multimedia/*.so
.if defined(WITH_NEW_XORG)
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/X11/xorg.conf.d
Added: head/x11-servers/xorg-server/files/extra-new-bad-impl
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/x11-servers/xorg-server/files/extra-new-bad-impl Thu Apr 24 11:43:11 2014 (r351995)
@@ -0,0 +1,38 @@
+Fix BadImplemented triggered in GDK 3
+
+Lead:
+https://bbs.archlinux.org/viewtopic.php?id=162012
+Debian bug:
+http://lists.debian.org/debian-x/2012/12/msg00133.html
+
+--- Xi/xiselectev.c.orig 2012-05-17 19:09:01.000000000 +0200
++++ Xi/xiselectev.c 2012-12-18 10:29:38.804469850 +0100
+@@ -175,17 +175,24 @@
+ if (inputMasks)
+ iclient = inputMasks->inputClients;
+ for (; iclient; iclient = iclient->next) {
+- DeviceIntPtr dummy;
++ DeviceIntPtr devTest;
++ DeviceIntRec dummyTest;
+
+ if (CLIENT_ID(iclient->resource) == client->index)
+ continue;
+
+- dixLookupDevice(&dummy, evmask->deviceid, serverClient,
++ if (evmask->deviceid == XIAllDevices ||
++ evmask->deviceid == XIAllMasterDevices) {
++ dummyTest.id = evmask->deviceid;
++ devTest = &dummyTest;
++ }
++ else
++ dixLookupDevice(&devTest, evmask->deviceid, serverClient,
+ DixReadAccess);
+- if (!dummy)
++ if (!devTest)
+ return BadImplementation; /* this shouldn't happen */
+
+- if (xi2mask_isset(iclient->xi2mask, dummy, XI_TouchBegin))
++ if (xi2mask_isset(iclient->xi2mask, devTest, XI_TouchBegin))
+ return BadAccess;
+ }
+ }
More information about the svn-ports-head
mailing list