shared-mime-info: new package
Signed-off-by: W. Michael Petullo <mike@flyn.org>
This commit is contained in:
parent
69c53fcb6c
commit
1cb6f06200
3 changed files with 161 additions and 0 deletions
53
utils/shared-mime-info/Makefile
Normal file
53
utils/shared-mime-info/Makefile
Normal 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))
|
|
@ -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')
|
||||
|
|
@ -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…
Reference in a new issue