package/pipewire: fix uclibc compile (getrandom related)
authorPeter Seiderer <ps.report@gmx.net>
Wed, 12 May 2021 20:42:51 +0000 (22:42 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Tue, 18 May 2021 12:34:49 +0000 (14:34 +0200)
The getrandom() detection from meson.build failes with the following error
message:

  .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t'
     27 | extern int getrandom(void *__buf, size_t count, unsigned int flags)
        |                                   ^~~~~~
  .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?

Fix it by adding stddef.h include to the meson getrandom() detection.

Fixes:

  - http://autobuild.buildroot.net/results/7e131bec458bf5c263ee1858d38ed5dc3cf704a6

  ../src/pipewire/impl-core.c:54:9: error: conflicting types for ‘getrandom’
     54 | ssize_t getrandom(void *buf, size_t buflen, unsigned int flags) {
        |         ^~~~~~~~~
  In file included from ../src/pipewire/impl-core.c:34:
  .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:12: note: previous declaration of ‘getrandom’ was here
     27 | extern int getrandom(void *__buf, size_t count, unsigned int flags)
        |            ^~~~~~~~~

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/pipewire/0002-meson-fix-getrandom-detection-for-uclibc.patch [new file with mode: 0644]

diff --git a/package/pipewire/0002-meson-fix-getrandom-detection-for-uclibc.patch b/package/pipewire/0002-meson-fix-getrandom-detection-for-uclibc.patch
new file mode 100644 (file)
index 0000000..e902869
--- /dev/null
@@ -0,0 +1,49 @@
+From a36bc959768e100d2d72e027746e3a9d95cf29af Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Wed, 12 May 2021 22:08:39 +0200
+Subject: [PATCH] meson: fix getrandom detection for uclibc
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The getrandom() detection from meson.build failes with the following error
+message:
+
+  .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t'
+     27 | extern int getrandom(void *__buf, size_t count, unsigned int flags)
+        |                                   ^~~~~~
+  .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
+
+Fix it by adding stddef.h include to the meson getrandom() detection.
+
+Fixes:
+
+  ../src/pipewire/impl-core.c:54:9: error: conflicting types for ‘getrandom’
+     54 | ssize_t getrandom(void *buf, size_t buflen, unsigned int flags) {
+        |         ^~~~~~~~~
+  In file included from ../src/pipewire/impl-core.c:34:
+  .../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:12: note: previous declaration of ‘getrandom’ was here
+     27 | extern int getrandom(void *__buf, size_t count, unsigned int flags)
+        |            ^~~~~~~~~
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 03a9d174..01b4c7c8 100644
+--- a/meson.build
++++ b/meson.build
+@@ -274,7 +274,7 @@ if cc.has_function('memfd_create', prefix : '#include <sys/mman.h>', args : [ '-
+   cdata.set('HAVE_MEMFD_CREATE', 1)
+ endif
+-if cc.has_function('getrandom', prefix : '#include <sys/random.h>', args : [ '-D_GNU_SOURCE' ])
++if cc.has_function('getrandom', prefix : '#include <stddef.h>\n#include <sys/random.h>', args : [ '-D_GNU_SOURCE' ])
+   cdata.set('HAVE_GETRANDOM', 1)
+ endif
+-- 
+2.31.1
+