diff options
Diffstat (limited to 'office/fop')
-rw-r--r-- | office/fop/README | 23 | ||||
-rw-r--r-- | office/fop/fop.SlackBuild | 108 | ||||
-rw-r--r-- | office/fop/fop.info | 10 |
3 files changed, 74 insertions, 67 deletions
diff --git a/office/fop/README b/office/fop/README index fe7aab4c22..b12fb8a1cb 100644 --- a/office/fop/README +++ b/office/fop/README @@ -1,11 +1,11 @@ -Apache FOP (Formatting Objects Processor) is a print formatter driven -by XSL formatting objects (XSL-FO) and an output independent formatter. -It is a Java application that reads a formatting object (FO) tree and -renders the resulting pages to a specified output. +Apache FOP (Formatting Objects Processor) is a print formatter +driven by XSL formatting objects (XSL-FO) and an output independent +formatter. It is a Java application that reads a formatting object +(FO) tree and renders the resulting pages to a specified output. Output formats currently supported include PDF, PS, PCL, AFP, XML -(area tree representation), Print, AWT and PNG, and to a lesser extent, -RTF and TXT. The primary output target is PDF. +(area tree representation), Print, AWT and PNG, and to a lesser +extent, RTF and TXT. The primary output target is PDF. The goals of the Apache FOP project are to deliver an XSL-FO to PDF formatter that is compliant to at least the Basic conformance level @@ -13,4 +13,13 @@ described in the W3C Recommendation from 05 December 2006, and that complies with the November 2001 Portable Document Format Specification (Version 1.4) from Adobe Systems. -jai is an optional but recommended dependency. +Conformance to the XML 1.0 and 1.1 Recommendations, XSLT 1.0 and 2.0 +Recommendations and the XML Namespaces Recommendation is understood. +Other relevant documents, such as the XPath and XLink Working Drafts, +are referenced as necessary. The FOP Project will attempt to use the +latest version of evolving specifications. + +The original SB script required apache-maven, which needed to download +over 200 prebuild .jar files. This script now simply repackages the +binary package to avoid all this excessive downloading from within the +script. diff --git a/office/fop/fop.SlackBuild b/office/fop/fop.SlackBuild index 82871cd44f..d7153b6947 100644 --- a/office/fop/fop.SlackBuild +++ b/office/fop/fop.SlackBuild @@ -1,8 +1,9 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for fop # Copyright 2015 Thorn Inurcide USA +# Copyright 2020, 2021, 2023 Lenard Spencer, Orlando, Florida, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,90 +23,85 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 20220412 bkw: Modified by SlackBuilds.org, BUILD=2: +# - remove mention of jai and jai-imageio from README, since we no +# longer have these in the repo. +# - use relative symlink for binary. + +# 20220301 bkw: Modified by SlackBuilds.org: fix build on 15.0. +# The fop-2.6 SlackBuild downloaded 230 prebuilt .jar files during its +# build process. Since we're trusting prebuilt code anyway, and since +# we prefer not to do network access from a SlackBuild, I've made this +# a binary repack: this script no longer builds fop, it just packages +# the official binary release. +# Also updated for version 2.7, and made this a noarch package since +# there's no native code. +# The offo-hyphenation stuff had to change: we have to use the precompiled +# zip file, not the source. See: +# https://xmlgraphics.apache.org/fop/2.7/hyphenation.html + +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=fop -VERSION=${VERSION:-2.4} +VERSION=${VERSION:-2.8} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +ARCH=noarch -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 fi -CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - set -e rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP +mkdir -p $TMP $PKG/opt/$PRGNAM-$VERSION $OUTPUT +cd $PKG/opt rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION-src.tar.gz +tar xvf $CWD/$PRGNAM-$VERSION-bin.tar.gz cd $PRGNAM-$VERSION chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ + -o -perm 511 \) -exec chmod 755 {} \+ -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ -# Fix an Issue with Java 8 (thanks LFS): -sed -i '\@</javad@i\ -<arg value="-Xdoclint:none"/>\ -<arg value="--allow-script-in-comments"/>' fop/build.xml +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKGDOC +mv KEYS LICENSE NOTICE README $PKGDOC -# Increase hyphenation stacksize from 512k to 1M (thanks LFS): -sed -e '/hyph\.stack/s/512k/1M/' -i fop/build.xml +mv $PRGNAM $PRGNAM.old +mv $PRGNAM.old/* . +rmdir $PRGNAM.old -# Compiles with apache-ant: -ant -f fop/build.xml compile -ant -f fop/build.xml jar-main -ant -f fop/build.xml javadocs +# 20220305 bkw: don't need windows stuff +rm -f $PRGNAM.{bat,cmd} -mkdir -p $PKG/opt/$PRGNAM-$VERSION -install -v -d -m755 $PKG/opt/$PRGNAM-$VERSION/ +# 20220305 bkw: OFFO hyphenation can't be distributed with FOP, due +# to licensing issues. Here it's a separate .jar file: +unzip -p $CWD/offo-hyphenation-compiled.zip \ + offo-hyphenation-compiled/fop-hyph.jar \ + > lib/fop-hyph.jar -( cd fop -mv build/javadocs . -cp -va build conf examples javadocs fop* lib \ - $PKG/opt/$PRGNAM-$VERSION ) - -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 +# Symlink it all to /opt/fop so the .foprc won't need edited every update: +cd $PKG/opt +ln -s $PRGNAM-$VERSION $PRGNAM -# Create fop symlink to /usr/bin: mkdir -p $PKG/usr/bin -( ln -sf /opt/${PRGNAM}-${VERSION}/${PRGNAM} $PKG/usr/bin/ ) - -# Symlink it all to /opt/fop so the .foprc won't need edited every update: -( cd $PKG/opt ; ln -sf ${PRGNAM}-${VERSION} ${PRGNAM} ) +ln -s ../../opt/$PRGNAM-$VERSION/$PRGNAM $PKG/usr/bin/$PRGNAM -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a README NOTICE LICENSE KEYS $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/office/fop/fop.info b/office/fop/fop.info index 1037a04203..40453befdb 100644 --- a/office/fop/fop.info +++ b/office/fop/fop.info @@ -1,10 +1,12 @@ PRGNAM="fop" -VERSION="2.4" +VERSION="2.8" HOMEPAGE="https://xmlgraphics.apache.org/fop/" -DOWNLOAD="https://archive.apache.org/dist/xmlgraphics/fop/source/fop-2.4-src.tar.gz" -MD5SUM="e379d5916bc705b6fd3808a77f5d8478" +DOWNLOAD="https://archive.apache.org/dist/xmlgraphics/fop/binaries/fop-2.8-bin.tar.gz \ + https://downloads.sourceforge.net/offo/2.2/offo-hyphenation-compiled.zip" +MD5SUM="e23b5802611007dcf8de375077c09a5f \ + 5ec09cce6d8a09bc53a6441790021ecf" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="apache-ant" +REQUIRES="zulu-openjdk8" MAINTAINER="Lenard Spencer" EMAIL="lenardrspencer@gmail.com" |