summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2020-08-14 20:55:12 +0200
committerAndreas Sturmlechner <asturm@gentoo.org>2020-08-14 22:06:19 +0200
commitaaf73c7977ac8e68d7f9b161d5b8672afca9f92c (patch)
tree2fff4ee9ce1abc51c13255b2c085618f86da881e /eclass
parentperl-app.eclass: Add last state before Gentoo ebuild repo removal (diff)
downloadkde-sunset-aaf73c7977ac8e68d7f9b161d5b8672afca9f92c.tar.gz
kde-sunset-aaf73c7977ac8e68d7f9b161d5b8672afca9f92c.tar.bz2
kde-sunset-aaf73c7977ac8e68d7f9b161d5b8672afca9f92c.zip
sgml-catalog.eclass: Add last state before Gentoo ebuild repo removal
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r--eclass/sgml-catalog.eclass106
1 files changed, 106 insertions, 0 deletions
diff --git a/eclass/sgml-catalog.eclass b/eclass/sgml-catalog.eclass
new file mode 100644
index 00000000..17940767
--- /dev/null
+++ b/eclass/sgml-catalog.eclass
@@ -0,0 +1,106 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# @DEAD
+# All consumers are gone. Removal in 14 days
+
+# @ECLASS: sgml-catalog.eclass
+# @MAINTAINER:
+# kde-sunset overlay maintainers
+# @AUTHOR:
+# Author Matthew Turk <satai@gentoo.org>
+# @BLURB: Functions for installing SGML catalogs
+
+case ${EAPI:-0} in
+ 0|1|2|3|4|5) inherit base ;;
+ *) ;;
+esac
+
+DEPEND=">=app-text/sgml-common-0.6.3-r2"
+
+# @ECLASS-VARIABLE: SGML_TOINSTALL
+# @DESCRIPTION:
+# An array of catalogs, arranged in pairs.
+# Each pair consists of a centralized catalog followed by an ordinary catalog.
+SGML_TOINSTALL=()
+
+# @FUNCTION: sgml-catalog_cat_include
+# @USAGE: <centralized catalog> <ordinary catalog>
+# @DESCRIPTION:
+# Appends a catalog pair to the SGML_TOINSTALL array.
+sgml-catalog_cat_include() {
+ debug-print function $FUNCNAME $*
+ SGML_TOINSTALL+=("$1" "$2")
+}
+
+# @FUNCTION: sgml-catalog_cat_doinstall
+# @USAGE: <centralized catalog> <ordinary catalog>
+# @DESCRIPTION:
+# Adds an ordinary catalog to a centralized catalog.
+sgml-catalog_cat_doinstall() {
+ debug-print function $FUNCNAME $*
+ has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
+ "${EPREFIX}"/usr/bin/install-catalog --add "${EPREFIX}$1" "${EPREFIX}$2" &>/dev/null
+}
+
+# @FUNCTION: sgml-catalog_cat_doremove
+# @USAGE: <centralized catalog> <ordinary catalog>
+# @DESCRIPTION:
+# Removes an ordinary catalog from a centralized catalog.
+sgml-catalog_cat_doremove() {
+ debug-print function $FUNCNAME $*
+ has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
+ "${EPREFIX}"/usr/bin/install-catalog --remove "${EPREFIX}$1" "${EPREFIX}$2" &>/dev/null
+}
+
+sgml-catalog_pkg_postinst() {
+ debug-print function $FUNCNAME $*
+ has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
+
+ set -- "${SGML_TOINSTALL[@]}"
+
+ while (( $# )); do
+ if [[ ! -e "${EPREFIX}$2" ]]; then
+ ewarn "${EPREFIX}$2 doesn't appear to exist, although it ought to!"
+ shift 2
+ continue
+ fi
+ einfo "Now adding ${EPREFIX}$2 to ${EPREFIX}$1 and ${EPREFIX}/etc/sgml/catalog"
+ sgml-catalog_cat_doinstall "$1" "$2"
+ shift 2
+ done
+ sgml-catalog_cleanup
+}
+
+sgml-catalog_pkg_prerm() {
+ sgml-catalog_cleanup
+}
+
+sgml-catalog_pkg_postrm() {
+ debug-print function $FUNCNAME $*
+ has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
+
+ set -- "${SGML_TOINSTALL[@]}"
+
+ while (( $# )); do
+ einfo "Now removing ${EPREFIX}$2 from ${EPREFIX}$1 and ${EPREFIX}/etc/sgml/catalog"
+ sgml-catalog_cat_doremove "$1" "$2"
+ shift 2
+ done
+}
+
+sgml-catalog_cleanup() {
+ has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
+ if [ -e "${EPREFIX}/usr/bin/gensgmlenv" ]
+ then
+ einfo Regenerating SGML environment variables ...
+ gensgmlenv
+ grep -v export "${EPREFIX}/etc/sgml/sgml.env" > "${EPREFIX}/etc/env.d/93sgmltools-lite"
+ fi
+}
+
+sgml-catalog_src_compile() {
+ return
+}
+
+EXPORT_FUNCTIONS pkg_postrm pkg_postinst src_compile pkg_prerm