]> git.draconx.ca Git - gentoo-draconx.git/blobdiff - app-text/docbook-mathml-dtd/docbook-mathml-dtd-1.1_rc1-r1.ebuild
app-text/docbook-mathml-dtd: Rewrite ebuild.
[gentoo-draconx.git] / app-text / docbook-mathml-dtd / docbook-mathml-dtd-1.1_rc1-r1.ebuild
diff --git a/app-text/docbook-mathml-dtd/docbook-mathml-dtd-1.1_rc1-r1.ebuild b/app-text/docbook-mathml-dtd/docbook-mathml-dtd-1.1_rc1-r1.ebuild
new file mode 100644 (file)
index 0000000..37188a6
--- /dev/null
@@ -0,0 +1,85 @@
+# Copyright © 2020 Nick Bowler
+# License GPLv3+: GNU General Public License version 3 or any later version.
+# This is free software: you are free to change and redistribute it.
+# There is NO WARRANTY, to the extent permitted by law.
+
+EAPI=7
+
+inherit sgml-catalog-r1
+
+DTDVER=${PV/_rc/CR}
+MY_PN=dbmathml
+MY_P=$MY_PN-$PV
+
+DESCRIPTION="DocBook MathML Module"
+HOMEPAGE="https://docbook.org/xml/mathml/"
+SRC_URI="https://docbook.org/xml/mathml/$DTDVER/$MY_PN.dtd -> $MY_P.dtd"
+
+LICENSE="docbook"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S=$WORKDIR
+
+RDEPEND="dev-libs/libxml2
+       app-text/docbook-xml-dtd:4.3
+       app-text/mathml-xml-dtd"
+
+src_unpack () {
+       cp "$DISTDIR/$A" "$S" || die
+}
+
+src_install () {
+       local insdir="/usr/share/sgml/docbook/${P#docbook-}"
+
+       insinto "$insdir"
+       newins $MY_P.dtd $MY_PN.dtd
+
+       newins - catalog <<-EOF
+               PUBLIC "-//OASIS//DTD DocBook MathML Module V$DTDVER//EN" "$MY_PN.dtd"
+               SYSTEM "http://www.oasis-open.org/docbook/xml/mathml/$DTDVER/dbmathml.dtd" "dbmathml.dtd"
+       EOF
+
+       insinto /etc/sgml
+       newins - mathml-docbook-$PV.cat <<-EOF
+               CATALOG "${EPREFIX#/}$insdir/catalog"
+       EOF
+}
+
+update_catalog () {
+       local insdir="file://${EPREFIX#/}/usr/share/sgml/docbook/${P#docbook-}"
+       local xmlcatalog="${BROOT%/}/usr/bin/xmlcatalog"
+
+       local dtdpublic="-//OASIS//DTD DocBook MathML Module V$DTDVER//EN"
+       local dtduri="http://www.oasis-open.org/docbook/xml/mathml/$DTDVER"
+       local args=()
+
+       command -v "$xmlcatalog" >/dev/null || die
+
+       case $1 in
+       --add)
+               args=( --add public "$dtdpublic" "$insdir/$MY_PN.dtd"
+                          --add rewriteSystem "$dtduri" "$insdir"
+                          --add rewriteURI "$dtduri" "$insdir" )
+               ;;
+       --del)
+               args=( --del "$dtdpublic" --del "$dtduri" )
+               ;;
+       esac
+
+       xmlcatalog --noout "${args[@]}" "${EROOT%/}/etc/xml/docbook"
+}
+
+pkg_postinst () {
+       sgml-catalog-r1_pkg_postinst
+
+       einfo "Adding $P to docbook XML catalog"
+       update_catalog --add
+}
+
+pkg_postrm () {
+       sgml-catalog-r1_pkg_postinst
+
+       einfo "Removing $P from docbook XML catalog"
+       update_catalog --del
+}