Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Aug 2017 21:00:12 +0000 (UTC)
From:      Vladimir Kondratyev <wulf@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r447657 - in head/devel: . evemu evemu/files
Message-ID:  <201708092100.v79L0C6a099961@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: wulf (src committer)
Date: Wed Aug  9 21:00:12 2017
New Revision: 447657
URL: https://svnweb.freebsd.org/changeset/ports/447657

Log:
  New port: devel/evemu
  
  Tools and bindings for kernel input event device emulation and data capture
  and replay.
  
  Evemu provides a programmatic API to access the kernel input event devices.
  The original and intended purpose is for supporting multi-touch input,
  especially with regard to the Ubuntu touch and gesture stack.
  
  WWW: http://www.freedesktop.org/wiki/Evemu
  
  PR:		218383
  Approved by:	bapt (mentor)

Added:
  head/devel/evemu/
  head/devel/evemu/Makefile   (contents, props changed)
  head/devel/evemu/distinfo   (contents, props changed)
  head/devel/evemu/files/
  head/devel/evemu/files/patch-src_evemu.c   (contents, props changed)
  head/devel/evemu/files/patch-tools_evemu-record.c   (contents, props changed)
  head/devel/evemu/pkg-descr   (contents, props changed)
  head/devel/evemu/pkg-plist   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Wed Aug  9 20:52:08 2017	(r447656)
+++ head/devel/Makefile	Wed Aug  9 21:00:12 2017	(r447657)
@@ -585,6 +585,7 @@
     SUBDIR += etcd32
     SUBDIR += etl
     SUBDIR += euca2ools
+    SUBDIR += evemu
     SUBDIR += eventxx
     SUBDIR += evolution-gconf-tools
     SUBDIR += exercisix

Added: head/devel/evemu/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/evemu/Makefile	Wed Aug  9 21:00:12 2017	(r447657)
@@ -0,0 +1,55 @@
+# Created by: Vladimir Kondratyev <wulf@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	evemu
+PORTVERSION=	2.6.0
+CATEGORIES=     devel
+MASTER_SITES=	http://www.freedesktop.org/software/${PORTNAME}/
+
+MAINTAINER=	wulf@FreeBSD.org
+COMMENT=	Records and replays EVDEV descriptions and events
+
+LICENSE=	GPLv3
+
+BUILD_DEPENDS=	v4l_compat>=0:multimedia/v4l_compat
+LIB_DEPENDS=	libevdev.so:devel/libevdev
+
+USES=		tar:xz python:2,build pathfix libtool pkgconfig localbase
+
+OPTIONS_DEFINE=	MANPAGES PYTHON
+OPTIONS_DEFAULT=MANPAGES
+OPTIONS_SUB=	yes
+
+MANPAGES_BUILD_DEPENDS=		minixmlto:textproc/minixmlto \
+				asciidoc:textproc/asciidoc
+MANPAGES_CONFIGURE_ENV=		XMLTO=${LOCALBASE}/bin/minixmlto
+MANPAGES_CONFIGURE_ENV_OFF=	ac_cv_path_XMLTO="" \
+				ac_cv_path_ASCIIDOC=""
+PYTHON_RUN_DEPENDS=		${PYTHON_CMD}:${PYTHON_PORTSDIR}
+PYTHON_CONFIGURE_ENABLE=	python-bindings
+
+GNU_CONFIGURE=  yes
+CFLAGS+=	-D_WITH_DPRINTF -include stdlib.h
+USE_LDCONFIG=   yes
+INSTALL_TARGET=	install-strip
+REINPLACE_ARGS=	-i ''
+
+TEST_TARGET=	check
+TEST_WRKSRC=	${WRKSRC}/test
+
+post-patch:
+	${REINPLACE_CMD} -e 's|program_invocation_short_name|getprogname()|' \
+		${WRKSRC}/tools/evemu-event.c ${WRKSRC}/tools/evemu-play.c \
+		${WRKSRC}/tools/evemu-record.c
+	${REINPLACE_CMD} -e 's|versionsort|alphasort|' \
+		${WRKSRC}/tools/find_event_devices.c
+
+# Fix evemu-event.1, evemu-play.1 and evemu-record.1 manpages which are broken
+# due to docbook-xsl bug: https://sourceforge.net/p/docbook/bugs/1058/
+post-install-MANPAGES-on:
+.for manpage in evemu-event.1 evemu-play.1 evemu-record.1
+	@${REINPLACE_CMD} -e 's|^\.so evemu|.so man1/evemu|' \
+		${STAGEDIR}${MANPREFIX}/man/man1/${manpage}
+.endfor
+
+.include <bsd.port.mk>

