blueman: Fix buildpathe issue with cython generated code

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Markus Volk <f_l_k@t-online.de>
This commit is contained in:
Khem Raj 2024-08-14 21:41:13 -07:00
parent 181409fef4
commit 55bfe466db
No known key found for this signature in database
GPG Key ID: BB053355919D3314
2 changed files with 40 additions and 1 deletions

View File

@ -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,

View File

@ -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"