View | Details | Raw Unified | Return to bug 222905 | Differences between
and this patch

Collapse All | Expand All

(-)devel/py-pyudev/Makefile (+22 lines)
Line 0 Link Here
1
# $FreeBSD$
2
3
PORTNAME=	pyudev
4
PORTVERSION=	0.21.0
5
CATEGORIES=	devel python
6
MASTER_SITES=	CHEESESHOP
7
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
8
9
MAINTAINER=	python@FreeBSD.org
10
COMMENT=	Pure Python libudev binding
11
12
LICENSE=	LGPL21
13
LICENSE_FILE=	${WRKSRC}/COPYING
14
15
LIB_DEPENDS=	libudev.so:devel/libudev-devd
16
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${FLAVOR}
17
18
USES=		python
19
USE_PYTHON=	autoplist distutils
20
NO_ARCH=	yes
21
22
.include <bsd.port.mk>
(-)devel/py-pyudev/distinfo (+3 lines)
Line 0 Link Here
1
TIMESTAMP = 1512493658
2
SHA256 (pyudev-0.21.0.tar.gz) = 094b7a100150114748aaa3b70663485dd360457a709bfaaafe5a977371033f2b
3
SIZE (pyudev-0.21.0.tar.gz) = 89469
(-)devel/py-pyudev/pkg-descr (+8 lines)
Line 0 Link Here
1
pyudev is a LGPL licensed, pure Python binding for libudev, the device
2
and hardware management and information library for Linux. It supports
3
almost all libudev functionality. You can enumerate devices, query
4
device properties and attributes or monitor devices, including
5
asynchronous monitoring with threads, or within the event loops of Qt,
6
Glib or wxPython.
7
8
WWW: http://pyudev.readthedocs.org
(-)devel/libepoll-shim/Makefile (-3 / +3 lines)
Lines 2-8 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	libepoll-shim
4
PORTNAME=	libepoll-shim
5
PORTVERSION=	0.0.20161220
5
PORTVERSION=	0.0.20171213
6
CATEGORIES=	devel
6
CATEGORIES=	devel
7
7
8
MAINTAINER=	x11@FreeBSD.org
8
MAINTAINER=	x11@FreeBSD.org
Lines 11-19 Link Here
11
LICENSE=	MIT
11
LICENSE=	MIT
12
12
13
USE_GITHUB=	yes
13
USE_GITHUB=	yes
14
GH_ACCOUNT=	FreeBSDDesktop
14
GH_ACCOUNT=	jiixyj
15
GH_PROJECT=	epoll-shim
15
GH_PROJECT=	epoll-shim
16
GH_TAGNAME=	c04b26b
16
GH_TAGNAME=	d7abd75
17
17
18
USE_LDCONFIG=	yes
18
USE_LDCONFIG=	yes
19
19
(-)devel/libepoll-shim/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1482268996
1
TIMESTAMP = 1513461234
2
SHA256 (FreeBSDDesktop-epoll-shim-0.0.20161220-c04b26b_GH0.tar.gz) = ae644d6b21567e9bb5e3a145e6e8ce233de16dc6c93ca4a1facb24f1375f442a
2
SHA256 (jiixyj-epoll-shim-0.0.20171213-d7abd75_GH0.tar.gz) = 57089528489a52dbab13505eb7c71e001921cd04ca6e59cb06e526f997f8b24d
3
SIZE (FreeBSDDesktop-epoll-shim-0.0.20161220-c04b26b_GH0.tar.gz) = 7634
3
SIZE (jiixyj-epoll-shim-0.0.20171213-d7abd75_GH0.tar.gz) = 11585
(-)x11/libinput/Makefile (-7 / +32 lines)
Lines 1-7 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	libinput
3
PORTNAME=	libinput
4
PORTVERSION=	1.6.0
4
PORTVERSION=	1.9.4
5
CATEGORIES=	x11
5
CATEGORIES=	x11
6
MASTER_SITES=	http://freedesktop.org/software/${PORTNAME}/
6
MASTER_SITES=	http://freedesktop.org/software/${PORTNAME}/
7
7
Lines 8-30 Link Here
8
MAINTAINER=	x11@FreeBSD.org
8
MAINTAINER=	x11@FreeBSD.org
9
COMMENT=	Generic input library
9
COMMENT=	Generic input library
10
10
11
BUILD_DEPENDS=	v4l_compat>=0:multimedia/v4l_compat
11
LICENSE=	MIT
12
LICENSE_FILE=	${WRKSRC}/COPYING
13
14
BUILD_DEPENDS=	${LOCALBASE}/include/linux/input.h:devel/evdev-proto
15
RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}evdev>0:devel/py-evdev@${PY_FLAVOR} \
16
		${PYTHON_PKGNAMEPREFIX}pyudev>0:devel/py-pyudev@${PY_FLAVOR}
