summaryrefslogtreecommitdiffstats
path: root/office/fop
diff options
context:
space:
mode:
Diffstat (limited to 'office/fop')
-rw-r--r--office/fop/README23
-rw-r--r--office/fop/fop.SlackBuild108
-rw-r--r--office/fop/fop.info10
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"