From 7ee0ba327c20c9c54cc94cf67685de701db3a172 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Fri, 24 Jan 2020 04:53:05 +0000 Subject: user/x11vnc: Fix building with 64-bit time_t --- user/x11vnc/APKBUILD | 2 ++ user/x11vnc/time64.patch | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 user/x11vnc/time64.patch (limited to 'user') diff --git a/user/x11vnc/APKBUILD b/user/x11vnc/APKBUILD index e699202f7..b9154729b 100644 --- a/user/x11vnc/APKBUILD +++ b/user/x11vnc/APKBUILD @@ -12,6 +12,7 @@ makedepends="cairo-dev libjpeg-turbo-dev libvncserver-dev libxcursor-dev openssl-dev utmps-dev zlib-dev autoconf automake" subpackages="$pkgname-doc" source="$pkgname-$pkgver.tar.gz::https://github.com/LibVNC/x11vnc/archive/$pkgver.tar.gz + time64.patch utmps.patch " @@ -41,4 +42,5 @@ package() { } sha512sums="69f65ee312f8dede6051b401304987502a213c6c28c7f41e855734f11de1fae14d5d493dc9c28b2e4b7c0be55f8dbd3b35dd2610aae910183772c3e626736fec x11vnc-0.9.16.tar.gz +764dc0d22f4b167b7683b1551a6d8cc8ea6745fdd9791422404ef604186930615b52ef1bf66fd03dd9c6eed18845ff4a1e5a235eee80810177e082359a8c4766 time64.patch 8aaa6d1fd9e795a60cad162f2b21fe96cd3a7076a0c4fae6e6b0021881bd019312a678fa3ed69b694da36ee64cc0601812da5df96c6461baf68b7e70adf6cd4e utmps.patch" diff --git a/user/x11vnc/time64.patch b/user/x11vnc/time64.patch new file mode 100644 index 000000000..663684716 --- /dev/null +++ b/user/x11vnc/time64.patch @@ -0,0 +1,78 @@ +--- x11vnc-0.9.16/src/uinput.c.old 2019-01-05 13:22:11.000000000 +0000 ++++ x11vnc-0.9.16/src/uinput.c 2020-01-24 04:49:39.479206612 +0000 +@@ -710,6 +710,7 @@ + static void ptr_move(int dx, int dy) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tv; + int d = direct_rel_fd < 0 ? fd : direct_rel_fd; + + if (injectable && strchr(injectable, 'M') == NULL) { +@@ -720,7 +721,9 @@ + + if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d); + +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tv, NULL); ++ ev.input_event_sec = tv.tv_sec; ++ ev.input_event_usec = tv.tv_usec; + ev.type = EV_REL; + ev.code = REL_Y; + ev.value = dy; +@@ -755,6 +758,7 @@ + static void ptr_abs(int x, int y, int p) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tv; + int x0, y0; + int d = direct_abs_fd < 0 ? fd : direct_abs_fd; + +@@ -773,7 +777,9 @@ + + if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d); + +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tv, NULL); ++ ev.input_event_sec = tv.tv_sec; ++ ev.input_event_usec = tv.tv_usec; + ev.type = EV_ABS; + ev.code = ABS_Y; + ev.value = y; +@@ -950,6 +956,7 @@ + static void button_click(int down, int btn) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tv; + int d = direct_btn_fd < 0 ? fd : direct_btn_fd; + + if (injectable && strchr(injectable, 'B') == NULL) { +@@ -959,7 +966,9 @@ + if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d); + + memset(&ev, 0, sizeof(ev)); +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tv, NULL); ++ ev.input_event_sec = tv.tv_sec; ++ ev.input_event_usec = tv.tv_usec; + ev.type = EV_KEY; + ev.value = down; + +@@ -1230,6 +1239,7 @@ + void uinput_key_command(int down, int keysym, rfbClientPtr client) { + #ifdef UINPUT_OK + struct input_event ev; ++ struct timeval tv; + int scancode; + allowed_input_t input; + int d = direct_key_fd < 0 ? fd : direct_key_fd; +@@ -1253,7 +1263,9 @@ + if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d); + + memset(&ev, 0, sizeof(ev)); +- gettimeofday(&ev.time, NULL); ++ gettimeofday(&tv, NULL); ++ ev.input_event_sec = tv.tv_sec; ++ ev.input_event_usec = tv.tv_usec; + ev.type = EV_KEY; + ev.code = (unsigned char) scancode; + ev.value = down; -- cgit v1.2.3-60-g2f50