12
LIB_DEPENDS=	libevdev.so:devel/libevdev \
17
LIB_DEPENDS=	libevdev.so:devel/libevdev \
13
		libepoll-shim.so:devel/libepoll-shim \
18
		libepoll-shim.so:devel/libepoll-shim \
14
		libwacom.so:x11/libwacom \
15
		libudev.so:devel/libudev-devd \
19
		libudev.so:devel/libudev-devd \
16
		libmtdev.so:devel/libmtdev
20
		libmtdev.so:devel/libmtdev
17
21
18
USES=		autoreconf gmake libtool pathfix pkgconfig tar:xz
22
OPTIONS_DEFINE=	DEBUG_GUI LIBWACOM
23
OPTIONS_DEFAULT=LIBWACOM
24
DEBUG_GUI_DESC=	Build the GUI event viewer
25
LIBWACOM_DESC=	Libwacom support
26
OPTIONS_SUB=	yes
27
28
DEBUG_GUI_USE=		GNOME=gtk30,glib20,cairo
29
DEBUG_GUI_MESON_TRUE=	debug-gui
30
LIBWACOM_LIB_DEPENDS=	libwacom.so:x11/libwacom
31
LIBWACOM_MESON_TRUE=	libwacom
32
33
USES=		localbase meson pkgconfig python:3.4+,run shebangfix tar:xz
34
EXTRACT_AFTER_ARGS=	--exclude include/linux # supplied linux/input.h
19
USE_LDCONFIG=	yes
35
USE_LDCONFIG=	yes
20
GNU_CONFIGURE=	yes
21
36
37
MESON_ARGS+=	-Ddocumentation=false -Dtests=false
22
CPPFLAGS+=	-I${LOCALBASE}/include/libepoll-shim
38
CPPFLAGS+=	-I${LOCALBASE}/include/libepoll-shim
39
LDFLAGS+=	-lepoll-shim
23
INSTALL_TARGET=	install-strip
40
INSTALL_TARGET=	install-strip
24
41
42
python_OLD_CMD=	"/usr/bin/env python3"
43
SHEBANG_FILES=	tools/libinput-measure-touch-size \
44
		tools/libinput-measure-touchpad-pressure \
45
		tools/libinput-measure-trackpoint-range
46
47
post-extract:
48
	# meson script checks existence of bundled evdev headers. Fake them.
49
	${LN} -sf ${LOCALBASE}/include/linux ${WRKSRC}/include/linux
50
25
post-patch:
51
post-patch:
26
	${REINPLACE_CMD} -e 's|program_invocation_short_name|getprogname()|' \
52
	${REINPLACE_CMD} -e 's|program_invocation_short_name|getprogname()|' \
27
	    ${WRKSRC}/tools/libinput-list-devices.c \
53
	    ${WRKSRC}/tools/ptraccel-debug.c
28
	    ${WRKSRC}/tools/ptraccel-debug.c ${WRKSRC}/tools/shared.c
29
54
30
.include <bsd.port.mk>
55
.include <bsd.port.mk>
(-)x11/libinput/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1486789508
1
TIMESTAMP = 1513284860
2
SHA256 (libinput-1.6.0.tar.xz) = b7534f518d735c643aedca2fb4694683dfddc8d0600cfb628c87a18e65255832
2
SHA256 (libinput-1.9.4.tar.xz) = 0bcdbd4c4e3c2a2db322fbdf2ef3284f2e6d6fb7be3af80e6d8de7783f675190
3
SIZE (libinput-1.6.0.tar.xz) = 927656
3
SIZE (libinput-1.9.4.tar.xz) = 472636
(-)x11/libinput/files/patch-Makefile.am (-8 lines)
Lines 1-8 Link Here
1
--- Makefile.am.orig	2017-02-11 05:10:33 UTC
2
+++ Makefile.am
3
@@ -1,4 +1,4 @@
4
-SUBDIRS = src doc test tools udev
5
+SUBDIRS = src doc tools udev
6
 
