diff options
-rw-r--r-- | office/fop/README | 11 | ||||
-rw-r--r-- | office/fop/fop.SlackBuild | 111 | ||||
-rw-r--r-- | office/fop/fop.info | 16 |
3 files changed, 45 insertions, 93 deletions
diff --git a/office/fop/README b/office/fop/README index 6d323c7135..40b24f4269 100644 --- a/office/fop/README +++ b/office/fop/README @@ -19,14 +19,7 @@ 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 default build is for jdk 7 and 8 (including openjdk). To build -on jdk11 and newer, pass JDK11=yes to the build script. If you are -still running the (incredibly ancient) jdk 6, please use fop2.0, also -available on SBo. - -Requires apache-ant and apache-maven. +The SlackBuild just repackages the official FOP binary release, plus +the binary release of the OFFO hyphenation package. jai and jai-imageio are optional but recommended dependencies. - -WARNING: The SlackBuild requires network access, as the build process -downloads files from the internet. diff --git a/office/fop/fop.SlackBuild b/office/fop/fop.SlackBuild index e3c72e153f..411603033c 100644 --- a/office/fop/fop.SlackBuild +++ b/office/fop/fop.SlackBuild @@ -23,25 +23,28 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 20220305 bkw: Modified by SlackBuilds.org: +# 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.6} +VERSION=${VERSION:-2.7} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi +ARCH=noarch -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" exit 0 @@ -51,86 +54,46 @@ 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 {} \; - -if [ "${JDK11:-no}" = "yes" ]; then -# Fix an Issue with Java 11 and newer: - sed -i '\@</javad@i\ - <arg value="-Xdoclint:none"/>\ - <arg value="--allow-script-in-comments"/>\ - <arg value="--ignore-source-errors"/>' \ - fop/build.xml -# With jdk11 and newer, the minimum source version is 1.7, while -# the fop build system has 1.6. Change it here: - sed -e 's/1\.6/1.7/' \ - -i fop/build.xml -else - # Fix an Issue with Java 8 and older: - sed -i '\@</javad@i\ - <arg value="--allow-script-in-comments"/>' fop/build.xml -fi + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+ -# Increase hyphenation stacksize from 512k to 1M: -sed -e '/hyph\.stack/s/512k/1M/' -i fop/build.xml +PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKGDOC +mv KEYS LICENSE NOTICE README $PKGDOC -# Copy updated {pdf,font}box files: -rm fop/lib/fontbox-2.0.*.jar || true -cp $CWD/{font,pdf}box-2.0.*.jar fop/lib +mv $PRGNAM $PRGNAM.old +mv $PRGNAM.old/* . +rmdir $PRGNAM.old -# Copy hyphenation tables: -unzip $CWD/offo-hyphenation.zip -cp offo-hyphenation/hyph/* fop/hyph -rm -rf offo-hyphenation +# 20220305 bkw: don't need windows stuff +rm -f $PRGNAM.{bat,cmd} -# Compiles with apache-ant: -( cd fop -ant all javadocs -mkdir -p $PKG/opt/$PRGNAM-$VERSION -install -v -d -m755 $PKG/opt/$PRGNAM-$VERSION/ -mv build/javadocs . -cp -va build conf examples javadocs fop* lib \ - $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 -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 diff --git a/office/fop/fop.info b/office/fop/fop.info index 2faf58b746..4f56325d42 100644 --- a/office/fop/fop.info +++ b/office/fop/fop.info @@ -1,16 +1,12 @@ PRGNAM="fop" -VERSION="2.6" +VERSION="2.7" HOMEPAGE="https://xmlgraphics.apache.org/fop/" -DOWNLOAD="https://archive.apache.org/dist/xmlgraphics/fop/source/fop-2.6-src.tar.gz \ - https://slackware.uk/~urchlay/src/fontbox-2.0.23.jar \ - https://slackware.uk/~urchlay/src/pdfbox-2.0.23.jar \ - https://downloads.sourceforge.net/offo/2.2/offo-hyphenation.zip" -MD5SUM="1d6bc84d2ab7f971bbc628080e3c307f \ - f9aa90c666c88ff29e3cd34c15d538ca \ - 6b71c42c567d419f068f46f410dcc3a5 \ - bf9c09bf05108ef9661b8f08d91c2336" +DOWNLOAD="https://archive.apache.org/dist/xmlgraphics/fop/binaries/fop-2.7-bin.tar.gz \ + https://downloads.sourceforge.net/offo/2.2/offo-hyphenation-compiled.zip" +MD5SUM="97fdb716759c2d1c525f1ea8191f51b3 \ + 5ec09cce6d8a09bc53a6441790021ecf" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="apache-ant apache-maven" +REQUIRES="zulu-openjdk8" MAINTAINER="Lenard Spencer" EMAIL="lenardrspencer@gmail.com" |