Added: head/devel/evemu/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/evemu/distinfo	Wed Aug  9 21:00:12 2017	(r447657)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1491102615
+SHA256 (evemu-2.6.0.tar.xz) = ed81dd4552ffeb92c346b47e56b249c67f1cb37d5b31fc073ea0ad4858ae3dcc
+SIZE (evemu-2.6.0.tar.xz) = 507032

Added: head/devel/evemu/files/patch-src_evemu.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/evemu/files/patch-src_evemu.c	Wed Aug  9 21:00:12 2017	(r447657)
@@ -0,0 +1,21 @@
+--- src/evemu.c.orig	2016-11-08 09:43:24 UTC
++++ src/evemu.c
+@@ -456,16 +456,13 @@ int evemu_write(const struct evemu_devic
+ static int parse_name(struct evemu_device *dev, const char *line)
+ {
+ 	int matched;
+-	char *devname = NULL;
++	char devname[UINPUT_MAX_NAME_SIZE];
+ 
+-	if ((matched = sscanf(line, "N: %m[^\n\r]\n", &devname)) > 0) {
++	if ((matched = sscanf(line, "N: %[^\n\r]\n", devname)) > 0) {
+ 		if (strlen(evemu_get_name(dev)) == 0)
+ 			evemu_set_name(dev, devname);
+ 	}
+ 
+-	if (devname != NULL)
+-		free(devname);
+-
+ 	if (matched <= 0)
+ 		error(FATAL, "Expected device name, but got: %s", line);
+ 

Added: head/devel/evemu/files/patch-tools_evemu-record.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/evemu/files/patch-tools_evemu-record.c	Wed Aug  9 21:00:12 2017	(r447657)
@@ -0,0 +1,12 @@
+--- tools/evemu-record.c.orig	2016-03-01 14:10:40 UTC
++++ tools/evemu-record.c
+@@ -209,6 +209,9 @@ out:
+ 	return rc;
+ }
+ 
++/* Fix broken linux/input.h ioctl define found in multimedia/v4l_compat as of 2017-04-02 */
++#undef	EVIOCGRAB
++#define	EVIOCGRAB	_IOWINT('E', 0x90)
+ static inline bool test_grab_device(int fd)
+ {
+ 	if (ioctl(fd, EVIOCGRAB, (void*)1) < 0) {

Added: head/devel/evemu/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/evemu/pkg-descr	Wed Aug  9 21:00:12 2017	(r447657)
@@ -0,0 +1,8 @@
+Tools and bindings for kernel input event device emulation and data capture
+and replay.
+
+Evemu provides a programmatic API to access the kernel input event devices.
+The original and intended purpose is for supporting multi-touch input,
+especially with regard to the Ubuntu touch and gesture stack.
+
+WWW: http://www.freedesktop.org/wiki/Evemu

Added: head/devel/evemu/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/evemu/pkg-plist	Wed Aug  9 21:00:12 2017	(r447657)
@@ -0,0 +1,28 @@
+bin/evemu-describe
+bin/evemu-device
+bin/evemu-event
+bin/evemu-play
+bin/evemu-record
+include/evemu.h
+lib/libevemu.a
+lib/libevemu.so
+lib/libevemu.so.3
+lib/libevemu.so.3.0.3
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/__init__.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/__init__.%%PYTHON_PYOEXTENSION%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/base.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/base.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/base.%%PYTHON_PYOEXTENSION%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/const.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/const.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/const.%%PYTHON_PYOEXTENSION%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/exception.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/exception.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/evemu/exception.%%PYTHON_PYOEXTENSION%%
+libdata/pkgconfig/evemu.pc
+%%MANPAGES%%man/man1/evemu-describe.1.gz
+%%MANPAGES%%man/man1/evemu-device.1.gz
+%%MANPAGES%%man/man1/evemu-event.1.gz
+%%MANPAGES%%man/man1/evemu-play.1.gz
+%%MANPAGES%%man/man1/evemu-record.1.gz



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708092100.v79L0C6a099961>