From e0a712da261887db2ddf9896b5f11864980b056f Mon Sep 17 00:00:00 2001 From: vanhofen Date: Sun, 6 Mar 2022 23:07:00 +0100 Subject: [PATCH] - evtest: add package --- package/evtest/evtest.mk | 21 +++++++++ .../0001-Add-missing-limits.h-include.patch | 38 +++++++++++++++ ...ld-on-32bit-arches-with-64bit-time_t.patch | 46 +++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100644 package/evtest/evtest.mk create mode 100644 package/evtest/patches/0001-Add-missing-limits.h-include.patch create mode 100644 package/evtest/patches/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch diff --git a/package/evtest/evtest.mk b/package/evtest/evtest.mk new file mode 100644 index 00000000..a9f101dd --- /dev/null +++ b/package/evtest/evtest.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# evtest +# +################################################################################ + +EVTEST_VERSION = 1.34 +EVTEST_DIR = evtest-evtest-$(EVTEST_VERSION) +EVTEST_SOURCE = evtest-evtest-$(EVTEST_VERSION).tar.gz +EVTEST_SITE = https://gitlab.freedesktop.org/libevdev/evtest/-/archive/evtest-$(EVTEST_VERSION) + +# needed because source package contains no generated files +EVTEST_AUTORECONF = YES + +# asciidoc used to generate manpages, which we don't need, and if it's +# present on the build host, it ends getting called with our host-python +# which doesn't have all the needed modules enabled, breaking the build +EVTEST_CONF_ENV = ac_cv_path_ASCIIDOC="" + +evtest: | $(TARGET_DIR) + $(call autotools-package) diff --git a/package/evtest/patches/0001-Add-missing-limits.h-include.patch b/package/evtest/patches/0001-Add-missing-limits.h-include.patch new file mode 100644 index 00000000..6c7fc904 --- /dev/null +++ b/package/evtest/patches/0001-Add-missing-limits.h-include.patch @@ -0,0 +1,38 @@ +From 7d7c5a81b0e2f3321d269b7acc450d1eec7a910b Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Sun, 18 Aug 2019 09:57:23 +0300 +Subject: [PATCH] Add missing limits.h include +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes build with musl libc that does not include limits.h indirectly via +other headers. + +evtest.c: In function ‘scan_devices’: +evtest.c:886:14: error: ‘PATH_MAX’ undeclared (first use in this function); did you mean INT8_MAX’? + char fname[PATH_MAX]; + ^~~~~~~~ + +Signed-off-by: Baruch Siach +--- +Upstream status: sent to input-tools@lists.freedesktop.org (moderated) + + evtest.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/evtest.c b/evtest.c +index 37d4f8540333..548c203564d3 100644 +--- a/evtest.c ++++ b/evtest.c +@@ -56,6 +56,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.23.0.rc1 + diff --git a/package/evtest/patches/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/package/evtest/patches/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch new file mode 100644 index 00000000..e39ccb64 --- /dev/null +++ b/package/evtest/patches/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch @@ -0,0 +1,46 @@ +From 70c5dd9e858ed577a4bbe7ec8920934c89df08fc Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Nov 2019 11:58:58 -0800 +Subject: [PATCH] Fix build on 32bit arches with 64bit time_t + +time element is deprecated on new input_event structure in kernel's +input.h [1] + +[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f + +Signed-off-by: Khem Raj +Signed-off-by: Baruch Siach +--- +Upstream status: commit 648f5c1a9e0 + + evtest.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/evtest.c b/evtest.c +index 548c203564d3..8d592f42bdca 100644 +--- a/evtest.c ++++ b/evtest.c +@@ -61,6 +61,11 @@ + #include + #include + ++#ifndef input_event_sec ++#define input_event_sec time.tv_sec ++#define input_event_usec time.tv_usec ++#endif ++ + #define BITS_PER_LONG (sizeof(long) * 8) + #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) + #define OFF(x) ((x)%BITS_PER_LONG) +@@ -1140,7 +1145,7 @@ static int print_events(int fd) + type = ev[i].type; + code = ev[i].code; + +- printf("Event: time %ld.%06ld, ", ev[i].time.tv_sec, ev[i].time.tv_usec); ++ printf("Event: time %ld.%06ld, ", ev[i].input_event_sec, ev[i].input_event_usec); + + if (type == EV_SYN) { + if (code == SYN_MT_REPORT) +-- +2.25.1 +