diff mbox series

[meta-networking,9/9] blueman: Fix buildpathe issue with cython generated code

Message ID 20240815044523.1030831-9-raj.khem@gmail.com
State New
Headers show
Series [meta-oe,1/9] glibmm: Upgrade to 2.66.7 release | expand

Commit Message

Khem Raj Aug. 15, 2024, 4:45 a.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Markus Volk <f_l_k@t-online.de>
---
 ...n-DO-not-emit-absolute-path-when-S-B.patch | 38 +++++++++++++++++++
 .../blueman/blueman_2.4.3.bb                  |  3 +-
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 meta-networking/recipes-connectivity/blueman/blueman/0001-meson-DO-not-emit-absolute-path-when-S-B.patch
diff mbox series

Patch

diff --git a/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-DO-not-emit-absolute-path-when-S-B.patch b/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-DO-not-emit-absolute-path-when-S-B.patch
new file mode 100644
index 0000000000..10f89a124c
--- /dev/null
+++ b/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-DO-not-emit-absolute-path-when-S-B.patch
@@ -0,0 +1,38 @@ 
+From 18af739fd96960bbc8c5db5dd290d2f9134cd347 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 14 Aug 2024 21:26:24 -0700
+Subject: [PATCH] meson: DO not emit absolute path when S != B
+
+build systems like OE build outside sourcetree in such cases it works
+ok but cython resolves the input file to absolute path and that gets
+emitted into genetate _blueman.c as module name, renders the build
+non-reproducible, wish cython had a better way to handle this but there
+is not, therefore tweak the meson build rule to account for specifying
+workdir to cython which will search the inputs correctly, and use
+meson's build_root to emit the output into build dir. This ensures that
+it becomes independent of source or build directories and cython does
+not generate the absolute paths into generate C code.
+
+See cython discussion on [1]
+
+[1] https://github.com/cython/cython/issues/5949
+
+Upstream-Status: Submitted [https://github.com/blueman-project/blueman/pull/2461]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ module/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/module/meson.build b/module/meson.build
+index 096ad7c8..e3d96f17 100644
+--- a/module/meson.build
++++ b/module/meson.build
+@@ -4,7 +4,7 @@ blueman_c = custom_target(
+     'blueman_c',
+     output: '_blueman.c',
+     input: '_blueman.pyx',
+-    command: [cython, '--output-file', '@OUTPUT@', '@INPUT@'])
++    command: [cython, '-w', meson.source_root(), '--output-file', meson.build_root() + '/' + '@OUTPUT@', '@INPUT@'])
+ 
+ sources = [
+     blueman_c,
diff --git a/meta-networking/recipes-connectivity/blueman/blueman_2.4.3.bb b/meta-networking/recipes-connectivity/blueman/blueman_2.4.3.bb
index df2a226f0a..c2bb4d24c6 100644
--- a/meta-networking/recipes-connectivity/blueman/blueman_2.4.3.bb
+++ b/meta-networking/recipes-connectivity/blueman/blueman_2.4.3.bb
@@ -8,7 +8,8 @@  inherit meson gettext systemd gsettings pkgconfig python3native gtk-icon-cache u
 
 REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
 
-SRC_URI = "git://github.com/blueman-project/blueman.git;protocol=https;branch=2-4-stable"
+SRC_URI = "git://github.com/blueman-project/blueman.git;protocol=https;branch=2-4-stable \
+           file://0001-meson-DO-not-emit-absolute-path-when-S-B.patch"
 S = "${WORKDIR}/git"
 SRCREV = "7bcf919ad6ac0ee9a8c66b18b0ca98af877d4c8f"