7
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
8
 
(-)x11/libinput/files/patch-include_linux_input.h (-38 lines)
Lines 1-38 Link Here
1
--- include/linux/input.h.orig	2016-12-05 05:15:21 UTC
2
+++ include/linux/input.h
3
@@ -11,7 +11,17 @@
4
 #include <sys/time.h>
5
 #include <sys/ioctl.h>
6
 #include <sys/types.h>
7
+#ifdef __FreeBSD__
8
+#define __u8 uint8_t
9
+#define __u16 uint16_t
10
+#define __u32 uint32_t
11
+#define __s16 int16_t
12
+#define __s32 int32_t
13
+#define _IOC_READ IOC_OUT
14
+#define _IOC_WRITE IOC_IN
15
+#else
16
 #include <linux/types.h>
17
+#endif
18
 
19
 /*
20
  * The event structure itself
21
@@ -132,7 +142,7 @@ struct input_keymap_entry {
22
  *
23
  * If the request code is not an ABS_MT value, -EINVAL is returned.
24
  */
25
-#define EVIOCGMTSLOTS(len)	_IOC(_IOC_READ, 'E', 0x0a, len)
26
+#define EVIOCGMTSLOTS(len)	_IOC(IOC_INOUT, 'E', 0x0a, len)
27
 
28
 #define EVIOCGKEY(len)		_IOC(_IOC_READ, 'E', 0x18, len)		/* get global key state */
29
 #define EVIOCGLED(len)		_IOC(_IOC_READ, 'E', 0x19, len)		/* get all LEDs */
