diff --git a/drop-itstool-dep.patch b/drop-itstool-dep.patch new file mode 100644 index 0000000..9abec30 --- /dev/null +++ b/drop-itstool-dep.patch @@ -0,0 +1,10 @@ +--- orig-shared-mime-info-2.1/meson.build 2020-12-31 20:12:16.000000000 +0100 ++++ shared-mime-info-2.1/meson.build 2021-11-18 21:11:08.493268746 +0100 +@@ -20,7 +20,6 @@ + ############################################################################### + # Find tools + +-itstool = find_program('itstool') + xmllint = find_program('xmllint') + xmlto = find_program('xmlto') + diff --git a/fix-build-meson-0_60.patch b/fix-build-meson-0_60.patch new file mode 100644 index 0000000..7bd4847 --- /dev/null +++ b/fix-build-meson-0_60.patch @@ -0,0 +1,86 @@ +From 981a16ad9f786cc8dbba8f057d9c1fe7358a7404 Mon Sep 17 00:00:00 2001 +From: Eli Schwartz +Date: Mon, 8 Nov 2021 18:22:47 -0500 +Subject: [PATCH] migrate from custom itstool to builtin msgfmt for creating + translated XML + +gettext upstream has supported this for a very long time (since 0.19.7 +via commit b3c2a5a242c36fbbaa0c5b17f975d6c638598a23, released in 2015), +and itstool is (mostly) a legacy of the time before gettext had proper +support for these sorts of use cases. + +This is similar to the state of intltool, which is described at +https://wiki.gnome.org/MigratingFromIntltoolToGettext + +During the port from autotools to meson, the legacy use of itstool was +faithfully translated to meson in the only way possible: by jumping +through hoops to run ninja inside ninja in order to generate the .mo +files for itstool, because meson's i18n module used a flawed design and +there was no "real" target to create those files, only a .PHONY +run_target which other rules cannot depend on. + +Although meson 0.60.0 added support for real targets for the built .mo +files, this changed the rules for output filenames, breaking the script. + +But msgfmt does not care, and anyways comes with builtin meson functions +for convenient use with XML files. So let's take this opportunity to +drop legacy dependencies and use the modern, builtin tooling, which +fixes this bug as a side effect. + +Fixes #170 +--- + data/freedesktop_generate.sh | 12 ------------ + data/meson.build | 16 +++++----------- + 2 files changed, 5 insertions(+), 23 deletions(-) + delete mode 100755 data/freedesktop_generate.sh + +diff --git a/data/freedesktop_generate.sh b/data/freedesktop_generate.sh +deleted file mode 100755 +index 62ccffa..0000000 +--- a/data/freedesktop_generate.sh ++++ /dev/null +@@ -1,12 +0,0 @@ +-#!/bin/sh -e +- +-src_root="$1" +-build_root="$2" +- +-ninja -C "${build_root}" shared-mime-info-gmo +- +-itstool \ +- --its "${src_root}/data/its/shared-mime-info.its" \ +- --join "${src_root}/data/freedesktop.org.xml.in" \ +- -o "${build_root}/data/freedesktop.org.xml" \ +- "${build_root}/po/"*".gmo" + +diff --git a/data/meson.build b/data/meson.build +index 24361c9..09ed7a9 100644 +--- a/data/meson.build ++++ b/data/meson.build +@@ -1,18 +1,12 @@ + + install_man('update-mime-database.1') + +-freedesktop_org_xml = custom_target('freedesktop.org.xml', +- input : files( +- 'freedesktop.org.xml.in', +- 'its/shared-mime-info.its', +- 'its/shared-mime-info.loc', +- ), ++freedesktop_org_xml = i18n.merge_file( ++ input: 'freedesktop.org.xml.in', + output: 'freedesktop.org.xml', +- command: [ +- find_program('freedesktop_generate.sh'), +- meson.source_root(), +- meson.build_root() +- ], ++ data_dirs: '.', ++ po_dir: '../po', ++ type: 'xml', + install: true, + install_dir: get_option('datadir') / 'mime' / 'packages', + ) +-- +GitLab + diff --git a/shared-mime-info.changes b/shared-mime-info.changes index afed105..06bb225 100644 --- a/shared-mime-info.changes +++ b/shared-mime-info.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Thu Nov 18 19:55:47 UTC 2021 - Bjørn Lie + +- Add fix-build-meson-0_60.patch: Fix build with meson 0.60 and + newer. +- Add drop-itstool-dep.patch: Drop itstool as it is no longer + needed, upstream was missing this in the patch. Following this: + drop itstool BuildRequires. + ------------------------------------------------------------------- Thu Sep 16 02:05:30 UTC 2021 - Stanislav Brabec diff --git a/shared-mime-info.spec b/shared-mime-info.spec index 24b38f8..d28d24a 100644 --- a/shared-mime-info.spec +++ b/shared-mime-info.spec @@ -27,8 +27,12 @@ Group: System/X11/Utilities URL: https://gitlab.freedesktop.org/xdg/shared-mime-info Source0: %{url}/uploads/%{commitid}/%{name}-%{version}.tar.xz Source1: macros.shared-mime-info +# PATCH-FIX-UPSTREAM fix-build-meson-0_60.patch -- Fix build with meson 0.60 and newer +Patch0: fix-build-meson-0_60.patch +# PATCH-FIX-UPSTREAM drop-itstool-dep.patch -- Drop itstool as it is no longer needed +Patch1: drop-itstool-dep.patch + BuildRequires: glib2-devel -BuildRequires: itstool BuildRequires: libxml2-devel # needed for xmllint BuildRequires: libxml2-tools