From 4abb2f270ba61e99993e53d292bcf5310a59dc19 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Sun, 23 Feb 2020 14:52:30 +0100 Subject: libinput: update 1.14.3 -> 1.15.2 Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- ...-for-64bit-time_t-for-32bit-architectures.patch | 386 --------------------- meta/recipes-graphics/wayland/libinput_1.14.3.bb | 40 --- meta/recipes-graphics/wayland/libinput_1.15.2.bb | 40 +++ 3 files changed, 40 insertions(+), 426 deletions(-) delete mode 100644 meta/recipes-graphics/wayland/libinput/0001-adjust-for-64bit-time_t-for-32bit-architectures.patch delete mode 100644 meta/recipes-graphics/wayland/libinput_1.14.3.bb create mode 100644 meta/recipes-graphics/wayland/libinput_1.15.2.bb diff --git a/meta/recipes-graphics/wayland/libinput/0001-adjust-for-64bit-time_t-for-32bit-architectures.patch b/meta/recipes-graphics/wayland/libinput/0001-adjust-for-64bit-time_t-for-32bit-architectures.patch deleted file mode 100644 index 344e6aaf8f..0000000000 --- a/meta/recipes-graphics/wayland/libinput/0001-adjust-for-64bit-time_t-for-32bit-architectures.patch +++ /dev/null @@ -1,386 +0,0 @@ -From ab6ce09bfb669177c90cc5c10155eec44e9fc34b Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Sat, 23 Nov 2019 17:23:56 -0800 -Subject: [PATCH] Adjust for 64bit time_t for 32bit architectures - -Upstream-Status: Submitted [https://gitlab.freedesktop.org/libinput/libinput/merge_requests/346] -Signed-off-by: Peter Hutterer ---- - meson.build | 1 + - src/evdev-mt-touchpad-buttons.c | 15 ++++--- - src/evdev.c | 5 ++- - src/util-input-event.h | 69 +++++++++++++++++++++++++++++++++ - tools/libinput-record.c | 16 +++++--- - 5 files changed, 90 insertions(+), 16 deletions(-) - create mode 100644 src/util-input-event.h - ---- a/meson.build -+++ b/meson.build -@@ -220,7 +220,8 @@ endif - ############ libinput-util.a ############ - src_libinput_util = [ - 'src/libinput-util.c', -- 'src/libinput-util.h' -+ 'src/libinput-util.h', -+ 'src/util-input-event.h' - ] - libinput_util = static_library('libinput-util', - src_libinput_util, ---- a/src/evdev-mt-touchpad-buttons.c -+++ b/src/evdev-mt-touchpad-buttons.c -@@ -30,6 +30,7 @@ - #include - #include "linux/input.h" - -+#include "util-input-event.h" - #include "evdev-mt-touchpad.h" - - #define DEFAULT_BUTTON_ENTER_TIMEOUT ms2us(100) -@@ -1145,14 +1146,12 @@ tp_notify_clickpadbutton(struct tp_dispa - if (tp->buttons.trackpoint) { - if (is_topbutton) { - struct evdev_dispatch *dispatch = tp->buttons.trackpoint->dispatch; -- struct input_event event; -- struct input_event syn_report = {{ 0, 0 }, EV_SYN, SYN_REPORT, 0 }; -+ struct input_event event, syn_report; -+ int value; - -- event.time = us2tv(time); -- event.type = EV_KEY; -- event.code = button; -- event.value = (state == LIBINPUT_BUTTON_STATE_PRESSED) ? 1 : 0; -- syn_report.time = event.time; -+ value = (state == LIBINPUT_BUTTON_STATE_PRESSED) ? 1 : 0; -+ event = input_event_init(time, EV_KEY, button, value); -+ syn_report = input_event_init(time, EV_SYN, SYN_REPORT, 0); - dispatch->interface->process(dispatch, - tp->buttons.trackpoint, - &event, ---- a/src/evdev.c -+++ b/src/evdev.c -@@ -44,6 +44,7 @@ - #include "filter.h" - #include "libinput-private.h" - #include "quirks.h" -+#include "util-input-event.h" - - #if HAVE_LIBWACOM - #include -@@ -859,7 +860,7 @@ evdev_print_event(struct evdev_device *d - { - static uint32_t offset = 0; - static uint32_t last_time = 0; -- uint32_t time = us2ms(tv2us(&e->time)); -+ uint32_t time = us2ms(input_event_time(e)); - - if (offset == 0) { - offset = time; -@@ -891,7 +892,7 @@ static inline void - evdev_process_event(struct evdev_device *device, struct input_event *e) - { - struct evdev_dispatch *dispatch = device->dispatch; -- uint64_t time = tv2us(&e->time); -+ uint64_t time = input_event_time(e); - - #if 0 - evdev_print_event(device, e); ---- /dev/null -+++ b/src/util-input-event.h -@@ -0,0 +1,69 @@ -+/* -+ * Copyright © 2019 Red Hat, Inc. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice (including the next -+ * paragraph) shall be included in all copies or substantial portions of the -+ * Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER 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. -+ */ -+ -+#pragma once -+ -+#include "config.h" -+ -+#include "util-time.h" -+#include -+ -+static inline struct input_event -+input_event_init(uint64_t time, -+ unsigned int code, -+ unsigned int type, -+ int value) -+{ -+ struct input_event ev; -+ struct timeval tval = us2tv(time); -+ -+ ev.input_event_sec = tval.tv_sec; -+ ev.input_event_usec = tval.tv_usec; -+ ev.type = type; -+ ev.code = code; -+ ev.value = value; -+ -+ return ev; -+} -+ -+static inline uint64_t -+input_event_time(const struct input_event *e) -+{ -+ struct timeval tval; -+ -+ tval.tv_sec = e->input_event_sec; -+ tval.tv_usec = e->input_event_usec; -+ -+ return tv2us(&tval); -+} -+ -+ -+static inline void -+input_event_set_time(struct input_event *e, -+ uint64_t time) -+{ -+ struct timeval tval = us2tv(time); -+ -+ e->input_event_sec = tval.tv_sec; -+ e->input_event_usec = tval.tv_usec; -+} ---- a/tools/libinput-record.c -+++ b/tools/libinput-record.c -@@ -41,6 +41,7 @@ - #include - - #include "libinput-versionsort.h" -+#include "util-input-event.h" - #include "libinput-util.h" - #include "libinput-version.h" - #include "libinput-git-version.h" -@@ -196,8 +197,9 @@ print_evdev_event(struct record_context - const char *cname; - bool was_modified = false; - char desc[1024]; -+ uint64_t time = input_event_time(ev) - ctx->offset; - -- ev->time = us2tv(tv2us(&ev->time) - ctx->offset); -+ input_event_set_time(ev, time); - - /* Don't leak passwords unless the user wants to */ - if (!ctx->show_keycodes) -@@ -215,7 +217,7 @@ print_evdev_event(struct record_context - static unsigned long last_ms = 0; - unsigned long time, dt; - -- time = us2ms(tv2us(&ev->time)); -+ time = us2ms(input_event_time(ev)); - dt = time - last_ms; - last_ms = time; - -@@ -239,8 +241,8 @@ print_evdev_event(struct record_context - - iprintf(ctx, - "- [%3lu, %6u, %3d, %3d, %6d] # %s\n", -- ev->time.tv_sec, -- (unsigned int)ev->time.tv_usec, -+ ev->input_event_sec, -+ (unsigned int)ev->input_event_usec, - ev->type, - ev->code, - ev->value, -@@ -268,16 +270,18 @@ handle_evdev_frame(struct record_context - while (libevdev_next_event(evdev, - LIBEVDEV_READ_FLAG_NORMAL, - &e) == LIBEVDEV_READ_STATUS_SUCCESS) { -+ uint64_t time; - - if (ctx->offset == 0) -- ctx->offset = tv2us(&e.time); -+ ctx->offset = input_event_time(&e); - - if (d->nevents == d->events_sz) - resize(d->events, d->events_sz); - - event = &d->events[d->nevents++]; - event->type = EVDEV; -- event->time = tv2us(&e.time) - ctx->offset; -+ time = input_event_time(&e); -+ input_event_set_time(&e, time - ctx->offset); - event->u.evdev = e; - count++; - ---- a/src/libinput-private.h -+++ b/src/libinput-private.h -@@ -39,6 +39,7 @@ - - #include "libinput.h" - #include "libinput-util.h" -+#include "util-time.h" - #include "libinput-version.h" - - #if LIBINPUT_VERSION_MICRO >= 90 ---- a/src/libinput-util.h -+++ b/src/libinput-util.h -@@ -206,12 +206,6 @@ clear_bit(unsigned char *array, int bit) - array[bit / 8] &= ~(1 << (bit % 8)); - } - --static inline void --msleep(unsigned int ms) --{ -- usleep(ms * 1000); --} -- - static inline bool - long_bit_is_set(const unsigned long *array, int bit) - { -@@ -453,53 +447,6 @@ bool - parse_switch_reliability_property(const char *prop, - enum switch_reliability *reliability); - --static inline uint64_t --us(uint64_t us) --{ -- return us; --} -- --static inline uint64_t --ns2us(uint64_t ns) --{ -- return us(ns / 1000); --} -- --static inline uint64_t --ms2us(uint64_t ms) --{ -- return us(ms * 1000); --} -- --static inline uint64_t --s2us(uint64_t s) --{ -- return ms2us(s * 1000); --} -- --static inline uint32_t --us2ms(uint64_t us) --{ -- return (uint32_t)(us / 1000); --} -- --static inline uint64_t --tv2us(const struct timeval *tv) --{ -- return s2us(tv->tv_sec) + tv->tv_usec; --} -- --static inline struct timeval --us2tv(uint64_t time) --{ -- struct timeval tv; -- -- tv.tv_sec = time / ms2us(1000); -- tv.tv_usec = time % ms2us(1000); -- -- return tv; --} -- - static inline bool - safe_atoi_base(const char *str, int *val, int base) - { ---- /dev/null -+++ b/src/util-time.h -@@ -0,0 +1,84 @@ -+/* -+ * Copyright © 2013-2019 Red Hat, Inc. -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a -+ * copy of this software and associated documentation files (the "Software"), -+ * to deal in the Software without restriction, including without limitation -+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, -+ * and/or sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice (including the next -+ * paragraph) shall be included in all copies or substantial portions of the -+ * Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER 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. -+ */ -+ -+#pragma once -+ -+#include "config.h" -+ -+#include -+#include -+#include -+#include -+ -+static inline void -+msleep(unsigned int ms) -+{ -+ usleep(ms * 1000); -+} -+ -+static inline uint64_t -+us(uint64_t us) -+{ -+ return us; -+} -+ -+static inline uint64_t -+ns2us(uint64_t ns) -+{ -+ return us(ns / 1000); -+} -+ -+static inline uint64_t -+ms2us(uint64_t ms) -+{ -+ return us(ms * 1000); -+} -+ -+static inline uint64_t -+s2us(uint64_t s) -+{ -+ return ms2us(s * 1000); -+} -+ -+static inline uint32_t -+us2ms(uint64_t us) -+{ -+ return (uint32_t)(us / 1000); -+} -+ -+static inline uint64_t -+tv2us(const struct timeval *tv) -+{ -+ return s2us(tv->tv_sec) + tv->tv_usec; -+} -+ -+static inline struct timeval -+us2tv(uint64_t time) -+{ -+ struct timeval tv; -+ -+ tv.tv_sec = time / ms2us(1000); -+ tv.tv_usec = time % ms2us(1000); -+ -+ return tv; -+} diff --git a/meta/recipes-graphics/wayland/libinput_1.14.3.bb b/meta/recipes-graphics/wayland/libinput_1.14.3.bb deleted file mode 100644 index bc5a76dc9a..0000000000 --- a/meta/recipes-graphics/wayland/libinput_1.14.3.bb +++ /dev/null @@ -1,40 +0,0 @@ -SUMMARY = "Library to handle input devices in Wayland compositors" -DESCRIPTION = "libinput is a library to handle input devices in Wayland \ -compositors and to provide a generic X.Org input driver. It provides \ -device detection, device handling, input device event processing and \ -abstraction so minimize the amount of custom input code compositors need to \ -provide the common set of functionality that users expect." -HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" -SECTION = "libs" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" - -DEPENDS = "libevdev udev mtdev" - -SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ - file://0001-adjust-for-64bit-time_t-for-32bit-architectures.patch \ - file://determinism.patch \ -" -SRC_URI[md5sum] = "d052faa64eb6d2e649e582cc0fcf6e32" -SRC_URI[sha256sum] = "0feb3a0589709cc1032893bfaf4c49150d5360bd9782bec888f9e4dd9044c5b7" - -UPSTREAM_CHECK_REGEX = "libinput-(?P\d+\.\d+\.(?!9\d+)\d+)" - -inherit meson pkgconfig lib_package - -PACKAGECONFIG ??= "" -PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" -PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" - -UDEVDIR = "`pkg-config --variable=udevdir udev`" - -EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \ - -Ddocumentation=false \ - -Dtests=false \ - -Dzshcompletiondir=no" - -# package name changed in 1.8.1 upgrade: make sure package upgrades work -RPROVIDES_${PN} = "libinput" -RREPLACES_${PN} = "libinput" -RCONFLICTS_${PN} = "libinput" diff --git a/meta/recipes-graphics/wayland/libinput_1.15.2.bb b/meta/recipes-graphics/wayland/libinput_1.15.2.bb new file mode 100644 index 0000000000..810532774e --- /dev/null +++ b/meta/recipes-graphics/wayland/libinput_1.15.2.bb @@ -0,0 +1,40 @@ +SUMMARY = "Library to handle input devices in Wayland compositors" +DESCRIPTION = "libinput is a library to handle input devices in Wayland \ +compositors and to provide a generic X.Org input driver. It provides \ +device detection, device handling, input device event processing and \ +abstraction so minimize the amount of custom input code compositors need to \ +provide the common set of functionality that users expect." +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/libinput/" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=1f2ea9ebff3a2c6d458faf58492efb63" + +DEPENDS = "libevdev udev mtdev" + +SRC_URI = "http://www.freedesktop.org/software/${BPN}/${BP}.tar.xz \ + file://determinism.patch \ + " +SRC_URI[md5sum] = "eb6bd2907ad33d53954d70dfb881a643" +SRC_URI[sha256sum] = "971c3fbfb624f95c911adeb2803c372e4e3647d1b98f278f660051f834597747" + +UPSTREAM_CHECK_REGEX = "libinput-(?P\d+\.\d+\.(?!9\d+)\d+)" + +inherit meson pkgconfig lib_package + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" +PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" + +UDEVDIR = "`pkg-config --variable=udevdir udev`" + +EXTRA_OEMESON += "-Dudev-dir=${UDEVDIR} \ + -Ddocumentation=false \ + -Dtests=false \ + -Dzshcompletiondir=no" + +# package name changed in 1.8.1 upgrade: make sure package upgrades work +RPROVIDES_${PN} = "libinput" +RREPLACES_${PN} = "libinput" +RCONFLICTS_${PN} = "libinput" + -- cgit 1.2.3-korg