From ca5bf733a5e7a2556829310428baff4fff6e185b Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Fri, 16 Aug 2019 01:33:08 +0300 Subject: [PATCH] add docbook-xsl (dependency for asciidoc) --- packages/asciidoc/build.sh | 8 +- .../765567_non-recursive_string_subst.patch | 32 +++++++ packages/docbook-xsl/build.sh | 92 +++++++++++++++++++ 3 files changed, 128 insertions(+), 4 deletions(-) create mode 100644 packages/docbook-xsl/765567_non-recursive_string_subst.patch create mode 100644 packages/docbook-xsl/build.sh diff --git a/packages/asciidoc/build.sh b/packages/asciidoc/build.sh index 4f43c5f04..77ac19a93 100644 --- a/packages/asciidoc/build.sh +++ b/packages/asciidoc/build.sh @@ -1,10 +1,11 @@ TERMUX_PKG_HOMEPAGE=http://asciidoc.org -TERMUX_PKG_DESCRIPTION="Text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs" +TERMUX_PKG_DESCRIPTION="Text document format for short documents, articles, books and UNIX man pages." TERMUX_PKG_LICENSE="GPL-2.0" TERMUX_PKG_VERSION=8.6.10 TERMUX_PKG_SRCURL=https://github.com/asciidoc/asciidoc/archive/${TERMUX_PKG_VERSION}.tar.gz TERMUX_PKG_SHA256=9e52f8578d891beaef25730a92a6e723596ddbd07bfe0d2a56486fcf63a0b983 -TERMUX_PKG_DEPENDS="libxslt, python2" +TERMUX_PKG_DEPENDS="docbook-xsl, libxslt, python2" +TERMUX_PKG_SUGGESTS="lynx, w3m" TERMUX_PKG_BUILD_IN_SRC=true termux_step_pre_configure() { @@ -15,6 +16,5 @@ termux_step_pre_configure() { termux_step_post_make_install() { make docs install -Dm644 asciidocapi.py \ - $TERMUX_PREFIX/lib/python2.7/site-packages/asciidocapi.py - + $TERMUX_PREFIX/lib/python2.7/site-packages/asciidocapi.py } diff --git a/packages/docbook-xsl/765567_non-recursive_string_subst.patch b/packages/docbook-xsl/765567_non-recursive_string_subst.patch new file mode 100644 index 000000000..ae845ad00 --- /dev/null +++ b/packages/docbook-xsl/765567_non-recursive_string_subst.patch @@ -0,0 +1,32 @@ +Description: use EXSLT "replace" function when available + A recursive implementation of string.subst is problematic, + long strings with many matches will cause stack overflows. +Author: Peter De Wachter +Bug-Debian: https://bugs.debian.org/750593 + +--- docbook-xsl-1.78.1+dfsg.orig/docbook-xsl/lib/lib.xsl ++++ docbook-xsl-1.78.1+dfsg/docbook-xsl/lib/lib.xsl +@@ -6,7 +6,11 @@ + + This module implements DTD-independent functions + +- ******************************************************************** --> ++ ******************************************************************** --> ++ + + + +@@ -52,6 +56,9 @@ + + + ++ ++ ++ + + + + diff --git a/packages/docbook-xsl/build.sh b/packages/docbook-xsl/build.sh new file mode 100644 index 000000000..ce37b69c9 --- /dev/null +++ b/packages/docbook-xsl/build.sh @@ -0,0 +1,92 @@ +TERMUX_PKG_HOMEPAGE=https://docbook.org/ +TERMUX_PKG_DESCRIPTION="XML stylesheets for Docbook-xml transformations" +TERMUX_PKG_LICENSE="MIT" +TERMUX_PKG_VERSION=1.79.2 +TERMUX_PKG_DEPENDS="docbook-xml, libxml2-utils, libxslt" +TERMUX_PKG_PLATFORM_INDEPENDENT=true +TERMUX_PKG_BUILD_IN_SRC=true + +termux_step_extract_package() { + mkdir -p $TERMUX_PKG_SRCDIR + + cd $TERMUX_PKG_SRCDIR + + termux_download "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${TERMUX_PKG_VERSION}/docbook-xsl-$TERMUX_PKG_VERSION.tar.gz" \ + $TERMUX_PKG_CACHEDIR/docbook-xsl-$TERMUX_PKG_VERSION.tar.gz \ + 966188d7c05fc76eaca115a55893e643dd01a3486f6368733c9ad974fcee7a26 + + tar xf $TERMUX_PKG_CACHEDIR/docbook-xsl-$TERMUX_PKG_VERSION.tar.gz + + termux_download "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F${TERMUX_PKG_VERSION}/docbook-xsl-nons-$TERMUX_PKG_VERSION.tar.gz" \ + $TERMUX_PKG_CACHEDIR/docbook-xsl-nons-$TERMUX_PKG_VERSION.tar.gz \ + f89425b44e48aad24319a2f0d38e0cb6059fdc7dbaf31787c8346c748175ca8e + + tar xf $TERMUX_PKG_CACHEDIR/docbook-xsl-nons-$TERMUX_PKG_VERSION.tar.gz +} + +termux_step_patch_package() { + cd $TERMUX_PKG_SRCDIR/docbook-xsl-$TERMUX_PKG_VERSION + patch -Np2 -i $TERMUX_PKG_BUILDER_DIR/765567_non-recursive_string_subst.patch + + cd $TERMUX_PKG_SRCDIR/docbook-xsl-nons-$TERMUX_PKG_VERSION + patch -Np2 -i $TERMUX_PKG_BUILDER_DIR/765567_non-recursive_string_subst.patch +} + +termux_step_make_install() { + local pkgroot ns dir + + for ns in -nons ''; do + pkgroot="$TERMUX_PREFIX/share/xml/docbook/xsl-stylesheets-${TERMUX_PKG_VERSION}${ns}" + dir=docbook-xsl${ns}-${TERMUX_PKG_VERSION} + + install -Dt "$pkgroot" -m600 $dir/VERSION{,.xsl} + + ( + shopt -s nullglob # ignore missing files + for fn in assembly common eclipse epub epub3 fo highlighting html \ + htmlhelp javahelp lib manpages params profiling roundtrip template \ + website xhtml xhtml-1_1 xhtml5 + do + install -Dt "${pkgroot}/${fn}" -m600 ${dir}/${fn}/*.{xml,xsl,dtd,ent} + done + ) + done +} + +termux_step_create_debscripts() { + cat <<- EOF > ./postinst + #!$TERMUX_PREFIX/bin/sh + if [ "\$1" = "configure" ]; then + if [ ! -e "$TERMUX_PREFIX/etc/xml/catalog" ]; then + xmlcatalog --noout --create "$TERMUX_PREFIX/etc/xml/catalog" + else + xmlcatalog --noout --del "$TERMUX_PREFIX/share/xml/docbook/xsl-stylesheets-$TERMUX_PKG_VERSION" \ + "$TERMUX_PREFIX/etc/xml/catalog" + fi + + for ver in $TERMUX_PKG_VERSION current; do + for x in rewriteSystem rewriteURI; do + xmlcatalog --noout --add \$x http://cdn.docbook.org/release/xsl/\$ver \ + "$TERMUX_PREFIX/share/xml/docbook/xsl-stylesheets-$TERMUX_PKG_VERSION" \ + "$TERMUX_PREFIX/etc/xml/catalog" + + xmlcatalog --noout --add \$x http://docbook.sourceforge.net/release/xsl-ns/\$ver \ + "$TERMUX_PREFIX/share/xml/docbook/xsl-stylesheets-$TERMUX_PKG_VERSION" \ + "$TERMUX_PREFIX/etc/xml/catalog" + + xmlcatalog --noout --add \$x http://docbook.sourceforge.net/release/xsl/\$ver \ + "$TERMUX_PREFIX/share/xml/docbook/xsl-stylesheets-${TERMUX_PKG_VERSION}-nons" \ + "$TERMUX_PREFIX/etc/xml/catalog" + done + done + fi + EOF + + cat <<- EOF > ./prerm + #!$TERMUX_PREFIX/bin/sh + if [ "\$1" = "remove" ]; then + xmlcatalog --noout --del "$TERMUX_PREFIX/share/xml/docbook/xsl-stylesheets-$TERMUX_PKG_VERSION" \ + "$TERMUX_PREFIX/etc/xml/catalog" + fi + EOF +}