diff options
Diffstat (limited to 'meta/recipes-support/shared-mime-info')
7 files changed, 111 insertions, 100 deletions
diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info.inc b/meta/recipes-support/shared-mime-info/shared-mime-info.inc deleted file mode 100644 index 344da7ea77..0000000000 --- a/meta/recipes-support/shared-mime-info/shared-mime-info.inc +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Shared MIME type database and specification" -HOMEPAGE = "http://freedesktop.org/wiki/Software/shared-mime-info" -SECTION = "base" - -LICENSE = "GPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "libxml2 intltool-native glib-2.0 shared-mime-info-native" - -SRC_URI = "http://freedesktop.org/~hadess/shared-mime-info-${PV}.tar.xz" - -inherit autotools pkgconfig gettext - -EXTRA_OECONF = "--disable-update-mimedb" - -FILES_${PN} += "${datadir}/mime" -FILES_${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc" - -# freedesktop.org.xml is only required when updating the mime database, -# package it separately -PACKAGES =+ "shared-mime-info-data" -FILES_shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml" -RDEPENDS_shared-mime-info-data = "shared-mime-info" - -do_install () { - autotools_do_install - - update-mime-database ${D}${datadir}/mime -} - -do_install_class-native () { - autotools_do_install -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch b/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch new file mode 100644 index 0000000000..936f72ccf8 --- /dev/null +++ b/meta/recipes-support/shared-mime-info/shared-mime-info/0001-Fix-build-with-libxml2-2.12.0-and-clang-17.patch @@ -0,0 +1,26 @@ +From 665383306c725f299a1b373f947cda01949d49e4 Mon Sep 17 00:00:00 2001 +From: David Faure <faure@kde.org> +Date: Sun, 19 Nov 2023 11:18:11 +0100 +Subject: [PATCH] Fix build with libxml2-2.12.0 and clang-17 + +Fixes #219 + +Upstream-Status: Backport [https://gitlab.freedesktop.org/xdg/shared-mime-info/-/commit/c918fe77e255150938e83a6aec259f153d303573] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + src/test-subclassing.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/test-subclassing.c b/src/test-subclassing.c +index dd099e4..0758164 100644 +--- a/src/test-subclassing.c ++++ b/src/test-subclassing.c +@@ -1,4 +1,5 @@ + #include <libxml/tree.h> ++#include <libxml/parser.h> + #include <stdio.h> + #include <string.h> + +-- +2.43.0 + diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch b/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch new file mode 100644 index 0000000000..2af6b461b6 --- /dev/null +++ b/meta/recipes-support/shared-mime-info/shared-mime-info/0002-Handle-build-with-older-versions-of-GCC.patch @@ -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 + diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch b/meta/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch deleted file mode 100644 index 262ff7562c..0000000000 --- a/meta/recipes-support/shared-mime-info/shared-mime-info/install-data-hook.patch +++ /dev/null @@ -1,25 +0,0 @@ -fix shared-mime-info build race condition - -The definition of install-data-hook in Makefile.am leads -to multiple, overlapping, executions of install-binPROGRAMS -target. We modify the definition to avoid that. - -Upstream-Status: Pending - -Signed-off-by: Joe Slater <jslater@windriver.com> - -Index: shared-mime-info-1.9/Makefile.am -=================================================================== ---- shared-mime-info-1.9.orig/Makefile.am -+++ shared-mime-info-1.9/Makefile.am -@@ -50,7 +50,9 @@ else - update_mime_database="$(top_builddir)/update-mime-database$(EXEEXT)" - endif - --install-data-hook: install-binPROGRAMS -+# do NOT make this dependent on anything! -+# -+install-data-hook: - if ENABLE_UPDATE_MIMEDB - $(update_mime_database) -V "$(DESTDIR)$(datadir)/mime" - endif diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch b/meta/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch deleted file mode 100644 index fea34a55a2..0000000000 --- a/meta/recipes-support/shared-mime-info/shared-mime-info/parallelmake.patch +++ /dev/null @@ -1,33 +0,0 @@ -The Makefile used by shared-mime-info is one big race with the SUBDIRS -option and the dependency specifically calling make all combining to -create multiple make instances all of which may try and build targets -like update-mime-database. - -This patch removes those options meaning make can correctly identify -dependencies and stop itself racing itself. - -RP 10/10/2011 - -Upstream-Status: Pending -Signed-off-by: Constantin Musca <constantinx.musca@intel.com> - -Index: shared-mime-info-1.9/Makefile.am -=================================================================== ---- shared-mime-info-1.9.orig/Makefile.am -+++ shared-mime-info-1.9/Makefile.am -@@ -1,5 +1,3 @@ --SUBDIRS=. po -- - AM_CPPFLAGS = $(ALL_CFLAGS) - - packagesdir = $(datadir)/mime/packages -@@ -81,8 +79,7 @@ endif - - all: $(defaultmakedeps) - --create-pot: -- $(AM_V_GEN) $(MAKE) -C po shared-mime-info.pot -+create-pot: po - - local-test: create-pot freedesktop.org.xml update-mime-database$(EXEEXT) - if CROSS_COMPILING diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info_1.10.bb b/meta/recipes-support/shared-mime-info/shared-mime-info_1.10.bb deleted file mode 100644 index 9fc210b718..0000000000 --- a/meta/recipes-support/shared-mime-info/shared-mime-info_1.10.bb +++ /dev/null @@ -1,7 +0,0 @@ -require shared-mime-info.inc - -SRC_URI += "file://parallelmake.patch \ - file://install-data-hook.patch" - -SRC_URI[md5sum] = "418c2ced9dc4dd5ca8b06a755e6d64e9" -SRC_URI[sha256sum] = "c625a83b4838befc8cafcd54e3619946515d9e44d63d61c4adf7f5513ddfbebf" diff --git a/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb b/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb new file mode 100644 index 0000000000..ef5df44ad6 --- /dev/null +++ b/meta/recipes-support/shared-mime-info/shared-mime-info_2.4.bb @@ -0,0 +1,31 @@ +SUMMARY = "Shared MIME type database and specification" +DESCRIPTION = "The shared-mime-info package contains the core database of common types." +HOMEPAGE = "http://freedesktop.org/wiki/Software/shared-mime-info" +SECTION = "base" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +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 \ + 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" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig gettext python3native mime + +EXTRA_OEMESON = "-Dupdate-mimedb=true" + +FILES:${PN} += "${datadir}/mime" +FILES:${PN}-dev += "${datadir}/pkgconfig/shared-mime-info.pc ${datadir}/gettext/its" + +# freedesktop.org.xml is only required when updating the mime database, +# package it separately +PACKAGES =+ "shared-mime-info-data" +FILES:shared-mime-info-data = "${datadir}/mime/packages/freedesktop.org.xml" +RDEPENDS:shared-mime-info-data = "shared-mime-info" + +BBCLASSEXTEND = "native nativesdk" |