From 3bdcae62e9f5c435e8f566c333f6ca01a7cdb21e Mon Sep 17 00:00:00 2001 From: Gilles Dartiguelongue Date: Sat, 21 Nov 2015 11:31:29 +0100 Subject: xdg.eclass: initial commit Goal of this eclass is to end the inconsistent and often forgotten use of fdo-mime.eclass. Provides all needed phases for proper behavior. https://bugs.gentoo.org/show_bug.cgi?id=208047 --- eclass/xdg.eclass | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 eclass/xdg.eclass (limited to 'eclass') diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass new file mode 100644 index 000000000000..799d6a2076ad --- /dev/null +++ b/eclass/xdg.eclass @@ -0,0 +1,61 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# @ECLASS: xdg.eclass +# @MAINTAINER: +# freedesktop-bugs@gentoo.org +# @AUTHOR: +# Original author: Gilles Dartiguelongue +# @BLURB: Provides phases for XDG compliant packages. +# @DESCRIPTION: +# Utility eclass to update the desktop and shared mime info as laid +# out in the freedesktop specs & implementations + +inherit xdg-utils + +case "${EAPI:-0}" in + 4|5|6) + EXPORT_FUNCTIONS src_prepare pkg_preinst pkg_postinst pkg_postrm + ;; + *) die "EAPI=${EAPI} is not supported" ;; +esac + +DEPEND=" + dev-util/desktop-file-utils + x11-misc/shared-mime-info +" + +# @FUNCTION: xdg_src_prepare +# @DESCRIPTION: +# Prepare sources to work with XDG standards. +xdg_src_prepare() { + xdg_environment_reset + + has ${EAPI:-0} 6 && eapply_user +} + +# @FUNCTION: xdg_pkg_preinst +# @DESCRIPTION: +# Finds .desktop and mime info files for later handling in pkg_postinst +xdg_pkg_preinst() { + xdg_desktopfiles_savelist + xdg_mimeinfo_savelist +} + +# @FUNCTION: xdg_pkg_postinst +# @DESCRIPTION: +# Handle desktop and mime info database updates. +xdg_pkg_postinst() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + +# @FUNCTION: xdg_pkg_postrm +# @DESCRIPTION: +# Handle desktop and mime info database updates. +xdg_pkg_postrm() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + -- cgit v1.2.3-65-gdbad