30
@@ -147,7 +157,7 @@ struct input_keymap_entry {
31
 #define EVIOCRMFF		_IOW('E', 0x81, int)			/* Erase a force effect */
32
 #define EVIOCGEFFECTS		_IOR('E', 0x84, int)			/* Report number of effects playable at the same time */
33
 
34
-#define EVIOCGRAB		_IOW('E', 0x90, int)			/* Grab/Release device */
35
+#define EVIOCGRAB		_IO('E', 0x90)				/* Grab/Release device */
36
 #define EVIOCREVOKE		_IOW('E', 0x91, int)			/* Revoke device access */
37
 
38
 #define EVIOCSCLOCKID		_IOW('E', 0xa0, int)			/* Set clockid to be used for timestamps */
(-)x11/libinput/files/patch-meson.build (+20 lines)
Line 0 Link Here
1
--- meson.build.orig	2017-11-28 05:13:06 UTC
2
+++ meson.build
3
@@ -72,6 +72,8 @@ endif
4
 
5
 ############ udev bits ############
6
 
7
+if false
8
+
9
 udev_dir = get_option('udev-dir')
10
 if udev_dir == ''
11
 	udev_dir = join_paths(get_option('prefix'), 'lib', 'udev')
12
@@ -127,6 +129,8 @@ litest_model_quirks_file = configure_file(input : 'ude
13
 	       output : '90-libinput-model-quirks-litest.rules',
14
 	       install : false,
15
 	       configuration : litest_udev_rules_config)
16
+
17
+endif
18
 
19
 ############ libinput-util.a ############
20
 src_libinput_util = [
(-)x11/libinput/files/patch-src_Makefile.am (-21 lines)
Lines 1-21 Link Here
1
--- src/Makefile.am.orig	2017-02-11 05:10:33 UTC
2
+++ src/Makefile.am
3
@@ -38,6 +38,7 @@ libinput_la_LIBADD = $(MTDEV_LIBS) \
4
 		     $(LIBUDEV_LIBS) \
5
 		     $(LIBEVDEV_LIBS) \
6
 		     $(LIBWACOM_LIBS) \
7
+		     -lepoll-shim \
8
 		     libinput-util.la
9
 
10
 libinput_la_CFLAGS = -I$(top_srcdir)/include \
11
@@ -61,8 +62,8 @@ libfilter_la_SOURCES = \
12
 	filter.c \
13
 	filter.h \
14
 	filter-private.h
15
-libfilter_la_LIBADD =
16
-libfilter_la_CFLAGS =
17
+libfilter_la_LIBADD = $(LIBUDEV_LIBS)
18
+libfilter_la_CFLAGS = -I$(top_srcdir)/include $(LIBUDEV_CFLAGS)
19
 
20
 libinput_la_LDFLAGS = -version-info $(LIBINPUT_LT_VERSION) -shared \
21
 		      -Wl,--version-script=$(srcdir)/libinput.sym
(-)x11/libinput/files/patch-src_evdev.c (-9 / +18 lines)
Lines 1-11 Link Here
1
--- src/evdev.c.orig	2017-01-19 21:36:55 UTC
1
--- src/evdev.c.orig	2017-11-28 05:13:06 UTC
2
+++ src/evdev.c
2
+++ src/evdev.c
3
@@ -25,6 +25,8 @@
3
@@ -900,6 +900,17 @@ evdev_device_dispatch(void *data)
4
 
4
 
5
 #include "config.h"
5
 	if (rc != -EAGAIN && rc != -EINTR) {
6
 
6
 		libinput_remove_source(libinput, device->source);
7
+#include <sys/stat.h>
7
+		/*
8
+
8
+		 * Dirty hack to allow cuse-based evdev backends to release
9
 #include <errno.h>
9
+		 * character device file when device has been detached
10
 #include <stdbool.h>
10
+		 * but still have it descriptor opened.
11
 #include <stdlib.h>
11
+		 * Issuing evdev_device_suspend() here leads to SIGSEGV
12
+		 */
13
+		int dummy_fd = open("/dev/null", O_RDONLY | O_CLOEXEC);
14
+		if (dummy_fd >= 0) {
15
+			dup2(dummy_fd, device->fd);
16
+			close(dummy_fd);
17
+		}
18
 		device->source = NULL;
19
 	}
20
 }
(-)x11/libinput/files/patch-src_libinput-util.c (-12 lines)
Lines 1-12 Link Here
1
--- src/libinput-util.c.orig	2017-01-17 04:53:51 UTC
2
+++ src/libinput-util.c
3
@@ -36,6 +36,9 @@
4
 #include <stdbool.h>
5
 #include <stdio.h>
6
 #include <stdlib.h>
7
+#ifdef __FreeBSD__
8
+#include <xlocale.h>
9
+#endif
10
 
11
 #include "libinput-util.h"
12
 #include "libinput-private.h"
(-)x11/libinput/files/patch-src_libinput-util.h (+12 lines)
Line 0 Link Here
1
--- src/libinput-util.h.orig	2017-11-28 05:13:06 UTC
2
+++ src/libinput-util.h
3
@@ -39,6 +39,9 @@
4
 #include <string.h>
5
 #include <time.h>
6
 #include <unistd.h>
7
+#ifdef __FreeBSD__
8
+#include <xlocale.h>
9
+#endif
10
 
11
 #include "libinput.h"
12
 
(-)x11/libinput/files/patch-src_path-seat.c (-15 lines)
Lines 1-15 Link Here
1
--- src/path-seat.c.orig	2017-01-19 05:27:32 UTC
2
+++ src/path-seat.c
3
@@ -23,10 +23,11 @@
4
 
5
 #include "config.h"
6
 
7
+#include <sys/stat.h>
8
+
9
 #include <errno.h>
10
 #include <fcntl.h>
11
 #include <string.h>
12
-#include <sys/stat.h>
13
 #include <libudev.h>
14
 
15
 #include "path-seat.h"
(-)x11/libinput/files/patch-tools_Makefile.am (-24 lines)
Lines 1-24 Link Here
1
--- tools/Makefile.am.orig	2017-02-11 05:10:33 UTC
2
+++ tools/Makefile.am
3
@@ -11,8 +11,8 @@ AM_CXXFLAGS = $(GCC_CXXFLAGS)
4
 libshared_la_SOURCES = \
5
 		       shared.c \
6
 		       shared.h
7
-libshared_la_CFLAGS = $(AM_CFLAGS) $(LIBEVDEV_CFLAGS)
8
-libshared_la_LIBADD = $(LIBEVDEV_LIBS)
9
+libshared_la_CFLAGS = $(AM_CFLAGS) $(LIBEVDEV_CFLAGS) $(LIBUDEV_CFLAGS)
10
+libshared_la_LIBADD = $(LIBEVDEV_LIBS) $(LIBUDEV_LIBS)
11
 
12
 event_debug_SOURCES = event-debug.c
13
 event_debug_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS) $(LIBEVDEV_LIBS)
