# Maintainer: Alexey Pavlov <Alexpux@gmail.com>

pkgname=docbook-xml
pkgver=4.5
pkgrel=4
pkgdesc="A widely used XML scheme for writing documentation and help"
arch=('any')
url="https://www.oasis-open.org/docbook/"
license=('MIT')
depends=('libxml2')
install=docbook-xml.install
source=('https://www.docbook.org/xml/4.5/docbook-xml-4.5.zip'
        'https://www.docbook.org/xml/4.4/docbook-xml-4.4.zip'
        'https://www.docbook.org/xml/4.3/docbook-xml-4.3.zip'
        'https://www.docbook.org/xml/4.2/docbook-xml-4.2.zip'
        'https://www.docbook.org/xml/4.1.2/docbkx412.zip'
        'LICENSE'
        '4.1.2-add-catalog.all.patch'
        '4.2-Add-system.all.patch'
        '4.3-Add-system-and-htmltbl.all.patch')
noextract=('docbook-xml-4.5.zip' 'docbook-xml-4.4.zip' 'docbook-xml-4.3.zip' 'docbook-xml-4.2.zip' 'docbkx412.zip')
sha256sums=('4e4e037a2b83c98c6c94818390d4bdd3f6e10f6ec62dd79188594e26190dc7b4'
            '02f159eb88c4254d95e831c51c144b1863b216d909b5ff45743a1ce6f5273090'
            '23068a94ea6fd484b004c5a73ec36a66aa47ea8f0d6b62cc1695931f5c143464'
            'acc4601e4f97a196076b7e64b368d9248b07c7abf26b34a02cca40eeebe60fa2'
            '30f0644064e0ea71751438251940b1431f46acada814a062870f486c772e7772'
            '7192185ff28f3a7693eccfd319d541f30494f629408bc29e09931c9dec6a3594'
            '100b85e6b1f4b676765ad718d6f75e4f85b921376282f368e1131774ba29e491'
            '323de7ae4c74f6eaba3d41c4b6a312b140b40d39ad93ae8dd3fa9e88bcfd079b'
            '93d3267fa285d7f16aec93392b032d8b8043f3d3779708a3859671e11a3ffed3')

package() {

  for ver in 4.2 4.3 4.4 4.5; do
    mkdir docbook-xml-${ver}
    pushd docbook-xml-${ver}
    bsdtar xf "${startdir}/docbook-xml-${ver}.zip"
    case $ver in
      4.2)
        patch -p1 -i ${srcdir}/4.2-Add-system.all.patch
      ;;
      4.3)
        patch -p1 -i ${srcdir}/4.3-Add-system-and-htmltbl.all.patch
      ;;
      4.4)
      ;;
      4.5)
      ;;
    esac
    mkdir -p "${pkgdir}/usr/share/xml/docbook/xml-dtd-${ver}"
    cp -dRf docbook.cat *.dtd ent/ *.mod \
        "${pkgdir}/usr/share/xml/docbook/xml-dtd-${ver}/"
    popd
  done
  mkdir docbook-xml-4.1.2
  pushd docbook-xml-4.1.2
  bsdtar xf "${startdir}/docbkx412.zip"
  patch -p1 -i ${srcdir}/4.1.2-add-catalog.all.patch
  mkdir -p "${pkgdir}/usr/share/xml/docbook/xml-dtd-4.1.2"
  cp -dRf docbook.cat *.dtd ent/ *.mod \
      "${pkgdir}/usr/share/xml/docbook/xml-dtd-4.1.2/"
  popd

  mkdir -p "${pkgdir}/etc/xml"
  xmlcatalog --noout --create "${pkgdir}/etc/xml/docbook-xml"

  # V4.1.2
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V4.1.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/calstblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/calstblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/soextblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/dbpoolx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/dbhierx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/dbgenent.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/dbnotnx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/4.1.2" \
    "file:///usr/share/xml/docbook/xml-dtd-4.1.2" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/4.1.2" \
    "file:///usr/share/xml/docbook/xml-dtd-4.1.2" \
    "${pkgdir}/etc/xml/docbook-xml"

  # V4.2
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V4.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook CALS Table Model V4.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.2/calstblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
    "http://www.oasis-open.org/docbook/xml/4.2/soextblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.2/dbpoolx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.2/dbhierx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.2/dbgenent.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Notations V4.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.2/dbnotnx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Character Entities V4.2//EN" \
    "http://www.oasis-open.org/docbook/xml/4.2/dbcentx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/4.2" \
    "file:///usr/share/xml/docbook/xml-dtd-4.2" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/4.2" \
    "file:///usr/share/xml/docbook/xml-dtd-4.2" \
    "${pkgdir}/etc/xml/docbook-xml"

  # V4.3
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V4.3//EN" \
    "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook CALS Table Model V4.3//EN" \
    "http://www.oasis-open.org/docbook/xml/4.3/calstblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
    "http://www.oasis-open.org/docbook/xml/4.3/soextblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook Information Pool V4.3//EN" \
    "http://www.oasis-open.org/docbook/xml/4.3/dbpoolx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.3//EN" \
    "http://www.oasis-open.org/docbook/xml/4.3/dbhierx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Additional General Entities V4.3//EN" \
    "http://www.oasis-open.org/docbook/xml/4.3/dbgenent.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Notations V4.3//EN" \
    "http://www.oasis-open.org/docbook/xml/4.3/dbnotnx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Character Entities V4.3//EN" \
    "http://www.oasis-open.org/docbook/xml/4.3/dbcentx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/4.3" \
    "file:///usr/share/xml/docbook/xml-dtd-4.3" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/4.3" \
    "file:///usr/share/xml/docbook/xml-dtd-4.3" \
    "${pkgdir}/etc/xml/docbook-xml"

  # V4.4
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V4.4//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook CALS Table Model V4.4//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/calstblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.4//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/htmltblx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/soextblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook Information Pool V4.4//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/dbpoolx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.4//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/dbhierx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Additional General Entities V4.4//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/dbgenent.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Notations V4.4//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/dbnotnx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook Character Entities V4.4//EN" \
    "http://www.oasis-open.org/docbook/xml/4.4/dbcentx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/4.4" \
    "file:///usr/share/xml/docbook/xml-dtd-4.4" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/4.4" \
    "file:///usr/share/xml/docbook/xml-dtd-4.4" \
    "${pkgdir}/etc/xml/docbook-xml"

  # V4.5
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML V4.5//EN" \
    "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "public" \
    "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteSystem" \
    "http://www.oasis-open.org/docbook/xml/4.5" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    "${pkgdir}/etc/xml/docbook-xml"
  xmlcatalog --noout --add "rewriteURI" \
    "http://www.oasis-open.org/docbook/xml/4.5" \
    "file:///usr/share/xml/docbook/xml-dtd-4.5" \
    "${pkgdir}/etc/xml/docbook-xml"

# license
  install -D -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
