Browse Source

shared-mime-info: new package

Signed-off-by: W. Michael Petullo <mike@flyn.org>
lilik-openwrt-22.03
W. Michael Petullo 3 years ago
committed by Rosen Penev
parent
commit
1cb6f06200
3 changed files with 161 additions and 0 deletions
  1. +53
    -0
      utils/shared-mime-info/Makefile
  2. +75
    -0
      utils/shared-mime-info/patches/001-shared-mime-info-2.1-fix-build.patch
  3. +33
    -0
      utils/shared-mime-info/patches/002-shared-mime-info-2.1-no-xmlto.patch

+ 53
- 0
utils/shared-mime-info/Makefile View File

@ -0,0 +1,53 @@
#
# 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))

+ 75
- 0
utils/shared-mime-info/patches/001-shared-mime-info-2.1-fix-build.patch View File

@ -0,0 +1,75 @@
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')

+ 33
- 0
utils/shared-mime-info/patches/002-shared-mime-info-2.1-no-xmlto.patch View File

@ -0,0 +1,33 @@
--- 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'

Loading…
Cancel
Save