package/wlroots: fix uclibc build
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Wed, 1 Sep 2021 20:29:12 +0000 (22:29 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Fri, 3 Sep 2021 18:59:33 +0000 (20:59 +0200)
Fix the following uclibc build failure raised since at least bump to
version 0.11.0 in commit 0bc9c89612cc1f41f9a64f6e889f8bcd8a871e30:

In file included from ../include/wlr/types/wlr_data_device.h:13,
                 from ../types/data_device/wlr_drag.c:7:
../include/wlr/types/wlr_seat.h:221:18: error: field 'last_event' has incomplete type
  221 |  struct timespec last_event;
      |                  ^~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/3501ceb4290638b2f6d70aaa4d8ce74feec3a525

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch [new file with mode: 0644]

diff --git a/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch b/package/wlroots/0001-Add-feature-macros-to-more-C-files-.patch
new file mode 100644 (file)
index 0000000..0ba0787
--- /dev/null
@@ -0,0 +1,174 @@
+From cf37ba4c0bf31316b698ba23015f91903766871d Mon Sep 17 00:00:00 2001
+From: Paul Cercueil <paul@crapouillou.net>
+Date: Thu, 18 Feb 2021 22:31:39 +0000
+Subject: [PATCH] Add feature macros to more C files
+
+These source files use "struct timespec", which is POSIX 1993.09.
+
+Signed-off-by: Paul Cercueil <paul@crapouillou.net>
+
+[Retrieved from: https://github.com/swaywm/wlroots/pull/2493]
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ backend/wayland/output.c                  | 1 +
+ types/data_device/wlr_data_device.c       | 1 +
+ types/data_device/wlr_drag.c              | 1 +
+ types/wlr_export_dmabuf_v1.c              | 1 +
+ types/wlr_idle.c                          | 1 +
+ types/wlr_keyboard_shortcuts_inhibit_v1.c | 1 +
+ types/wlr_pointer_constraints_v1.c        | 1 +
+ types/wlr_primary_selection.c             | 1 +
+ types/wlr_relative_pointer_v1.c           | 1 +
+ types/wlr_screencopy_v1.c                 | 1 +
+ types/wlr_virtual_pointer_v1.c            | 1 +
+ types/wlr_xdg_decoration_v1.c             | 1 +
+ types/xdg_shell/wlr_xdg_popup.c           | 1 +
+ types/xdg_shell/wlr_xdg_positioner.c      | 1 +
+ types/xdg_shell/wlr_xdg_shell.c           | 1 +
+ types/xdg_shell/wlr_xdg_surface.c         | 1 +
+ 16 files changed, 16 insertions(+)
+
+diff --git a/backend/wayland/output.c b/backend/wayland/output.c
+index d5410e0d32..8ff8fa2a00 100644
+--- a/backend/wayland/output.c
++++ b/backend/wayland/output.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdint.h>
+ #include <stdio.h>
+diff --git a/types/data_device/wlr_data_device.c b/types/data_device/wlr_data_device.c
+index 6cd84ec0ab..beac496124 100644
+--- a/types/data_device/wlr_data_device.c
++++ b/types/data_device/wlr_data_device.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/types/data_device/wlr_drag.c b/types/data_device/wlr_drag.c
+index 53bf4066a1..e3c1e249b4 100644
+--- a/types/data_device/wlr_drag.c
++++ b/types/data_device/wlr_drag.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/types/wlr_export_dmabuf_v1.c b/types/wlr_export_dmabuf_v1.c
+index a8e2a4bde3..98ceae68f1 100644
+--- a/types/wlr_export_dmabuf_v1.c
++++ b/types/wlr_export_dmabuf_v1.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+diff --git a/types/wlr_idle.c b/types/wlr_idle.c
+index 4c338931cc..80fd871fab 100644
+--- a/types/wlr_idle.c
++++ b/types/wlr_idle.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/types/wlr_keyboard_shortcuts_inhibit_v1.c b/types/wlr_keyboard_shortcuts_inhibit_v1.c
+index fe4e64b04e..8360a9c21c 100644
+--- a/types/wlr_keyboard_shortcuts_inhibit_v1.c
++++ b/types/wlr_keyboard_shortcuts_inhibit_v1.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <util/signal.h>
+diff --git a/types/wlr_pointer_constraints_v1.c b/types/wlr_pointer_constraints_v1.c
+index eca45984c4..f1db8e3415 100644
+--- a/types/wlr_pointer_constraints_v1.c
++++ b/types/wlr_pointer_constraints_v1.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <limits.h>
+ #include <pixman.h>
+diff --git a/types/wlr_primary_selection.c b/types/wlr_primary_selection.c
+index 0875462c8c..7e0e11ddaa 100644
+--- a/types/wlr_primary_selection.c
++++ b/types/wlr_primary_selection.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <wlr/types/wlr_primary_selection.h>
+diff --git a/types/wlr_relative_pointer_v1.c b/types/wlr_relative_pointer_v1.c
+index 8613f2b91c..3f8dd8b72a 100644
+--- a/types/wlr_relative_pointer_v1.c
++++ b/types/wlr_relative_pointer_v1.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <inttypes.h>
+ #include <stdlib.h>
+diff --git a/types/wlr_screencopy_v1.c b/types/wlr_screencopy_v1.c
+index 6feb074274..29864c2364 100644
+--- a/types/wlr_screencopy_v1.c
++++ b/types/wlr_screencopy_v1.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <drm_fourcc.h>
+diff --git a/types/wlr_virtual_pointer_v1.c b/types/wlr_virtual_pointer_v1.c
+index a9d1fd7bc4..5566e9e013 100644
+--- a/types/wlr_virtual_pointer_v1.c
++++ b/types/wlr_virtual_pointer_v1.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <wlr/types/wlr_seat.h>
+diff --git a/types/wlr_xdg_decoration_v1.c b/types/wlr_xdg_decoration_v1.c
+index 544035b7b8..904474c088 100644
+--- a/types/wlr_xdg_decoration_v1.c
++++ b/types/wlr_xdg_decoration_v1.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdbool.h>
+ #include <stdlib.h>
+diff --git a/types/xdg_shell/wlr_xdg_popup.c b/types/xdg_shell/wlr_xdg_popup.c
+index 69b4cfe19f..05d6551fc8 100644
+--- a/types/xdg_shell/wlr_xdg_popup.c
++++ b/types/xdg_shell/wlr_xdg_popup.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <string.h>
+diff --git a/types/xdg_shell/wlr_xdg_positioner.c b/types/xdg_shell/wlr_xdg_positioner.c
+index f88bf323b8..8881c49916 100644
+--- a/types/xdg_shell/wlr_xdg_positioner.c
++++ b/types/xdg_shell/wlr_xdg_positioner.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include "types/wlr_xdg_shell.h"
+diff --git a/types/xdg_shell/wlr_xdg_shell.c b/types/xdg_shell/wlr_xdg_shell.c
+index 0480d5f354..c93fe7c3fb 100644
+--- a/types/xdg_shell/wlr_xdg_shell.c
++++ b/types/xdg_shell/wlr_xdg_shell.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include "types/wlr_xdg_shell.h"
+diff --git a/types/xdg_shell/wlr_xdg_surface.c b/types/xdg_shell/wlr_xdg_surface.c
+index edf562abcd..c1dfbfba7e 100644
+--- a/types/xdg_shell/wlr_xdg_surface.c
++++ b/types/xdg_shell/wlr_xdg_surface.c
+@@ -1,3 +1,4 @@
++#define _POSIX_C_SOURCE 199309L
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <string.h>