mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 01:19:52 +00:00
shared-mime-info-native: handle old GCC for AlmaLinux8
shared-mime-info-native fails to build on AlmaLinux 8 due to its use of GCC-8 and the upstream package missing a required `-lstdc++fs` on that compiler. Submitted a patch upstream which fixes this and am porting. (From OE-Core rev: 664c7f09ddc15ec9bcb7d8a5bac453922be86a37) Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
de401f80ae
commit
edc72a4bd1
+54
@@ -0,0 +1,54 @@
|
|||||||
|
From 461d00fcd5c5842b9a56f7462d55d46bf21163cc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Patrick Williams <patrick@stwcx.xyz>
|
||||||
|
Date: Fri, 1 Dec 2023 11:19:02 -0600
|
||||||
|
Subject: [PATCH] Handle build with older versions of GCC
|
||||||
|
|
||||||
|
Older versions of GCC (prior to 9.1) did not put the `std::filesystem`
|
||||||
|
support directly into libstdcpp, but in a separate `libstdc++fs`. Add
|
||||||
|
meson logic to detect if an extra linker flag is necessary.
|
||||||
|
|
||||||
|
Fixes #223.
|
||||||
|
|
||||||
|
Tested on AlmaLinux 8 which uses GCC-8.
|
||||||
|
|
||||||
|
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
|
||||||
|
Upstream-Status: Submitted [https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/278]
|
||||||
|
---
|
||||||
|
meson.build | 14 ++++++++++++++
|
||||||
|
1 file changed, 14 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index ecc012f..93acd40 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -11,6 +11,7 @@ config = configuration_data()
|
||||||
|
i18n = import('i18n')
|
||||||
|
|
||||||
|
cc = meson.get_compiler('c')
|
||||||
|
+cxx = meson.get_compiler('cpp')
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Project configuration
|
||||||
|
@@ -46,6 +47,19 @@ if not xdgmime_found
|
||||||
|
''')
|
||||||
|
endif
|
||||||
|
|
||||||
|
+###############################################################################
|
||||||
|
+# Check if GCC needs -lstdc++fs (before 9.1)
|
||||||
|
+
|
||||||
|
+if not cxx.links('''
|
||||||
|
+ #include <filesystem>
|
||||||
|
+ int main() {
|
||||||
|
+ return std::filesystem::is_directory(
|
||||||
|
+ std::filesystem::status("/tmp")) ? 0 : 1;
|
||||||
|
+ }
|
||||||
|
+ ''', name: 'std++fs-check')
|
||||||
|
+ add_project_link_arguments('-lstdc++fs', language : 'cpp')
|
||||||
|
+endif
|
||||||
|
+
|
||||||
|
###############################################################################
|
||||||
|
# Dependencies
|
||||||
|
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
||||||
@@ -9,7 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
|||||||
DEPENDS = "libxml2 itstool-native glib-2.0 shared-mime-info-native xmlto-native"
|
DEPENDS = "libxml2 itstool-native glib-2.0 shared-mime-info-native xmlto-native"
|
||||||
|
|
||||||
SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https;branch=master \
|
SRC_URI = "git://gitlab.freedesktop.org/xdg/shared-mime-info.git;protocol=https;branch=master \
|
||||||
file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch"
|
file://0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch \
|
||||||
|
file://0002-Handle-build-with-older-versions-of-GCC.patch"
|
||||||
SRCREV = "9a6d6b8e963935f145f3a1ef446552de6996dada"
|
SRCREV = "9a6d6b8e963935f145f3a1ef446552de6996dada"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|||||||
Reference in New Issue
Block a user