| # Copyright 1999-2020 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=7 |
| |
| inherit prefix sgml-catalog-r1 |
| |
| DESCRIPTION="Base ISO character entities and utilities for SGML" |
| HOMEPAGE="https://www.iso.org/standard/16387.html" |
| SRC_URI="https://dev.gentoo.org/~floppym/dist/${PN}/${P}-gentoo.tar.gz" |
| |
| # install-catalog is GPL |
| LICENSE="FDL-1.1+ GPL-2" |
| SLOT="0" |
| KEYWORDS="*" |
| IUSE="" |
| |
| DEPEND="" |
| RDEPEND="" |
| |
| PATCHES=( "${FILESDIR}"/${P}-prefix.patch ) |
| |
| src_prepare() { |
| # We use a hacked version of install-catalog that supports the ROOT |
| # variable, puts quotes around the CATALOG files, and can be prefixed. |
| cp "${FILESDIR}/${P}-install-catalog.in" "${S}/bin/install-catalog.in" \ |
| || die "Copy of install-catalog.in failed" |
| |
| default |
| eprefixify bin/install-catalog.in bin/sgmlwhich config/sgml.conf |
| } |
| |
| src_install() { |
| default |
| |
| # own /etc/sgml/catalog |
| insinto /etc/sgml |
| newins - catalog <<<'' |
| newins - sgml-ent.cat <<-EOF |
| CATALOG "${EPREFIX}/usr/share/sgml/sgml-iso-entities-8879.1986/catalog" |
| EOF |
| newins - sgml-docbook.cat <<-EOF |
| CATALOG "${EPREFIX}/etc/sgml/sgml-ent.cat" |
| EOF |
| } |
| |
| pkg_preinst() { |
| # preserve old files |
| local f |
| for f in /etc/sgml/{catalog,sgml-docbook.cat}; do |
| if [[ -s ${EROOT}${f} ]]; then |
| cp "${EROOT}${f}" "${ED}${f}" || die |
| fi |
| done |
| |
| # and back them up in case postrm killed them |
| for f in sgml-ent.cat sgml-docbook.cat; do |
| cp "${ED}/etc/sgml/${f}" "${T}" || die |
| done |
| } |
| |
| pkg_postinst() { |
| # restore backed up files if necessary |
| for f in sgml-ent.cat sgml-docbook.cat; do |
| if ! cmp -s "${T}/${f}" "${EROOT}/etc/sgml/${f}"; then |
| cp "${T}/${f}" "${EROOT}"/etc/sgml/ || die |
| fi |
| done |
| |
| # re-append sgml-ent.cat if necessary |
| if ! grep -q -s sgml-ent.cat "${EROOT}/etc/sgml/sgml-docbook.cat"; then |
| ebegin "Adding sgml-ent.cat to /etc/sgml/sgml-docbook.cat" |
| cat >> "${EROOT}/etc/sgml/sgml-docbook.cat" <<-EOF |
| CATALOG "${EPREFIX}/etc/sgml/sgml-ent.cat" |
| EOF |
| eend ${?} |
| fi |
| |
| sgml-catalog-r1_pkg_postinst |
| } |
| |
| pkg_postrm() { |
| if [[ -z ${REPLACED_BY_VERSION} ]]; then |
| ebegin "Removing sgml-ent.cat from /etc/sgml/sgml-docbook.cat" |
| sed -i -e '/sgml-ent\.cat/d' \ |
| "${EROOT}"/etc/sgml/sgml-docbook.cat |
| eend ${?} |
| if [[ ! -s ${EROOT}/etc/sgml/sgml-docbook.cat ]]; then |
| rm -f "${EROOT}"/etc/sgml/sgml-docbook.cat |
| fi |
| fi |
| |
| sgml-catalog-r1_pkg_postrm |
| } |