Dominique Leuenberger 2021-11-22 11:46:01 +00:00 committed by Git OBS Bridge
parent 00754fa830
commit 5f43b3aac1
4 changed files with 110 additions and 1 deletions

10
drop-itstool-dep.patch Normal file
View File

@ -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')

View File

@ -0,0 +1,86 @@
From 981a16ad9f786cc8dbba8f057d9c1fe7358a7404 Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz@archlinux.org>
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

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Thu Nov 18 19:55:47 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
- 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 <sbrabec@suse.com>

View File

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