summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/shared-mime-info/shared-mime-info-2.3-r1.ebuild')
-rw-r--r--x11-misc/shared-mime-info/shared-mime-info-2.3-r1.ebuild100
1 files changed, 100 insertions, 0 deletions
diff --git a/x11-misc/shared-mime-info/shared-mime-info-2.3-r1.ebuild b/x11-misc/shared-mime-info/shared-mime-info-2.3-r1.ebuild
new file mode 100644
index 000000000000..e63535b1ac2d
--- /dev/null
+++ b/x11-misc/shared-mime-info/shared-mime-info-2.3-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson 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 ~ia64 ~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
+"
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/libxml2
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( HACKING.md NEWS README.md )
+
+PATCHES=(
+ "${FILESDIR}"/${P}-clang-string-literal.patch
+ "${FILESDIR}"/${P}-fsync-detection.patch
+ "${FILESDIR}"/${P}-wformat.patch
+)
+
+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
+}