diff options
author | Richard Ellis <rellis@dp100.com> | 2014-01-20 00:50:11 +0700 |
---|---|---|
committer | Erik Hanson <erik@slackbuilds.org> | 2014-01-29 23:21:07 -0600 |
commit | 1165f82869fa1719a7aa8a44beedcb4499df813f (patch) | |
tree | c7c1d39bf1adbdd40f196b2498b1f70c7e5a654b | |
parent | 03172f817bb8da51d64553a0fbc5997313ec151c (diff) |
libraries/tDOM: License Update + Build New Extensions.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | libraries/tDOM/README | 6 | ||||
-rw-r--r-- | libraries/tDOM/tDOM.SlackBuild | 90 |
2 files changed, 79 insertions, 17 deletions
diff --git a/libraries/tDOM/README b/libraries/tDOM/README index c27d137aa9f8f..27d7d01af4195 100644 --- a/libraries/tDOM/README +++ b/libraries/tDOM/README @@ -4,3 +4,9 @@ manipulate XML with a scripting language and uses very little memory in the process (for example the DOM tree of the XML recommendation in XML (160K) needs only about 450K in memory)! The tDOM project was started by Jochen Löwer. It is currently maintained by Rolf Ade. + +Note, tDOM ships with two extensions: tnc, an XML validation module and +tdomhtml, a set of definitions for creating html documents using tDOM. The +slackbuild script builds and installs both by default. If you do not wish +to build one or both of these extensions then set the BUILD_TNC and +BUILD_TDOMHTML variables to false as appropriate. diff --git a/libraries/tDOM/tDOM.SlackBuild b/libraries/tDOM/tDOM.SlackBuild index 5c79457397478..d10ce9af666d4 100644 --- a/libraries/tDOM/tDOM.SlackBuild +++ b/libraries/tDOM/tDOM.SlackBuild @@ -2,15 +2,35 @@ # Slackware build script for tDOM -# Written by Richard Ellis <rellis@dp100.com> - -# Released to the public domain, January 2011 +# Copyright 2013-2014 by Richard Ellis (USA) +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=tDOM VERSION=${VERSION:-0.8.3} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} +# set these to false to omit building each as part of tDOM build +BUILD_TNC=${BUILD_TNC:-true} ; # build tnc XML validator module +BUILD_TDOMHTML=${BUILD_TDOMHTML:-true} ; # build tdomhtml html generation module + if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; @@ -56,19 +76,54 @@ find -L . \ # Upstream patch # https://github.com/tDOM/tdom/commit/3dd529139d2f44bb9ecfdcddd27b3d6a8df5ff41#diff-0 patch -p1 < $CWD/tDOM-tcl8.6-compat.patch -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --build=$ARCH-slackware-linux - -make -make test -make install DESTDIR=$PKG + +set -x +# since we are building up to three different packages, reuse the build process +function build { + case $1 in + tnc|tdomhtml) + local EXTRA="--with-tdom=$PKG/usr/lib${LIBDIRSUFFIX}" + local LINK="-L$PKG/usr/lib${LIBDIRSUFFIX}/tdom0.8.3/" ;; + *) + local EXTRA="" + local LINK="" ;; + esac + LDFLAGS="$LINK" \ + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + $EXTRA \ + --build=$ARCH-slackware-linux + + make + if [[ $1 == "tdom" ]] ; then + make test ; # tests are broken for tnc - bug reported to upstream + # tests do not exist for tdomhtml + fi + make install DESTDIR=$PKG +} + +build tdom ; # always build tDOM + +if [[ $BUILD_TNC == "true" ]] ; then + pushd extensions/tnc + build tnc + popd +fi + +if [[ $BUILD_TDOMHTML == "true" ]] ; then + pushd extensions/tdomhtml + build tdomhtml + popd + rm $PKG/usr/man/mann/tdomhtml.n ; # this is an empty file in the src tarball - bug reported to upstream +fi + +set +x find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true @@ -82,6 +137,7 @@ cp -a \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +# Copy the slack-desc (and a custom doinst.sh if necessary) into ./install mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc |