[arch-commits] Commit in shared-mime-info/trunk (MR_162.patch PKGBUILD)

Andreas Radke andyrtr at gemini.archlinux.org
Sun Nov 28 11:56:34 UTC 2021


    Date: Sunday, November 28, 2021 @ 11:56:34
  Author: andyrtr
Revision: 429407

upgpkg: shared-mime-info 2.0+115+gd74a913-1: update to latest git commit; run the hook early because other hooks may depend on it - FS#72858

Added:
  shared-mime-info/trunk/MR_162.patch
Modified:
  shared-mime-info/trunk/PKGBUILD

--------------+
 MR_162.patch |  130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 PKGBUILD     |   17 +++++--
 2 files changed, 143 insertions(+), 4 deletions(-)

Added: MR_162.patch
===================================================================
--- MR_162.patch	                        (rev 0)
+++ MR_162.patch	2021-11-28 11:56:34 UTC (rev 429407)
@@ -0,0 +1,130 @@
+From 5a406b06792e26a83c7346b3c2443c0bd8d4cdb2 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz at 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
+---
+ .gitlab-ci.yml               |  2 --
+ README.md                    |  2 +-
+ data/freedesktop_generate.sh | 12 ------------
+ data/meson.build             | 16 +++++-----------
+ meson.build                  |  1 -
+ 5 files changed, 6 insertions(+), 27 deletions(-)
+ delete mode 100755 data/freedesktop_generate.sh
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index 985dfe9..345e1ce 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -9,7 +9,6 @@ variables:
+                 glib2-devel
+                 gettext
+                 git
+-                itstool
+                 xmlto
+                 findutils
+                 gettext-devel
+@@ -34,4 +33,3 @@ build:meson:
+     paths:
+       - _build/meson-logs/*.txt
+       - _build/meson-dist/*.*
+-
+diff --git a/README.md b/README.md
+index c23d9d5..b2fb0ac 100644
+--- a/README.md
++++ b/README.md
+@@ -19,7 +19,7 @@ $ ninja -v -C _build install
+ ```
+ 
+ It requires the glib development package to be installed as well as
+-gettext and itstool.
++gettext.
+ This database is translated at Transifex.
+ 
+ 
+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:-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',
+ )
+diff --git a/meson.build b/meson.build
+index 0d08c8a..60f17ae 100644
+--- a/meson.build
++++ b/meson.build
+@@ -20,7 +20,6 @@ config.set_quoted('VERSION', meson.project_version())
+ ###############################################################################
+ # Find tools
+ 
+-itstool = find_program('itstool')
+ xmllint = find_program('xmllint')
+ xmlto   = find_program('xmlto', required: false)
+ 
+-- 
+GitLab
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-11-28 00:10:24 UTC (rev 429406)
+++ PKGBUILD	2021-11-28 11:56:34 UTC (rev 429407)
@@ -2,8 +2,8 @@
 # Maintainer: Jan de Groot <jgc at archlinux.org>
 
 pkgname=shared-mime-info
-_commit=c1d1c70684dac11ce6c14a5089b5cb0b64a7dc27 # master 2020-12-31
-pkgver=2.0+57+gc1d1c70
+_commit=d74a913cdf2ee17c469c470012e47cf6f48afcbe # master 2021-10-11
+pkgver=2.0+115+gd74a913
 pkgrel=1
 pkgdesc="Freedesktop.org Shared MIME Info"
 arch=('x86_64')
@@ -10,7 +10,8 @@
 license=('GPL2')
 depends=('libxml2' 'glib2')
 #makedepends=('itstool' 'gettext')
-makedepends=('itstool' 'gettext' 'xmlto' 'docbook-xsl' 'git' 'meson')
+#makedepends=('itstool' 'gettext' 'xmlto' 'docbook-xsl' 'git' 'meson')
+makedepends=('gettext' 'xmlto' 'docbook-xsl' 'git' 'meson')
 install=shared-mime-info.install
 # https://gitlab.freedesktop.org/xdg/shared-mime-info
 url="https://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec/"
@@ -18,9 +19,11 @@
 source=("git+https://gitlab.freedesktop.org/xdg/shared-mime-info.git#commit=$_commit"
         # tu run the testsuite
         "git+https://gitlab.freedesktop.org/xdg/xdgmime.git#commit=de283fc430460b9b3a7e61432a6d273cd64cb102" # master 2020-12-30
+        MR_162.patch
         update-mime-database.hook)
 sha256sums=('SKIP'
             'SKIP'
+            'cd69a48c3e074a99e7705db04ce29956b4f6480a9b261369b60052af4edc8796'
             'f08efbcbac9d2bd18a805b8dcf3ed06d7763b97eca5935aa64d65593774b6501')
 options=(!makeflags)
 
@@ -32,6 +35,11 @@
 prepare() {
   # build xdgmime from source to run the testsuite - check HACKING.md
   CFLAGS= make -C xdgmime
+
+  # fix a build failure with meson 0.60.x and later
+  # https://gitlab.freedesktop.org/xdg/shared-mime-info/-/merge_requests/162
+  cd $pkgname
+  patch -Np1 -i ../MR_162.patch
 }
 
 build() {
@@ -56,5 +64,6 @@
 
 package() {
   DESTDIR="$pkgdir" meson install -C build
-  install -Dm644 "$srcdir"/update-mime-database.hook "$pkgdir"/usr/share/libalpm/hooks/update-mime-database.hook
+  # use a prefix to run it early enough - other hooks may depend on it - FS#72858
+  install -Dm644 "$srcdir"/update-mime-database.hook "$pkgdir"/usr/share/libalpm/hooks/30-update-mime-database.hook
 }



More information about the arch-commits mailing list