appstream: remove workaround for cross-compile

This issue has been fixed upstream
https://github.com/ximion/appstream/pull/510/commits/1f301baa5bf59d75d566a674bd76221847ca1d21

- backport this patch
- fix api documentation build
- build vapi dependent on gobject-introspection-data

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Markus Volk
2023-09-16 10:53:39 +02:00
committed by Khem Raj
parent 44b0e29a96
commit 2bdd2801d5
4 changed files with 74 additions and 54 deletions
@@ -1,43 +0,0 @@
From 6ab00a4279823829a9b82dc9e4d055da4de88c6e Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Mon, 12 Dec 2022 15:42:42 +0100
Subject: [PATCH] fix crosscompile
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Upstream-Status: Inappropriate [oe-specific]
---
data/meson.build | 2 +-
meson.build | 2 +-
tools/meson.build | 9 +++++++++
3 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/data/meson.build b/data/meson.build
index aea0cb25..1a085fc9 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -14,7 +14,7 @@ install_data('its/metainfo.loc',
metainfo_with_relinfo = custom_target('gen-output',
input : ['../NEWS', 'org.freedesktop.appstream.cli.metainfo.xml'],
output : ['nol10n_withrelinfo_org.freedesktop.appstream.cli.metainfo.xml'],
- command : [ascli_exe, 'news-to-metainfo', '--limit=6', '@INPUT0@', '@INPUT1@', '@OUTPUT@']
+ command : ['appstreamcli', 'news-to-metainfo', '--limit=6', '@INPUT0@', '@INPUT1@', '@OUTPUT@']
)
metainfo_i18n = i18n.itstool_join(
diff --git a/meson.build b/meson.build
index fd0e3373..2f273ada 100644
--- a/meson.build
+++ b/meson.build
@@ -124,7 +124,7 @@ if get_option ('gir')
dependency('gobject-introspection-1.0', version: '>=1.56')
endif
-stemmer_inc_dirs = include_directories(['/usr/include'])
+stemmer_inc_dirs = include_directories([''])
if get_option('stemming')
stemmer_lib = cc.find_library('stemmer', required: true)
if not cc.has_header('libstemmer.h')
--
2.34.1
@@ -0,0 +1,36 @@
From 79bf322768990b28c29a9d907edcca52ff48e0b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Date: Wed, 26 Jul 2023 23:21:10 +0400
Subject: [PATCH 01/60] meson: do not rely on an exe wrapper
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Upstream-Status: Backport [https://github.com/ximion/appstream/commit/79bf322768990b28c29a9d907edcca52ff48e0b8]
---
data/meson.build | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/data/meson.build b/data/meson.build
index aea0cb25..ec0e434f 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -7,6 +7,13 @@ install_data('its/metainfo.its',
install_data('its/metainfo.loc',
install_dir: join_paths(get_option('datadir'), 'gettext', 'its'))
+# Do not rely on an exe wrapper for rel-info, use the system one in that case
+if meson.is_cross_build()
+ dependency('appstream', version: '>=' + as_version, native: true,
+ not_found_message: 'Native appstream required for cross-building')
+ ascli_exe = find_program('appstreamcli')
+endif
+
# NOTE: We do not translate the release notes on purpose here.
# If you do want to give translators a chance to translate them,
# ascli news-to-metainfo needs to produce a temporary file to translate
--
2.41.0
@@ -0,0 +1,31 @@
From 6ab00a4279823829a9b82dc9e4d055da4de88c6e Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Mon, 12 Dec 2022 15:42:42 +0100
Subject: [PATCH] remove hardcoded path
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Dont include hardcoded path. This fixes:
| cc1: error: include location "/usr/include" is unsafe for cross-compilation [-Werror=poison-system-directories]
Upstream-Status: Inappropriate [oe-specific]
---
meson.build | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/meson.build b/meson.build
index fd0e3373..2f273ada 100644
--- a/meson.build
+++ b/meson.build
@@ -124,7 +124,7 @@ if get_option ('gir')
dependency('gobject-introspection-1.0', version: '>=1.56')
endif
-stemmer_inc_dirs = include_directories(['/usr/include'])
+stemmer_inc_dirs = include_directories([''])
if get_option('stemming')
stemmer_lib = cc.find_library('stemmer', required: true)
if not cc.has_header('libstemmer.h')
--
2.34.1
@@ -22,9 +22,13 @@ DEPENDS = " \
inherit meson gobject-introspection gettext gtk-doc pkgconfig vala
GIR_MESON_OPTION = "gir"
GTKDOC_MESON_OPTION = "apidocs"
SRC_URI = "https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz"
SRC_URI:append:class-target = " file://0001-fix-crosscompile.patch"
SRC_URI = " \
https://www.freedesktop.org/software/appstream/releases/AppStream-${PV}.tar.xz \
file://0001-remove-hardcoded-path.patch \
file://0001-meson-do-not-rely-on-an-exe-wrapper.patch \
"
SRC_URI[sha256sum] = "081c917646e94d7221c9e4aae54dacda95a27c607fa93cd8e6344a2b318b98b1"
S = "${WORKDIR}/AppStream-${PV}"
@@ -36,14 +40,6 @@ PACKAGECONFIG[stemming] = "-Dstemming=true,-Dstemming=false,libstemmer"
FILES:${PN} += "${datadir}"
EXTRA_OEMESON:append = " -Ddocs=false"
EXTRA_OEMESON:class-target += "--cross-file=${WORKDIR}/meson-${PN}.cross"
do_write_config:append:class-target() {
cat >${WORKDIR}/meson-${PN}.cross <<EOF
[binaries]
appstreamcli = '${STAGING_BINDIR_NATIVE}/appstreamcli'
EOF
}
EXTRA_OEMESON += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=true', '-Dvapi=false', d)}"
BBCLASSEXTEND = "native"