summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-03-30 00:55:07 +0100
committerSam James <sam@gentoo.org>2022-03-30 04:17:25 +0100
commit5b5534feec1ab9b284d9aa52af2b3d79b3acb5e9 (patch)
tree4a7be11fe4fcf266638a6794c9345cf1442d8920 /x11-misc/shared-mime-info
parentdev-libs/libgcrypt: add 1.10.1, drop 1.10.0 (diff)
downloadgentoo-5b5534feec1ab9b284d9aa52af2b3d79b3acb5e9.tar.gz
gentoo-5b5534feec1ab9b284d9aa52af2b3d79b3acb5e9.tar.bz2
gentoo-5b5534feec1ab9b284d9aa52af2b3d79b3acb5e9.zip
x11-misc/shared-mime-info: add 2.2
Now with tests! Hopefully won't need at least some of these hacks for much longer for xdgmime as Eli Schwartz is working on a Meson port for it. This isn't ideal but it's better than before when we didn't even try running the xdgmime bits. Bug: https://gitlab.freedesktop.org/xdg/xdgmime/-/merge_requests/25 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'x11-misc/shared-mime-info')
-rw-r--r--x11-misc/shared-mime-info/Manifest2
-rw-r--r--x11-misc/shared-mime-info/shared-mime-info-2.2.ebuild93
2 files changed, 95 insertions, 0 deletions
diff --git a/x11-misc/shared-mime-info/Manifest b/x11-misc/shared-mime-info/Manifest
index c111c1487da2..3585101d2d2f 100644
--- a/x11-misc/shared-mime-info/Manifest
+++ b/x11-misc/shared-mime-info/Manifest
@@ -1 +1,3 @@
DIST shared-mime-info-2.1.tar.xz 5202496 BLAKE2B e8dfc7efe78feb5a38c8115a2b332f46c3dac2f89dffad0834fa7b77560b3ef528e779ab9e42822288f85d8c434fd590859db682f3f99494aa6a4387c985e912 SHA512 87e308281e83c4cf889594f7c2e8dcb4d0d0d3910124c3816fdb886ba7d6113b2581711adcb17032b47f9b8d8b7001fab58daa52b7da7c0ef87915e341d6f1b0
+DIST shared-mime-info-2.2.tar.gz 7064139 BLAKE2B 5e791893a60d64a8a1d421c1fabb5e214c6e34ae975d232a9d695b998e8e9aafb6449e858fd845feb120e170bf7c77f70c1fc23e3d4cf8e7c49c6e92418cab96 SHA512 490d96daf4214ab6ac537761b67f3ff4716b95d7ea3fedd2e2ab7b0b02d946acad49790a25efcb5e949551dc4c39ba08911e59f06b198b61dcb1bc44799a2b2e
+DIST xdgmime-92f6a09fda2b23c2ab95cede8eb0612ca96bd0f7.tar.gz 32703 BLAKE2B 865ff57c566b60fb2bd6cb37e259800ee72fb4b9f2d135db46e9a40206946677a7b50bfb8f13d9ce1493bac972e8a5230d7caa833733f3a8d8631e844a648436 SHA512 90abe20483d5ae2131d18740fffbc57c94470be99e9ea1b04e13bffaf3dda4aa9145cb92bb4defe0a655c0bdbd630aaa325e7a9095b9599faebb751699b9cdd8
diff --git a/x11-misc/shared-mime-info/shared-mime-info-2.2.ebuild b/x11-misc/shared-mime-info/shared-mime-info-2.2.ebuild
new file mode 100644
index 000000000000..3d31957ca47c
--- /dev/null
+++ b/x11-misc/shared-mime-info/shared-mime-info-2.2.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson toolchain-funcs xdg-utils
+
+# Keep an eye on https://gitlab.freedesktop.org/xdg/xdgmime/-/merge_requests/25!
+# xdgmime is used for tests but doesn't make releases nowadays; do what
+# Fedora does and use a snapshot so we can run the test suite.
+MY_XDGMIME_COMMIT="92f6a09fda2b23c2ab95cede8eb0612ca96bd0f7"
+DESCRIPTION="The Shared MIME-info Database specification"
+HOMEPAGE="https://gitlab.freedesktop.org/xdg/shared-mime-info"
+SRC_URI="https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/${PV}/${P}.tar.gz"
+SRC_URI+=" test? ( https://gitlab.freedesktop.org/xdg/xdgmime/-/archive/${MY_XDGMIME_COMMIT}/xdgmime-${MY_XDGMIME_COMMIT}.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ app-text/docbook-xml-dtd:4.1.2
+ app-text/xmlto
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/libxml2
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( HACKING.md NEWS README.md )
+
+src_prepare() {
+ default
+
+ if use test ; then
+ # Drop empty dir (it's a submodule in upstream git repo)
+ rm -r "${S}"/xdgmime || die
+ # Lead Meson to our snapshot
+ ln -s "${WORKDIR}"/xdgmime-${MY_XDGMIME_COMMIT} xdgmime || die
+ # Don't break parallel make
+ sed -i -e 's:make:$(MAKE):' xdgmime/Makefile || die
+ fi
+}
+
+src_configure() {
+ # We have to trick Meson into thinking it's there now so that
+ # we can run meson then emake to build xdgmime later, rather than
+ # building before running meson which would mean doing something
+ # unexpected in src_configure.
+ if use test ; then
+ # Paths from https://gitlab.freedesktop.org/xdg/shared-mime-info/-/blob/master/meson.build#L29
+ touch xdgmime/src/{print,test}-mime{,-data} || die
+ chmod +x xdgmime/src/{print,test}-mime{,-data} || die
+ fi
+
+ local emesonargs=(
+ -Dbuild-tools=true
+ -Dupdate-mimedb=false
+ )
+
+ meson_src_configure
+}
+
+src_compile() {
+ if use test ; then
+ tc-export CC
+
+ # xdgmime only has a homebrew Makefile
+ emake -C xdgmime
+ fi
+
+ meson_src_compile
+}
+
+src_install() {
+ meson_src_install
+
+ # in prefix, install an env.d entry such that prefix patch is used/added
+ if use prefix; then
+ echo "XDG_DATA_DIRS=\"${EPREFIX}/usr/share\"" > "${T}"/50mimeinfo || die
+ doenvd "${T}"/50mimeinfo
+ fi
+}
+
+pkg_postinst() {
+ use prefix && export XDG_DATA_DIRS="${EPREFIX}"/usr/share
+ xdg_mimeinfo_database_update
+}