commit: 3ff2796cfb2595591346107af0817705dbef95ce Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr> AuthorDate: Wed Aug 20 05:52:35 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sat Sep 6 14:36:06 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3ff2796c
x11-misc/shared-mime-info: add python for test Add python-any-r1 eclass because testsuite calls python scripts. Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/43503 Closes: https://github.com/gentoo/gentoo/pull/43503 Signed-off-by: Sam James <sam <AT> gentoo.org> .../shared-mime-info-2.4-r3.ebuild | 105 +++++++++++++++++++++ 1 file changed, 105 insertions(+) diff --git a/x11-misc/shared-mime-info/shared-mime-info-2.4-r3.ebuild b/x11-misc/shared-mime-info/shared-mime-info-2.4-r3.ebuild new file mode 100644 index 000000000000..bfa55f2caf18 --- /dev/null +++ b/x11-misc/shared-mime-info/shared-mime-info-2.4-r3.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) + +inherit meson python-any-r1 xdg-utils + +# 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="179296748e92bd91bf531656632a1056307fb7b7" +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.bz2" +SRC_URI+=" test? ( https://gitlab.freedesktop.org/xdg/xdgmime/-/archive/${MY_XDGMIME_COMMIT}/xdgmime-${MY_XDGMIME_COMMIT}.tar.bz2 )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND=" + app-text/docbook-xml-dtd:4.1.2 + app-text/xmlto + sys-devel/gettext + virtual/pkgconfig + test? ( ${PYTHON_DEPS} ) +" +RDEPEND=" + dev-libs/glib:2 + dev-libs/libxml2:= +" +DEPEND="${RDEPEND}" + +DOCS=( HACKING.md NEWS README.md ) + +PATCHES=( + "${FILESDIR}"/${P}-libxml2.12.patch +) + +pkg_setup() { + use test && python-any-r1_pkg_setup +} + +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 + mkdir "${WORKDIR}"/xdgmime_build || die + ln -s "${WORKDIR}"/xdgmime_build 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 + mkdir xdgmime/src || die + touch xdgmime/src/{print,test}-mime{,-data} || die + chmod +x xdgmime/src/{print,test}-mime{,-data} || die + + BUILD_DIR="${WORKDIR}"/xdgmime_build EMESON_SOURCE="${WORKDIR}"/xdgmime-${MY_XDGMIME_COMMIT} meson_src_configure + fi + + local emesonargs=( + -Dbuild-tools=true + -Dupdate-mimedb=false + $(meson_use test build-tests) + ) + + meson_src_configure +} + +src_compile() { + if use test ; then + meson_src_compile -C "${WORKDIR}"/xdgmime_build + 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 +}
