--- /dev/null
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=shared-mime-info
+PKG_VERSION:=2.1
+PKG_RELEASE:=1
+
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+
+PKG_LICENSE:=GPL-2.0-or-later
+PKG_LICENSE_FILES:=COPYING
+
+PKG_SOURCE:=shared-mime-info-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=https://gitlab.freedesktop.org/xdg/$(PKG_NAME)/-/archive/$(PKG_VERSION)
+PKG_HASH:=37df6475da31a8b5fc63a54ba0770a3eefa0a708b778cb6366dccee96393cb60
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/meson.mk
+
+define Package/shared-mime-info
+ SECTION:=utils
+ CATEGORY:=Utilities
+ DEPENDS:=+glib2 +libxml2
+ TITLE:=MIME-type information
+ URL:=https://freedesktop.org/wiki/Software/shared-mime-info/
+endef
+
+define Package/shared-mime-info/description
+ The shared-mime-info package contains a database of MIME types and their file extensions.
+endef
+
+define Package/shared-mime-info/install
+ $(INSTALL_DIR) $(1)/usr/bin/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/bin/* \
+ $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/share/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/share/* \
+ $(1)/usr/share/
+endef
+
+define Package/shared-mime-info/postinst
+#!/bin/sh
+
+update-mime-database /usr/share/mime/
+endef
+
+$(eval $(call BuildPackage,shared-mime-info))
--- /dev/null
+From 5a406b06792e26a83c7346b3c2443c0bd8d4cdb2 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
+---
+ .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
+
+--- 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',
+ )
+--- a/meson.build
++++ b/meson.build
+@@ -20,7 +20,6 @@ config.set_quoted('VERSION', meson.proje
+ ###############################################################################
+ # Find tools
+
+-itstool = find_program('itstool')
+ xmllint = find_program('xmllint')
+ xmlto = find_program('xmlto')
+
--- /dev/null
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -15,15 +15,3 @@ install_data(
+ [ 'its/shared-mime-info.loc', 'its/shared-mime-info.its', ],
+ install_dir : get_option('datadir') / 'gettext/its'
+ )
+-
+-custom_target('shared-mime-info-spec-html',
+- input : 'shared-mime-info-spec.xml',
+- output: 'shared-mime-info-spec-html',
+- command: [
+- xmlto,
+- '-o', '@OUTPUT@',
+- 'html-nochunks',
+- '@INPUT@',
+- ],
+- build_by_default: true,
+-)
+--- a/meson.build
++++ b/meson.build
+@@ -18,12 +18,6 @@ config.set_quoted('PACKAGE', meson.proje
+ config.set_quoted('VERSION', meson.project_version())
+
+ ###############################################################################
+-# Find tools
+-
+-xmllint = find_program('xmllint')
+-xmlto = find_program('xmlto')
+-
+-###############################################################################
+ # Find xdgmime
+
+ xdgmime = get_option('xdgmime-path') / 'src'