commit:     5b5534feec1ab9b284d9aa52af2b3d79b3acb5e9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 29 23:55:07 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Mar 30 03:17:25 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b5534fe

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 <AT> gentoo.org>

 x11-misc/shared-mime-info/Manifest                 |  2 +
 .../shared-mime-info/shared-mime-info-2.2.ebuild   | 93 ++++++++++++++++++++++
 2 files changed, 95 insertions(+)

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
+}

Reply via email to