summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <khem.raj@oss.qualcomm.com>2026-04-15 16:55:45 -0700
committerKhem Raj <khem.raj@oss.qualcomm.com>2026-04-16 12:21:07 -0700
commitdd3221a5e730bc758a5b1f4d29f19bdeaeb9f205 (patch)
tree450fe38c8359937219b2c06b01d64771091fea02
parentec5480d0686d83d6ada8fc819cef2e269e41376d (diff)
downloadmeta-openembedded-dd3221a5e730bc758a5b1f4d29f19bdeaeb9f205.tar.gz
taisei: Fix build with glibc 2.43 + c23
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
-rw-r--r--meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch56
-rw-r--r--meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch71
-rw-r--r--meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb5
3 files changed, 131 insertions, 1 deletions
diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch
new file mode 100644
index 0000000000..1b37633a36
--- /dev/null
+++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch
@@ -0,0 +1,56 @@
1From d0326cd89b01600a6d8ba5e32e8e090f2ea29f2d Mon Sep 17 00:00:00 2001
2From: Khem Raj <khem.raj@oss.qualcomm.com>
3Date: Wed, 15 Apr 2026 16:28:28 -0700
4Subject: [PATCH] misc: fix discarded const qualifiers in char pointer
5 assignments
6
7These show up with glibc 2.43 + clang-22, glibc-2.43 has C23 versions
8of str* mem* functions
9
10Upstream-Status: Backport [https://github.com/taisei-project/taisei/commit/1c8f773912cbbd72b4a4df271fda1bd6d2aeb27f]
11Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
12---
13 src/log.c | 2 +-
14 src/pixmap/pixmap.c | 2 +-
15 src/vfs/pathutil.c | 2 +-
16 3 files changed, 3 insertions(+), 3 deletions(-)
17
18diff --git a/src/log.c b/src/log.c
19index 8194535a..88f34386 100644
20--- a/src/log.c
21+++ b/src/log.c
22@@ -161,7 +161,7 @@ static void add_debug_info(StringBuffer *buf) {
23 static size_t modname(const char *filename, size_t filename_len, char *mod) {
24 size_t mlen = filename_len;
25
26- char *dot = memchr(filename, '.', mlen);
27+ const char *dot = memchr(filename, '.', mlen);
28 if(dot) {
29 mlen = dot - filename;
30 }
31diff --git a/src/pixmap/pixmap.c b/src/pixmap/pixmap.c
32index 25105215..9717f22a 100644
33--- a/src/pixmap/pixmap.c
34+++ b/src/pixmap/pixmap.c
35@@ -49,7 +49,7 @@ void *pixmap_alloc_buffer_for_conversion(const Pixmap *src, PixmapFormat format,
36 }
37
38 static PixmapFileFormatHandler *pixmap_handler_for_filename(const char *file) {
39- char *ext = strrchr(file, '.');
40+ const char *ext = strrchr(file, '.');
41
42 if(!ext || !*(++ext)) {
43 return NULL;
44diff --git a/src/vfs/pathutil.c b/src/vfs/pathutil.c
45index f6bd6a80..85ccf5ee 100644
46--- a/src/vfs/pathutil.c
47+++ b/src/vfs/pathutil.c
48@@ -14,7 +14,7 @@ char *vfs_path_normalize(const char *path, char *out) {
49 const char *p = path;
50 char *o = out;
51 char *last_sep = out - 1;
52- char *path_end = strchr(path, 0);
53+ const char *path_end = strchr(path, 0);
54
55 #define IS_SEP_OR_NUL(chr) (VFS_IS_PATH_SEPARATOR(chr) || (chr == '\0'))
56
diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch
new file mode 100644
index 0000000000..9f5d7a17d4
--- /dev/null
+++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei/0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch
@@ -0,0 +1,71 @@
1From c9c00a88c10db4ce93ffcc043c661727d2ec9758 Mon Sep 17 00:00:00 2001
2From: laochailan <239670+laochailan@users.noreply.github.com>
3Date: Fri, 13 Feb 2026 20:21:44 -0500
4Subject: [PATCH] vfs: avoid unnecessary recursion in vfs_mkparents
5
6Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
7Upstream-Status: Backport [https://github.com/taisei-project/taisei/commit/f2e074f4a6aecf78b980014ed98f12fc6ddfd016]
8---
9 src/vfs/public.c | 43 +++++++++++++++++--------------------------
10 1 file changed, 17 insertions(+), 26 deletions(-)
11
12diff --git a/src/vfs/public.c b/src/vfs/public.c
13index abaa050f..cfeef83a 100644
14--- a/src/vfs/public.c
15+++ b/src/vfs/public.c
16@@ -146,38 +146,29 @@ void vfs_mkdir_required(const char *path) {
17 }
18 }
19
20-static bool vfs_mkparents_recurse(const char *path) {
21- // FIXME this has stupid space complexity and is probably silly in general; optimize if you care
22-
23- char *psep = strrchr(path, VFS_PATH_SEPARATOR);
24-
25- if(!psep) {
26- // parent is root
27- return true;
28- }
29+bool vfs_mkparents(const char *path) {
30+ char p[strlen(path)+1];
31+ path = vfs_path_normalize(path, p);
32
33- char p[strlen(path) + 1];
34- strcpy(p, path);
35- psep += p - path;
36- *psep = 0;
37+ // loop over all parent directories
38+ char *psep = p;
39+ while((psep = strchr(psep, VFS_PATH_SEPARATOR))) {
40+ *psep = 0;
41
42- VFSInfo i = vfs_query(p);
43+ VFSInfo i = vfs_query(p);
44+ if(i.error) {
45+ return false;
46+ }
47
48- if(i.error) {
49- return false;
50- }
51+ if(!i.exists || !i.is_dir) {
52+ vfs_mkdir(p);
53+ }
54
55- if(i.exists) {
56- return i.is_dir;
57+ *psep = VFS_PATH_SEPARATOR;
58+ psep++;
59 }
60
61- return vfs_mkparents_recurse(p) && vfs_mkdir(p);
62-}
63-
64-bool vfs_mkparents(const char *path) {
65- char p[strlen(path)+1];
66- path = vfs_path_normalize(path, p);
67- return vfs_mkparents_recurse(p);
68+ return true;
69 }
70
71 char* vfs_repr(const char *path, bool try_syspath) {
diff --git a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb
index bb08ad4a1c..844e735b69 100644
--- a/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb
+++ b/meta-oe/dynamic-layers/multimedia-layer/recipes-graphics/taisei/taisei_1.4.4.bb
@@ -20,7 +20,10 @@ DEPENDS = "\
20DEPENDS:append:libc-musl = " libucontext" 20DEPENDS:append:libc-musl = " libucontext"
21LDFLAGS:append:libc-musl = " -lucontext" 21LDFLAGS:append:libc-musl = " -lucontext"
22 22
23SRC_URI = "gitsm://github.com/taisei-project/taisei.git;branch=v1.4.x;protocol=https;tag=v${PV}" 23SRC_URI = "gitsm://github.com/taisei-project/taisei.git;branch=v1.4.x;protocol=https;tag=v${PV} \
24 file://0001-misc-fix-discarded-const-qualifiers-in-char-pointer-.patch \
25 file://0001-vfs-avoid-unnecessary-recursion-in-vfs_mkparents.patch \
26 "
24SRCREV = "6a484e6e61cc51a22a9943762dc2ff6883914f38" 27SRCREV = "6a484e6e61cc51a22a9943762dc2ff6883914f38"
25 28
26inherit features_check meson mime mime-xdg pkgconfig 29inherit features_check meson mime mime-xdg pkgconfig