diff --git a/community/appstream/APKBUILD b/community/appstream/APKBUILD
index 3632a7036cfeaf07986e478f83f1fb1415d8c992..90aa68c3b2cb8ce6680f24f709b109489a9d7023 100644
--- a/community/appstream/APKBUILD
+++ b/community/appstream/APKBUILD
@@ -12,7 +12,9 @@ makedepends="meson yaml-dev libxml2-dev glib-dev lmdb-dev gobject-introspection-
 triggers="$pkgname.trigger=/usr/share/app-info/*"
 install="$pkgname.post-install $pkgname.post-upgrade"
 subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-lang $pkgname-dbg"
-source="https://www.freedesktop.org/software/appstream/releases/AppStream-$pkgver.tar.xz"
+source="https://www.freedesktop.org/software/appstream/releases/AppStream-$pkgver.tar.xz
+	tests-meson-fix-nested-list.patch
+	"
 builddir="$srcdir/AppStream-$pkgver"
 
 # librsvg doesn't exist on these arches
@@ -66,4 +68,7 @@ qt() {
 }
 
 
-sha512sums="b4c41b44375091636cc46e2f7f5e0b86612474faa6d55010caee78cb9c9ac468d093cf261184d900be7aae8513dc72d2821ff9ee17786e123c86a928ce5e9135  AppStream-0.14.3.tar.xz"
+sha512sums="
+b4c41b44375091636cc46e2f7f5e0b86612474faa6d55010caee78cb9c9ac468d093cf261184d900be7aae8513dc72d2821ff9ee17786e123c86a928ce5e9135  AppStream-0.14.3.tar.xz
+f545d979f1a74cc4728b39bce8d5c04fed83f392c207cfa4620875fabc11ebee4c8bc6ee594428629bf673a9b051e596ff72f700aba6af566e43e9ce6b788372  tests-meson-fix-nested-list.patch
+"
diff --git a/community/appstream/tests-meson-fix-nested-list.patch b/community/appstream/tests-meson-fix-nested-list.patch
new file mode 100644
index 0000000000000000000000000000000000000000..9dec0e377c4817a8b4b6e83f3f872bb9dc2ffe92
--- /dev/null
+++ b/community/appstream/tests-meson-fix-nested-list.patch
@@ -0,0 +1,22 @@
+Description: meson 0.58 is more strict with mixed lists and will not
+automatically flatten lists.
+Results in:
+
+> tests/meson.build:125:4: ERROR: List item must be one of <class 'str'>, not <class 'list'>
+
+
+diff --git a/tests/meson.build b/tests/meson.build
+index 4696b04..4e25079 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -125,8 +125,8 @@ if get_option('compose')
+     test ('as-test_compose',
+         as_test_compose_exe,
+         args: as_test_args,
+-        env: [as_test_env,
+-              'LSAN_OPTIONS=suppressions=' +
++        env: as_test_env +
++              ['LSAN_OPTIONS=suppressions=' +
+                   join_paths(meson.current_source_dir(), 'lsan-suppr.txt')]
+     )
+ endif