commit 3028a89b1b2b02c9dee1c55e4fec6f5eea6b0acc
Author: Jan Palus <[email protected]>
Date:   Fri Sep 14 18:14:27 2018 +0200

    upstream fixes for 32bit archs
    
    see https://gitlab.freedesktop.org/libinput/libinput/issues/137

 32bit.patch   | 273 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 libinput.spec |   2 +
 2 files changed, 275 insertions(+)
---
diff --git a/libinput.spec b/libinput.spec
index e4e1286..43f3805 100644
--- a/libinput.spec
+++ b/libinput.spec
@@ -19,6 +19,7 @@ License:      MIT
 Group:         Libraries
 Source0:       
https://www.freedesktop.org/software/libinput/%{name}-%{version}.tar.xz
 # Source0-md5: efbea0deaa7126b6d1f8cbbe16c0470a
+Patch0:                32bit.patch
 URL:           https://www.freedesktop.org/wiki/Software/libinput/
 BuildRequires: check-devel >= 0.9.10
 %if %{with gui}
@@ -123,6 +124,7 @@ Dokumentacja API biblioteki libinput.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' 
tools/libinput-measure-{touchpad-pressure,touch-size,touchpad-tap}.py
 
diff --git a/32bit.patch b/32bit.patch
new file mode 100644
index 0000000..9923024
--- /dev/null
+++ b/32bit.patch
@@ -0,0 +1,273 @@
+From d616218c9ab60adea3f7a99e2fceaf21cde3b188 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <[email protected]>
+Date: Wed, 12 Sep 2018 13:28:16 +1000
+Subject: [PATCH 1/3] tools: fix a bunch of format conversion complaints
+
+Fixes #137
+
+Signed-off-by: Peter Hutterer <[email protected]>
+---
+ tools/libinput-record.c | 64 ++++++++++++++++++++---------------------
+ tools/shared.c          |  2 +-
+ 2 files changed, 33 insertions(+), 33 deletions(-)
+
+diff --git a/tools/libinput-record.c b/tools/libinput-record.c
+index 0f1cb174..3f4bb7ff 100644
+--- a/tools/libinput-record.c
++++ b/tools/libinput-record.c
+@@ -379,8 +379,8 @@ buffer_key_event(struct record_context *ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, key: %d, state: %s}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                key,
+                state == LIBINPUT_KEY_STATE_PRESSED ? "pressed" : "released");
+@@ -414,8 +414,8 @@ buffer_motion_event(struct record_context *ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, delta: [%6.2f, %6.2f], unaccel: 
[%6.2f, %6.2f]}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                x, y,
+                uax, uay);
+@@ -449,8 +449,8 @@ buffer_absmotion_event(struct record_context *ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, point: [%6.2f, %6.2f], 
transformed: [%6.2f, %6.2f]}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                x, y,
+                tx, ty);
+@@ -484,8 +484,8 @@ buffer_pointer_button_event(struct record_context *ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, button: %d, state: %s, 
seat_count: %u}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                button,
+                state == LIBINPUT_BUTTON_STATE_PRESSED ? "pressed" : 
"released",
+@@ -541,8 +541,8 @@ buffer_pointer_axis_event(struct record_context *ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, axes: [%2.2f, %2.2f], discrete: 
[%d, %d], source: %s}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                h, v,
+                hd, vd,
+@@ -596,8 +596,8 @@ buffer_touch_event(struct record_context *ctx,
+               snprintf(event->u.libinput.msg,
+                        sizeof(event->u.libinput.msg),
+                        "{time: %ld.%06ld, type: %s}",
+-                       time / (int)1e6,
+-                       time % (int)1e6,
++                       (long)(time / (int)1e6),
++                       (long)(time % (int)1e6),
+                        type);
+               break;
+       case LIBINPUT_EVENT_TOUCH_DOWN:
+@@ -609,8 +609,8 @@ buffer_touch_event(struct record_context *ctx,
+               snprintf(event->u.libinput.msg,
+                        sizeof(event->u.libinput.msg),
+                        "{time: %ld.%06ld, type: %s, slot: %d, seat_slot: %d, 
point: [%6.2f, %6.2f], transformed: [%6.2f, %6.2f]}",
+-                       time / (int)1e6,
+-                       time % (int)1e6,
++                       (long)(time / (int)1e6),
++                       (long)(time % (int)1e6),
+                        type,
+                        slot,
+                        seat_slot,
+@@ -622,8 +622,8 @@ buffer_touch_event(struct record_context *ctx,
+               snprintf(event->u.libinput.msg,
+                        sizeof(event->u.libinput.msg),
+                        "{time: %ld.%06ld, type: %s, slot: %d, seat_slot: %d}",
+-                       time / (int)1e6,
+-                       time % (int)1e6,
++                       (long)(time / (int)1e6),
++                       (long)(time % (int)1e6),
+                        type,
+                        slot,
+                        seat_slot);
+@@ -679,8 +679,8 @@ buffer_gesture_event(struct record_context *ctx,
+                        "{time: %ld.%06ld, type: %s, nfingers: %d, "
+                        "delta: [%6.2f, %6.2f], unaccel: [%6.2f, %6.2f], "
+                        "angle_delta: %6.2f, scale: %6.2f}",
+-                       time / (int)1e6,
+-                       time % (int)1e6,
++                       (long)(time / (int)1e6),
++                       (long)(time % (int)1e6),
+                        type,
+                        libinput_event_gesture_get_finger_count(g),
+                        libinput_event_gesture_get_dx(g),
+@@ -698,8 +698,8 @@ buffer_gesture_event(struct record_context *ctx,
+                        sizeof(event->u.libinput.msg),
+                        "{time: %ld.%06ld, type: %s, nfingers: %d, "
+                        "delta: [%6.2f, %6.2f], unaccel: [%6.2f, %6.2f]}",
+-                       time / (int)1e6,
+-                       time % (int)1e6,
++                       (long)(time / (int)1e6),
++                       (long)(time % (int)1e6),
+                        type,
+                        libinput_event_gesture_get_finger_count(g),
+                        libinput_event_gesture_get_dx(g),
+@@ -875,8 +875,8 @@ buffer_tablet_tool_proximity_event(struct record_context 
*ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, proximity: %s, tool-type: %s, 
serial: %" PRIu64 ", axes: %s, %s}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                prox ? "in" : "out",
+                tool_type,
+@@ -917,8 +917,8 @@ buffer_tablet_tool_button_event(struct record_context *ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, button: %d, state: %s}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                button,
+                state ? "pressed" : "released");
+@@ -974,8 +974,8 @@ buffer_tablet_tool_event(struct record_context *ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s%s, tip: %s, %s}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                btn_buffer, /* may be empty string */
+                tip ? "down" : "up",
+@@ -1016,8 +1016,8 @@ buffer_tablet_pad_button_event(struct record_context 
*ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, button: %d, state: %s, mode: %d, 
is-toggle: %s}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                button,
+                state == LIBINPUT_BUTTON_STATE_PRESSED ? "pressed" : 
"released",
+@@ -1083,8 +1083,8 @@ buffer_tablet_pad_ringstrip_event(struct record_context 
*ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, number: %d, position: %.2f, 
source: %s, mode: %d}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                number,
+                pos,
+@@ -1121,8 +1121,8 @@ buffer_switch_event(struct record_context *ctx,
+       snprintf(event->u.libinput.msg,
+                sizeof(event->u.libinput.msg),
+                "{time: %ld.%06ld, type: %s, switch: %d, state: %s}",
+-               time / (int)1e6,
+-               time % (int)1e6,
++               (long)(time / (int)1e6),
++               (long)(time % (int)1e6),
+                type,
+                sw,
+                state == LIBINPUT_SWITCH_STATE_ON ? "on" : "off");
+diff --git a/tools/shared.c b/tools/shared.c
+index b103470b..41bed879 100644
+--- a/tools/shared.c
++++ b/tools/shared.c
+@@ -697,7 +697,7 @@ tools_list_device_quirks(struct quirks_context *ctx,
+               case QUIRK_ATTR_SIZE_HINT:
+               case QUIRK_ATTR_RESOLUTION_HINT:
+                       quirks_get_dimensions(quirks, *q, &dim);
+-                      snprintf(buf, sizeof(buf), "%s=%ldx%ld", name, dim.x, 
dim.y);
++                      snprintf(buf, sizeof(buf), "%s=%zdx%zd", name, dim.x, 
dim.y);
+                       callback(userdata, buf);
+                       break;
+               case QUIRK_ATTR_TOUCH_SIZE_RANGE:
+-- 
+2.18.0
+
+
+From c501dabf396e6aeae41869cd2b57809f6d565378 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <[email protected]>
+Date: Thu, 13 Sep 2018 08:18:16 +1000
+Subject: [PATCH 2/3] util: check for < 0 explicitly in safe_atou
+
+The previous check only worked if sizeof(long) > sizeof(int). Rather than be
+fancy about it, just cast to a signed long, check for negativity and continue
+based on that.
+
+Fixes #137
+
+Signed-off-by: Peter Hutterer <[email protected]>
+---
+ src/libinput-util.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libinput-util.h b/src/libinput-util.h
+index ff8d56fb..360e3906 100644
+--- a/src/libinput-util.h
++++ b/src/libinput-util.h
+@@ -538,7 +538,7 @@ safe_atou_base(const char *str, unsigned int *val, int 
base)
+       if (*str != '\0' && *endptr != '\0')
+               return false;
+ 
+-      if (v > UINT_MAX)
++      if ((long)v < 0)
+               return false;
+ 
+       *val = v;
+-- 
+2.18.0
+
+
+From 037bd0cc9c2675f789f8fbca1a8572c0a2090e23 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <[email protected]>
+Date: Fri, 14 Sep 2018 10:19:55 +1000
+Subject: [PATCH 3/3] test: drop a condition from the safe_atou test
+
+If sizeof(long) == sizeof(int), this test won't pass so let's drop it
+altogether.
+
+Fixes #137
+
+Signed-off-by: Peter Hutterer <[email protected]>
+---
+ test/test-misc.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/test/test-misc.c b/test/test-misc.c
+index a7f97acd..9a22add1 100644
+--- a/test/test-misc.c
++++ b/test/test-misc.c
+@@ -1157,7 +1157,6 @@ START_TEST(safe_atou_test)
+               { "-1", false, 0 },
+               { "2147483647", true, 2147483647 },
+               { "-2147483648", false, 0},
+-              { "4294967295", true, 4294967295 },
+               { "0x0", false, 0 },
+               { "-10x10", false, 0 },
+               { "1x-99", false, 0 },
+-- 
+2.18.0
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libinput.git/commitdiff/3028a89b1b2b02c9dee1c55e4fec6f5eea6b0acc

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to