new file mode 100644
@@ -0,0 +1,51 @@
+From c72a489e2eb13296c7b514b7341033114abf430a Mon Sep 17 00:00:00 2001
+From: Miroslav Lichvar <mlichvar@redhat.com>
+Date: Mon, 22 Apr 2024 11:31:24 +0200
+Subject: [PATCH 1/2] SConscript: provide variable names to MergeFlags
+
+If the scons MergeFlags() function is provided with a list of
+compiler/linker options, it needs to guess what options belong where. If
+it doesn't recognize an option, it is silently ignored. There are also
+ambiguous options that could be both in CFLAGS and LINKFLAGS (e.g. -spec).
+
+Provide MergeFlags() with a dict instead of list to avoid the guesswork
+in order to pass all options, even if some are not recognized by scons.
+Switch LDFLAGS to LINKFLAGS for better compatibility with existing
+scripts.
+
+Upstream-Status: Submitted [https://gitlab.com/gpsd/gpsd/-/merge_requests/406]
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+
+---
+ SConscript | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/SConscript b/SConscript
+index dab481654..ee90d87c4 100644
+--- a/SConscript
++++ b/SConscript
+@@ -585,8 +585,8 @@ env['SC_PYTHON'] = sys.executable # Path to SCons Python
+ # explicitly quote them or (better yet) use the "=" form of GNU option
+ # settings.
+ #
+-# Scons also uses different internal names than most other build-systems.
+-# So we rely on MergeFlags/ParseFlags to do the right thing for us.
++# Scons also uses different internal names than most other build-systems,
++# e.g. it uses LINKFLAGS instead of LDFLAGS.
+ #
+ # scons uses gcc, or clang, to link. Thus LDFLAGS does not serve its
+ # traditional function of providing arguments to ln. LDFLAGS set in the
+@@ -618,7 +618,10 @@ for i in ["ARFLAGS",
+ "SHLINKFLAGS",
+ ]:
+ if i in os.environ:
+- env.MergeFlags(Split(os.getenv(i)))
++ t = i
++ if t == "LDFLAGS":
++ t = "LINKFLAGS"
++ env.MergeFlags({t: Split(os.getenv(i))})
+
+
+ # Keep scan-build options in the environment
+--
+GitLab
@@ -7,6 +7,7 @@ PROVIDES = "virtual/gpsd"
SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://gpsd.init \
+ file://fix-pps_strerror_r.patch \
"
SRC_URI[sha256sum] = "b368b6a305e3f7a6382d23a0cbfc1d78923060b6b7f54cf7987a73c7b4a9afc2"
Import the patch from pending MR to fix the way flags are being handled by SConsript. Otherwise CXXFLAGS being added to CCFLAGS, masking test results because of the -fvisibility-inlines-hidden warning turning into error. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- .../gpsd/gpsd/fix-pps_strerror_r.patch | 51 +++++++++++++++++++ meta-oe/recipes-navigation/gpsd/gpsd_3.25.bb | 1 + 2 files changed, 52 insertions(+) create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd/fix-pps_strerror_r.patch