contrib/docbook-xml/Pkgfile

70 lines
2.7 KiB
Plaintext

# Description: An document type definitions for verification of XML data files against the DocBook rule set.
# URL: http://www.docbook.org/
# Maintainer: John McQuah, jmcquah at disroot dot org
# Depends on: libxml2 unzip
name=docbook-xml
version=4.5
release=8
source=(https://docbook.org/xml/$version/$name-$version.zip
https://docbook.org/xml/4.4/$name-4.4.zip
https://docbook.org/xml/4.3/$name-4.3.zip
https://docbook.org/xml/4.2/$name-4.2.zip)
renames=($name-$version.zyp
$name-4.4.zyp
$name-4.3.zyp
$name-4.2.zyp)
build() {
# map module filenames to their descriptions
declare -A DB_DESC
DB_DESC["docbookx.dtd"]="DTD DocBook\$xml V 4.\$vminor"
DB_DESC["calstblx.dtd"]="DTD DocBook\$xml CALS Table Model V 4.\$vminor"
DB_DESC["soextblx.dtd"]="DTD XML Exchange Table Model 1990315"
DB_DESC["dbpoolx.mod"]="ELEMENTS DocBook\$xml Information Pool V 4.\$vminor"
DB_DESC["dbhierx.mod"]="ELEMENTS DocBook\$xml Document Hierarchy V 4.\$vminor"
DB_DESC["htmltblx.mod"]="ELEMENTS DocBook XML HTML Tables V 4.\$vminor"
DB_DESC["dbnotnx.mod"]="ENTITIES DocBook\$xml Notations V 4.\$vminor"
DB_DESC["dbcentx.mod"]="ENTITIES DocBook\$xml Character Entities V 4.\$vminor"
DB_DESC["dbgenent.mod"]="ENTITIES DocBook\$xml Additional General Entities V 4.\$vminor"
# create initial docbook-xml catalog
CATALOG="$PKG/etc/xml/$name"
install -d "$PKG/etc/xml"
xmlcatalog --noout --create "$CATALOG"
# add each version to the initial catalog
for vminor in 5 4 3 2; do
dest="/usr/share/xml/docbook/xml-dtd-4.$vminor"
install -d -m755 "$PKG$dest"
bsdtar xf "$SRC/$name-4.$vminor.zyp" --uid 0 --gid 0 -C "$PKG$dest" \
&& mv "$PKG$dest/catalog.xml" "$PKG$dest/catalog"
[ "$vminor" -lt 4 ] && xml="" || xml=" XML"
cd "$PKG$dest"
for DB_MOD in *.dtd *.mod; do
xmlcatalog --noout --add "public" \
"-//OASIS//$(eval echo "${DB_DESC[$DB_MOD]}")//EN" \
"http://www.oasis-open.org/docbook/xml/4.$vminor/$DB_MOD" \
"$CATALOG"
done
xmlcatalog --noout --add "rewriteSystem" \
"http://www.oasis-open.org/docbook/xml/4.$vminor" \
"file://$dest" "$CATALOG"
xmlcatalog --noout --add "rewriteURI" \
"http://www.oasis-open.org/docbook/xml/4.$vminor" \
"file://$dest" "$CATALOG"
done
# special treatment for version 4.1.2
dir412=$PKG/usr/share/xml/docbook/xml-dtd-4.2
sed -e 's|V4.2|V4.1.2|g' "${dir412}/catalog" > "${dir412}/catalog-4.1.2"
xmlcatalog --noout --add "rewriteSystem" \
"http://www.oasis-open.org/docbook/xml/4.1.2" \
"file:///usr/share/xml/docbook/xml-dtd-4.2" "$CATALOG"
# fix permissions and delete junk files
find $PKG -type f \( -perm -g=r -o -perm -g=w \) -exec chmod -g=rw '{}' +
find $PKG \( -name "README" -o -name "ChangeLog" \) -delete
}