aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2024-03-24 11:35:25 -0700
committerKhem Raj <raj.khem@gmail.com>2024-03-24 11:36:17 -0700
commit742c3da8747b291e9624fc83948d5dc3ba04a33e (patch)
treeb0ac71289f1b19ccb4a1d68ee9a7f43c5e7c8de0
parent150451eeaf5bf34e0d884ff0a9067268f3f7e093 (diff)
downloadmeta-openembedded-contrib-742c3da8747b291e9624fc83948d5dc3ba04a33e.tar.gz
libcamera: Fix build on musl systems
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-ipu3-Use-posix-basename.patch71
-rw-r--r--meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb1
2 files changed, 72 insertions, 0 deletions
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-ipu3-Use-posix-basename.patch b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-ipu3-Use-posix-basename.patch
new file mode 100644
index 0000000000..9e4adf3d8d
--- /dev/null
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera/0001-ipu3-Use-posix-basename.patch
@@ -0,0 +1,71 @@
+From 35d2acc61b1b27c0810a80cd21de65f29dc79df7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 24 Mar 2024 11:27:21 -0700
+Subject: [PATCH] ipu3: Use posix basename
+
+musl does not implement GNU basename extention and with latest musl
+the prototype from string.h is also removed [1] which now results in
+compile errors e.g.
+
+../git/utils/ipu3/ipu3-pack.c:21:47: error: call to undeclared function 'basename'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+
+These utilities are using this function in usage() which is used just
+before program exit. Always use the basename APIs from libgen.h which is
+posix implementation
+
+[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Upstream-Status: Submitted [https://lists.libcamera.org/pipermail/libcamera-devel/2024-March/041180.html]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ utils/ipu3/ipu3-pack.c | 4 ++--
+ utils/ipu3/ipu3-unpack.c | 3 ++-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/utils/ipu3/ipu3-pack.c b/utils/ipu3/ipu3-pack.c
+index decbfc6c..23d2db8b 100644
+--- a/utils/ipu3/ipu3-pack.c
++++ b/utils/ipu3/ipu3-pack.c
+@@ -8,6 +8,7 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -15,9 +16,8 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
+-static void usage(const char *argv0)
++static void usage(char *argv0)
+ {
+-
+ printf("Usage: %s input-file output-file\n", basename(argv0));
+ printf("Convert unpacked RAW10 Bayer data to the IPU3 packed Bayer formats\n");
+ printf("If the output-file '-', output data will be written to standard output\n");
+diff --git a/utils/ipu3/ipu3-unpack.c b/utils/ipu3/ipu3-unpack.c
+index 9d2c1200..1505a970 100644
+--- a/utils/ipu3/ipu3-unpack.c
++++ b/utils/ipu3/ipu3-unpack.c
+@@ -8,6 +8,7 @@
+
+ #include <errno.h>
+ #include <fcntl.h>
++#include <libgen.h>
+ #include <stdint.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -15,7 +16,7 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+
+-static void usage(const char *argv0)
++static void usage(char *argv0)
+ {
+ printf("Usage: %s input-file output-file\n", basename(argv0));
+ printf("Unpack the IPU3 raw Bayer format to 16-bit Bayer\n");
+--
+2.44.0
+
diff --git a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb
index b96e69eeb4..45d6be31ec 100644
--- a/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb
+++ b/meta-multimedia/recipes-multimedia/libcamera/libcamera_0.2.0.bb
@@ -13,6 +13,7 @@ SRC_URI = " \
file://0001-media_device-Add-bool-return-type-to-unlock.patch \
file://0002-options-Replace-use-of-VLAs-in-C.patch \
file://0001-rpi-Use-alloca-instead-of-variable-length-arrays.patch \
+ file://0001-ipu3-Use-posix-basename.patch \
"
SRCREV = "89227a428a82e724548399d35c98ea89566f9045"