14
@@ -20,8 +20,9 @@ event_debug_LDFLAGS = -no-install
15
 event_debug_CFLAGS = $(AM_CFLAGS) $(LIBUDEV_CFLAGS) $(LIBEVDEV_CFLAGS)
16
 
17
 ptraccel_debug_SOURCES = ptraccel-debug.c
18
-ptraccel_debug_LDADD = ../src/libfilter.la ../src/libinput.la
19
+ptraccel_debug_LDADD = ../src/libfilter.la ../src/libinput.la $(LIBUDEV_LIBS)
20
 ptraccel_debug_LDFLAGS = -no-install
21
+ptraccel_debug_CFLAGS = $(LIBUDEV_CFLAGS)
22
 
23
 libinput_list_devices_SOURCES = libinput-list-devices.c
24
 libinput_list_devices_LDADD = ../src/libinput.la libshared.la $(LIBUDEV_LIBS)
(-)x11/libinput/files/patch-udev_Makefile.am (-10 lines)
Lines 1-10 Link Here
1
--- udev/Makefile.am.orig	2017-02-11 05:10:33 UTC
2
+++ udev/Makefile.am
3
@@ -19,6 +19,7 @@ endif
4
 
5
 libinput_model_quirks_SOURCES = libinput-model-quirks.c
6
 libinput_model_quirks_CFLAGS = \
7
+			       -I$(top_srcdir)/include \
8
 			       -I$(top_srcdir)/src \
9
 			       $(LIBUDEV_CFLAGS) \
10
 			       $(GCC_CFLAGS)
(-)x11/libinput/pkg-plist (-6 / +17 lines)
Lines 1-14 Link Here
1
bin/libinput
1
bin/libinput-debug-events
2
bin/libinput-debug-events
2
bin/libinput-list-devices
3
bin/libinput-list-devices
3
include/libinput.h
4
include/libinput.h
4
lib/libinput.so
5
lib/libinput.so
5
lib/libinput.so.10
6
lib/libinput.so.10
6
lib/libinput.so.10.11.2
7
lib/libinput.so.10.13.0
7
lib/udev/hwdb.d/90-libinput-model-quirks.hwdb
8
lib/udev/libinput-device-group
9
lib/udev/libinput-model-quirks
10
lib/udev/rules.d/80-libinput-device-groups.rules
11
lib/udev/rules.d/90-libinput-model-quirks.rules
12
libdata/pkgconfig/libinput.pc
8
libdata/pkgconfig/libinput.pc
9
libexec/libinput/libinput-debug-events
10
%%DEBUG_GUI%%libexec/libinput/libinput-debug-gui
11
libexec/libinput/libinput-list-devices
12
libexec/libinput/libinput-measure
13
libexec/libinput/libinput-measure-touch-size
14
libexec/libinput/libinput-measure-touchpad-pressure
15
libexec/libinput/libinput-measure-touchpad-tap
16
libexec/libinput/libinput-measure-trackpoint-range
13
man/man1/libinput-debug-events.1.gz
17
man/man1/libinput-debug-events.1.gz
18
%%DEBUG_GUI%%man/man1/libinput-debug-gui.1.gz
14
man/man1/libinput-list-devices.1.gz
19
man/man1/libinput-list-devices.1.gz
20
man/man1/libinput-measure-touch-size.1.gz
21
man/man1/libinput-measure-touchpad-pressure.1.gz
22
man/man1/libinput-measure-touchpad-tap.1.gz
23
man/man1/libinput-measure-trackpoint-range.1.gz
24
man/man1/libinput-measure.1.gz
25
man/man1/libinput.1.gz

Return to bug 222905