[arch-commits] Commit in shared-mime-info/repos (5 files)

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


    Date: Sunday, November 28, 2021 @ 11:56:45
  Author: andyrtr
Revision: 429408

archrelease: copy trunk to testing-x86_64

Added:
  shared-mime-info/repos/testing-x86_64/
  shared-mime-info/repos/testing-x86_64/MR_162.patch
    (from rev 429407, shared-mime-info/trunk/MR_162.patch)
  shared-mime-info/repos/testing-x86_64/PKGBUILD
    (from rev 429407, shared-mime-info/trunk/PKGBUILD)
  shared-mime-info/repos/testing-x86_64/shared-mime-info.install
    (from rev 429407, shared-mime-info/trunk/shared-mime-info.install)
  shared-mime-info/repos/testing-x86_64/update-mime-database.hook
    (from rev 429407, shared-mime-info/trunk/update-mime-database.hook)

---------------------------+
 MR_162.patch              |  130 ++++++++++++++++++++++++++++++++++++++++++++
 PKGBUILD                  |   69 +++++++++++++++++++++++
 shared-mime-info.install  |    7 ++
 update-mime-database.hook |   11 +++
 4 files changed, 217 insertions(+)

Copied: shared-mime-info/repos/testing-x86_64/MR_162.patch (from rev 429407, shared-mime-info/trunk/MR_162.patch)
===================================================================
--- testing-x86_64/MR_162.patch	                        (rev 0)
+++ testing-x86_64/MR_162.patch	2021-11-28 11:56:45 UTC (rev 429408)
@@ -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
+

Copied: shared-mime-info/repos/testing-x86_64/PKGBUILD (from rev 429407, shared-mime-info/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2021-11-28 11:56:45 UTC (rev 429408)
@@ -0,0 +1,69 @@
+# Maintainer: AndyRTR <andyrtr at archlinux.org>
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=shared-mime-info
+_commit=d74a913cdf2ee17c469c470012e47cf6f48afcbe # master 2021-10-11
+pkgver=2.0+115+gd74a913
+pkgrel=1
+pkgdesc="Freedesktop.org Shared MIME Info"
+arch=('x86_64')
+license=('GPL2')
+depends=('libxml2' 'glib2')
+#makedepends=('itstool' 'gettext')
+#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/"
+#source=(https://gitlab.freedesktop.org/xdg/shared-mime-info/uploads/b27eb88e4155d8fccb8bb3cd12025d5b/$pkgname-$pkgver.tar.xz
+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)
+
+pkgver() {
+  cd $pkgname
+  git describe --long | sed 's/^Release.//;s/\([^-]*-g\)/\1/;s/-/+/g;'
+}
+
+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() {
+  # https://bugs.archlinux.org/task/38836
+  # https://bugs.freedesktop.org/show_bug.cgi?id=70366
+  # https://bugs.archlinux.org/task/66687
+  #export ac_cv_func_fdatasync=no -> for now moved into aplm hook
+
+  arch-meson ${pkgname} build \
+    -D update-mimedb=false \
+    -D xdgmime-path=${srcdir}/xdgmime
+
+  # Print config
+  meson configure build
+  # compile it
+  ninja -C build 
+}
+
+check() {
+  meson test -C build --print-errorlogs
+}
+
+package() {
+  DESTDIR="$pkgdir" meson install -C build
+  # 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
+}

Copied: shared-mime-info/repos/testing-x86_64/shared-mime-info.install (from rev 429407, shared-mime-info/trunk/shared-mime-info.install)
===================================================================
--- testing-x86_64/shared-mime-info.install	                        (rev 0)
+++ testing-x86_64/shared-mime-info.install	2021-11-28 11:56:45 UTC (rev 429408)
@@ -0,0 +1,7 @@
+post_remove() {
+  if [ -d usr/share/mime ]; then
+    rm -f usr/share/mime/{globs,globs2,icons,treemagic,generic-icons,types,magic,XMLnamespaces,subclasses,aliases,mime.cache}
+    rm -rf usr/share/mime/{application,audio,image,inode,message,model,multipart,text,video,x-content,x-epoc}
+    rmdir --ignore-fail-on-non-empty usr/share/mime
+  fi
+}

Copied: shared-mime-info/repos/testing-x86_64/update-mime-database.hook (from rev 429407, shared-mime-info/trunk/update-mime-database.hook)
===================================================================
--- testing-x86_64/update-mime-database.hook	                        (rev 0)
+++ testing-x86_64/update-mime-database.hook	2021-11-28 11:56:45 UTC (rev 429408)
@@ -0,0 +1,11 @@
+[Trigger]
+Type = Path
+Operation = Install
+Operation = Upgrade
+Operation = Remove
+Target = usr/share/mime/packages/*.xml
+
+[Action]
+Description = Updating the MIME type database...
+When = PostTransaction
+Exec = /usr/bin/env PKGSYSTEM_ENABLE_FSYNC=0 /usr/bin/update-mime-database /usr/share/mime



More information about the arch-commits mailing list