mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-09-28 00:50:18 +00:00
convey: add recipe
Convey is a fork of geary ported to GTK4, libadwaita, gcr-4 and webkitgtk 6.0. The patches keep build paths out of the binary, drop host checks that do not apply when cross-compiling and let the vala-unit subproject find g-ir-compiler through the cross file. AI-Generated: Uses Claude Code (Claude Fable 5.1) Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Volk <f_l_k@t-online.de>
|
||||
Date: Tue, 22 Sep 2026 07:43:41 +0200
|
||||
Subject: [PATCH] meson: do not store build paths in the binary
|
||||
|
||||
The build root and source root are only used when convey runs
|
||||
uninstalled, but storing them puts TMPDIR into the binary and breaks
|
||||
reproducibility. Point them to /usr/src and the schema directory to the
|
||||
installed location instead.
|
||||
|
||||
AI-Generated: Uses Claude Code (Claude Fable 5.1)
|
||||
Upstream-Status: Inappropriate [oe-specific]
|
||||
---
|
||||
src/meson.build | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index 87690ada..ce722126 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -4,8 +4,8 @@ conf = configuration_data()
|
||||
conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
|
||||
conf.set_quoted('G_LOG_DOMAIN', meson.project_name())
|
||||
conf.set_quoted('APP_ID', convey_id)
|
||||
-conf.set_quoted('BUILD_ROOT_DIR', meson.project_build_root())
|
||||
-conf.set_quoted('GSETTINGS_DIR', meson.project_build_root() / 'desktop')
|
||||
+conf.set_quoted('BUILD_ROOT_DIR', '/usr/src')
|
||||
+conf.set_quoted('GSETTINGS_DIR', data_dir / 'glib-2.0' / 'schemas')
|
||||
conf.set_quoted('INSTALL_PREFIX', convey_prefix)
|
||||
conf.set_quoted('ISO_CODE_3166_XML', iso_3166_xml)
|
||||
conf.set_quoted('ISO_CODE_639_XML', iso_639_xml)
|
||||
@@ -14,7 +14,7 @@ conf.set_quoted('NAME_SUFFIX', name_suffix)
|
||||
conf.set_quoted('PLUGINS_DIR', plugins_dir)
|
||||
conf.set_quoted('PROFILE', profile)
|
||||
conf.set_quoted('REVNO', revno)
|
||||
-conf.set_quoted('SOURCE_ROOT_DIR', meson.project_source_root())
|
||||
+conf.set_quoted('SOURCE_ROOT_DIR', '/usr/src')
|
||||
conf.set_quoted('VERSION', convey_version)
|
||||
conf.set_quoted('WEB_EXTENSIONS_DIR', web_extensions_dir)
|
||||
config_h = configure_file(output: 'config.h', configuration: conf)
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Volk <f_l_k@t-online.de>
|
||||
Date: Tue, 22 Sep 2026 09:15:56 +0200
|
||||
Subject: [PATCH] meson: do not check for the iso xml files and the C.utf8
|
||||
locale during build
|
||||
|
||||
The iso xml files are needed at runtime and live in the staging area
|
||||
when cross-compiling, and the locale check runs the host's locale
|
||||
command against the host's locales. Neither says anything about the
|
||||
target, so drop both build-time checks.
|
||||
|
||||
AI-Generated: Uses Claude Code (Claude Fable 5.1)
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
meson.build | 11 -----------
|
||||
1 file changed, 11 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index dfd919a7..51ab9015 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -195,17 +195,6 @@ if iso_3166_xml == ''
|
||||
iso_3166_xml = iso_codes_dir / 'iso_3166.xml'
|
||||
endif
|
||||
|
||||
-files(iso_639_xml, iso_3166_xml) # Check to make sure these exist
|
||||
-
|
||||
-# Make sure the locale C.UTF-8 is installed on the system
|
||||
-
|
||||
-c_utf8_check = run_command('locale', '-a', check: true).stdout()
|
||||
-have_c_utf8 = 'C.utf8' in c_utf8_check.split('\n')
|
||||
-
|
||||
-if not have_c_utf8
|
||||
- warning('C.utf8 locale not available on this system.')
|
||||
-endif
|
||||
-
|
||||
# Post-install script
|
||||
gnome.post_install(
|
||||
gtk_update_icon_cache: true,
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Volk <f_l_k@t-online.de>
|
||||
Date: Tue, 22 Sep 2026 09:15:10 +0200
|
||||
Subject: [PATCH] vala-unit: look up g-ir-compiler with find_program
|
||||
|
||||
The path taken from the g_ir_compiler pkg-config variable is the
|
||||
target path and is not usable when cross-compiling. find_program
|
||||
honours the cross file, which is where the wrapper is set.
|
||||
|
||||
AI-Generated: Uses Claude Code (Claude Fable 5.1)
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
subprojects/vala-unit/meson.build | 8 +-------
|
||||
1 file changed, 1 insertion(+), 7 deletions(-)
|
||||
|
||||
diff --git a/subprojects/vala-unit/meson.build b/subprojects/vala-unit/meson.build
|
||||
index a1822aa8..d04cc307 100644
|
||||
--- a/subprojects/vala-unit/meson.build
|
||||
+++ b/subprojects/vala-unit/meson.build
|
||||
@@ -31,13 +31,7 @@ gee = dependency('gee-0.8')
|
||||
gio = dependency('gio-2.0')
|
||||
glib = dependency('glib-2.0', version: '>=' + target_glib)
|
||||
gobject = dependency('gobject-2.0')
|
||||
-gobject_introspection = dependency('gobject-introspection-1.0', required: false)
|
||||
-
|
||||
-if gobject_introspection.found()
|
||||
- g_ir_compiler = gobject_introspection.get_variable('g_ir_compiler')
|
||||
-else
|
||||
- g_ir_compiler = find_program('g-ir-compiler')
|
||||
-endif
|
||||
+g_ir_compiler = find_program('g-ir-compiler')
|
||||
if enable_valadoc
|
||||
valadoc = find_program('valadoc')
|
||||
endif
|
||||
@@ -0,0 +1,59 @@
|
||||
SUMMARY = "Email application built around conversations for the GNOME desktop"
|
||||
HOMEPAGE = "https://gitlab.gnome.org/donnybeelo/convey"
|
||||
SECTION = "network"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2a2244d5a13871ad950c55877546a6a2"
|
||||
|
||||
DEPENDS = " \
|
||||
appstream-native \
|
||||
cairo \
|
||||
desktop-file-utils-native \
|
||||
enchant2 \
|
||||
folks \
|
||||
gcr \
|
||||
gmime \
|
||||
gnome-online-accounts \
|
||||
gstreamer1.0 \
|
||||
gstreamer1.0-plugins-bad \
|
||||
gtk4 \
|
||||
icu \
|
||||
iso-codes \
|
||||
json-glib \
|
||||
libadwaita \
|
||||
libpeas \
|
||||
libsecret \
|
||||
libsoup \
|
||||
libstemmer \
|
||||
libxml2 \
|
||||
sqlite3 \
|
||||
webkitgtk \
|
||||
"
|
||||
|
||||
inherit meson pkgconfig mime-xdg gsettings gtk-icon-cache gobject-introspection gnome-help vala features_check
|
||||
|
||||
SRC_URI = " \
|
||||
git://gitlab.gnome.org/donnybeelo/convey.git;protocol=https;branch=main;tag=${PV}-1 \
|
||||
file://0001-meson-do-not-store-build-paths-in-the-binary.patch \
|
||||
file://0002-meson-do-not-check-for-the-iso-xml-files-and-the-C.u.patch \
|
||||
file://0003-vala-unit-look-up-g-ir-compiler-with-find_program.patch \
|
||||
"
|
||||
SRCREV = "2a0b661bf1d7fde57b6dfcb7e09ce33d7b4b9f42"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl"
|
||||
|
||||
GTKIC_VERSION = "4"
|
||||
GIR_MESON_OPTION = ""
|
||||
|
||||
EXTRA_OEMESON = " \
|
||||
-Dprofile=release \
|
||||
-Drevno=${PV} \
|
||||
-Diso_639_xml=${datadir}/xml/iso-codes/iso_639.xml \
|
||||
-Diso_3166_xml=${datadir}/xml/iso-codes/iso_3166.xml \
|
||||
-Dvaladoc=disabled \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG[libunwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
|
||||
PACKAGECONFIG[tnef] = "-Dtnef=enabled,-Dtnef=disabled,libytnef"
|
||||
|
||||
FILES:${PN} += "${datadir}"
|
||||
Reference in New Issue
Block a user