diff --git a/app-text/docbook-xml-4.5.PKGBUILD b/app-text/docbook-xml-4.5.PKGBUILD new file mode 100644 index 0000000..2c48244 --- /dev/null +++ b/app-text/docbook-xml-4.5.PKGBUILD @@ -0,0 +1,149 @@ +pkgname=docbook-xml +pkgver=4.5 +pkgdesc="A widely used XML scheme for writing documentation and help" +homepage="https://www.oasis-open.org/docbook/" +arch=(any) +license=(MIT) +sources=("${pkgname}-${pkgver}.zip") +urls=("https://www.docbook.org/xml/${pkgver}/${sources[0]}") +md5sums=("03083e288e87a7e829e437358da7ef9e") + +_compat_4x=(4.1.2 4.2 4.3 4.4) + +src_prepare() { + local z="${distdir}/${sources[0]}" + bsdtar -xf "$z" +} + +src_install() { + local dtd_dir="${pkgdir}/usr/share/xml/docbook/xml-dtd-${pkgver}" + local etc_xml="${pkgdir}/etc/xml" + local cat_docbook="${etc_xml}/docbook" + + install -v -d -m755 "$dtd_dir" + cp -v -af --no-preserve=ownership docbook.cat *.dtd ent/ *.mod "$dtd_dir" + + install -v -d -m755 "$etc_xml" + xmlcatalog --noout --create "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//DTD DocBook XML V${pkgver}//EN" \ + "http://www.oasis-open.org/docbook/xml/${pkgver}/docbookx.dtd" \ + "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//DTD DocBook XML CALS Table Model V${pkgver}//EN" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}/calstblx.dtd" \ + "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}/soextblx.dtd" \ + "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//ELEMENTS DocBook XML Information Pool V${pkgver}//EN" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbpoolx.mod" \ + "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V${pkgver}//EN" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbhierx.mod" \ + "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//ELEMENTS DocBook XML HTML Tables V${pkgver}//EN" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}/htmltblx.mod" \ + "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//ENTITIES DocBook XML Notations V${pkgver}//EN" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbnotnx.mod" \ + "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//ENTITIES DocBook XML Character Entities V${pkgver}//EN" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbcentx.mod" \ + "$cat_docbook" + + xmlcatalog --noout --add "public" \ + "-//OASIS//ENTITIES DocBook XML Additional General Entities V${pkgver}//EN" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}/dbgenent.mod" \ + "$cat_docbook" + + xmlcatalog --noout --add "rewriteSystem" \ + "http://www.oasis-open.org/docbook/xml/${pkgver}" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}" \ + "$cat_docbook" + + xmlcatalog --noout --add "rewriteURI" \ + "http://www.oasis-open.org/docbook/xml/${pkgver}" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}" \ + "$cat_docbook" + + for DTDVERSION in "${_compat_4x[@]}"; do + xmlcatalog --noout --add "public" \ + "-//OASIS//DTD DocBook XML V${DTDVERSION}//EN" \ + "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/docbookx.dtd" \ + "$cat_docbook" + + xmlcatalog --noout --add "rewriteSystem" \ + "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}" \ + "$cat_docbook" + + xmlcatalog --noout --add "rewriteURI" \ + "http://www.oasis-open.org/docbook/xml/${DTDVERSION}" \ + "file:///usr/share/xml/docbook/xml-dtd-${pkgver}" \ + "$cat_docbook" + done + + # Fix permissions + find "$pkgdir" -type f -exec chmod -c a-x {} + + chmod -Rc u=rwX,go=rX "$pkgdir" +} + +src_postinstall() { + install -v -d -m755 /etc/xml + + if [ ! -e /etc/xml/catalog ]; then + xmlcatalog --noout --create /etc/xml/catalog + fi + + xmlcatalog --noout --add "delegatePublic" \ + "-//OASIS//ENTITIES DocBook XML" \ + "file:///etc/xml/docbook" \ + /etc/xml/catalog + + xmlcatalog --noout --add "delegatePublic" \ + "-//OASIS//DTD DocBook XML" \ + "file:///etc/xml/docbook" \ + /etc/xml/catalog + + xmlcatalog --noout --add "delegateSystem" \ + "http://www.oasis-open.org/docbook/" \ + "file:///etc/xml/docbook" \ + /etc/xml/catalog + + xmlcatalog --noout --add "delegateURI" \ + "http://www.oasis-open.org/docbook/" \ + "file:///etc/xml/docbook" \ + /etc/xml/catalog + + for DTDVERSION in "${_compat_4x[@]}"; do + xmlcatalog --noout --add "delegateSystem" \ + "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" \ + "file:///etc/xml/docbook" \ + /etc/xml/catalog + xmlcatalog --noout --add "delegateURI" \ + "http://www.oasis-open.org/docbook/xml/${DTDVERSION}/" \ + "file:///etc/xml/docbook" \ + /etc/xml/catalog + done +} + +src_postremove() { + if [ -e /etc/xml/catalog ]; then + xmlcatalog --noout --del "file:///etc/xml/docbook" /etc/xml/catalog + fi +}