summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/fop/PKGBUILD79
-rw-r--r--libre/fop/fop-fix_build.patch39
-rw-r--r--libre/fop/fop-replace_sRGB_profile.patch39
-rw-r--r--libre/fop/fop.conf8
4 files changed, 165 insertions, 0 deletions
diff --git a/libre/fop/PKGBUILD b/libre/fop/PKGBUILD
new file mode 100644
index 000000000..c0a10bb77
--- /dev/null
+++ b/libre/fop/PKGBUILD
@@ -0,0 +1,79 @@
+# Maintainer (Arch): Lukas Fleischer <lfleischer@archlinux.org>
+# Contributor (Arch): Stefan Husmann <stefan-husmann@t-online.de>
+# Contributor (Arch): Simon Lipp <sloonz+aur@gmail.com>
+# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
+
+pkgname=fop
+pkgver=2.0
+pkgrel=1.parabola1
+pkgdesc='XSL-FO implementation in Java.'
+arch=('any')
+url='http://xmlgraphics.apache.org/fop/'
+license=('APACHE')
+depends=('java-xmlgraphics-commons' 'java-commons-logging' 'java-commons-io' 'java-batik'
+ 'java-avalon-framework' 'java-qdox' 'fontbox' 'tomcat8' 'openicc')
+makedepends=('apache-ant' 'jh')
+source=("http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist/xmlgraphics/$pkgname/source/$pkgname-$pkgver-src.tar.gz"
+ "https://repo.maven.apache.org/maven2/org/apache/xmlgraphics/${pkgname}/${pkgver}/${pkgname}-${pkgver}.pom"
+ 'fop.conf'
+ 'fop-fix_build.patch'
+ 'fop-replace_sRGB_profile.patch')
+md5sums=('754e5307a73433afb5c4c9b11d45e302'
+ '3e6fd7f8ae8da63b6ff8f13bf09f0ae6'
+ '3dc3325bf77afc787024f33e7d6ab99e'
+ '5b720bb6f3c29673ae30679a19a41a4b'
+ '7a5224d08d29ff343ffd7c889156fef9')
+backup=('etc/fop.conf')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+ rm -rv lib/*
+ rm -v "src/java/org/apache/fop/pdf/sRGB Color Space Profile.icm"{,.LICENSE.txt}
+ mkdir -p lib/build
+
+ patch -Np1 -i "${srcdir}/fop-fix_build.patch"
+ patch -Np1 -i "${srcdir}/fop-replace_sRGB_profile.patch"
+ ln -sf /usr/share/java/qdox.jar lib/build/qdox.jar
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ant package javadocs \
+ -lib /usr/share/java/serializer.jar \
+ -lib /usr/share/java/xmlgraphics-commons.jar \
+ -lib /usr/share/java/avalon-framework-api.jar \
+ -lib /usr/share/java/avalon-framework-impl.jar \
+ -lib /usr/share/java/commons-io.jar \
+ -lib /usr/share/java/batik/batik-all.jar \
+ -lib /usr/share/java/batik/batik-libs.jar \
+ -lib /usr/share/java/tomcat8/servlet-api.jar \
+ -lib /usr/share/java/xml-apis-ext.jar \
+ -lib /usr/share/java/fontbox.jar
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # Install license file
+ install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
+
+ # Install documentation
+ install -d "${pkgdir}/usr/share/doc/${pkgname}"
+ cp -r "build/javadocs" "${pkgdir}/usr/share/doc/${pkgname}"
+
+ # Install Maven artifacts
+ export DESTDIR=${pkgdir}
+ jh mvn-install "org.apache.xmlgraphics" ${pkgname} ${pkgver} \
+ "${srcdir}/${pkgname}-${pkgver}.pom" \
+ "build/${pkgname}.jar" \
+ "${pkgname}-${pkgver}.jar"
+ ln -s "/usr/share/java/${pkgname}-${pkgver}.jar" \
+ "${pkgdir}/usr/share/java/${pkgname}.jar"
+
+ install -d "${pkgdir}/usr/share/java/${pkgname}"
+ ln -s "/usr/share/java/${pkgname}.jar" \
+ "${pkgdir}/usr/share/java/${pkgname}/${pkgname}.jar"
+
+ install -Dm0644 "../fop.conf" "$pkgdir/etc/fop.conf"
+ install -Dm0755 "$pkgname" "$pkgdir/usr/bin/$pkgname"
+}
diff --git a/libre/fop/fop-fix_build.patch b/libre/fop/fop-fix_build.patch
new file mode 100644
index 000000000..6e9a50b92
--- /dev/null
+++ b/libre/fop/fop-fix_build.patch
@@ -0,0 +1,39 @@
+--- fop-2.0.orig/build.xml 2015-05-26 03:03:48.000000000 -0500
++++ fop-2.0/build.xml 2015-12-21 14:30:04.869345934 -0500
+@@ -320,7 +320,7 @@
+ <target name="compile-java" depends="init, codegen">
+ <!-- create directories -->
+ <mkdir dir="${build.classes.dir}"/>
+- <javac destdir="${build.classes.dir}" includeAntRuntime="true">
++ <javac destdir="${build.classes.dir}" includeAntRuntime="true" encoding="UTF-8">
+ <src path="${build.gensrc.dir}"/>
+ <src path="${src.java.dir}"/>
+ <patternset includes="**/*.java"/>
+@@ -330,7 +330,7 @@
+ <compilerarg value="-Xlint:cast"/>
+ </javac>
+ <mkdir dir="${build.sandbox-classes.dir}"/>
+- <javac destdir="${build.sandbox-classes.dir}" includeAntRuntime="true">
++ <javac destdir="${build.sandbox-classes.dir}" includeAntRuntime="true" encoding="UTF-8">
+ <src path="${src.sandbox.dir}"/>
+ <patternset includes="**/*.java"/>
+ <patternset refid="exclude-jai"/>
+@@ -342,7 +342,7 @@
+ </target>
+ <target name="resourcegen" depends="compile-java">
+ <mkdir dir="${build.codegen-classes.dir}"/>
+- <javac destdir="${build.codegen-classes.dir}" includeAntRuntime="true">
++ <javac destdir="${build.codegen-classes.dir}" includeAntRuntime="true" encoding="UTF-8">
+ <src path="${src.codegen.dir}/java"/>
+ <patternset includes="**/*.java"/>
+ <classpath>
+@@ -963,7 +963,8 @@
+ doctitle="Apache Formatting Objects Processor (FOP)"
+ bottom="Copyright ${year} The Apache Software Foundation. All Rights Reserved."
+ overview="${src.dir}/java/org/apache/fop/overview.html"
+- maxmemory="256M">
++ maxmemory="256M"
++ encoding="UTF-8">
+ <header><![CDATA[${name} ${version}]]></header>
+ <footer><![CDATA[${name} ${version}]]></footer>
+ <classpath>
diff --git a/libre/fop/fop-replace_sRGB_profile.patch b/libre/fop/fop-replace_sRGB_profile.patch
new file mode 100644
index 000000000..035a7e4b3
--- /dev/null
+++ b/libre/fop/fop-replace_sRGB_profile.patch
@@ -0,0 +1,39 @@
+--- fop-2.0.orig/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java 2015-05-26 03:03:48.000000000 -0500
++++ fop-2.0/src/java/org/apache/fop/pdf/PDFICCBasedColorSpace.java 2015-12-21 16:38:02.149485578 -0500
+@@ -21,6 +21,8 @@
+
+ import java.awt.color.ColorSpace;
+ import java.awt.color.ICC_Profile;
++import java.io.File;
++import java.io.FileInputStream;
+ import java.io.IOException;
+ import java.io.InputStream;
+ import java.util.Set;
+@@ -136,11 +138,14 @@
+ * @return the ICC stream with the sRGB profile
+ */
+ public static PDFICCStream setupsRGBColorProfile(PDFDocument pdfDoc) {
+- ICC_Profile profile;
++ ICC_Profile profile = null;
+ PDFICCStream sRGBProfile = pdfDoc.getFactory().makePDFICCStream();
+- InputStream in = PDFDocument.class.getResourceAsStream("sRGB Color Space Profile.icm");
+- if (in != null) {
++ // Load the sRGB profile installed by the openicc package
++ File file = new File("/usr/share/color/icc/OpenICC/sRGB.icc");
++ if (file.exists()) {
++ InputStream in = null;
+ try {
++ in = new FileInputStream(file);
+ profile = ColorProfileUtil.getICC_Profile(in);
+ } catch (IOException ioe) {
+ throw new RuntimeException(
+@@ -148,7 +153,8 @@
+ } finally {
+ IOUtils.closeQuietly(in);
+ }
+- } else {
++ }
++ if (profile == null) {
+ // Fallback: Use the sRGB profile from the JRE (about 140KB)
+ profile = ColorProfileUtil.getICC_Profile(ColorSpace.CS_sRGB);
+ }
diff --git a/libre/fop/fop.conf b/libre/fop/fop.conf
new file mode 100644
index 000000000..8dc7bb2bd
--- /dev/null
+++ b/libre/fop/fop.conf
@@ -0,0 +1,8 @@
+FOP_HOME="/usr/share/java/fop/"
+CLASSPATH="$CLASSPATH:$FOP_HOME/fop.jar"
+CLASSPATH="$CLASSPATH:/usr/share/java/xmlgraphics-commons/xmlgraphics-commons.jar"
+CLASSPATH="$CLASSPATH:/usr/share/java/commons-io/commons-io.jar"
+CLASSPATH="$CLASSPATH:/usr/share/java/commons-logging/commons-logging.jar"
+CLASSPATH="$CLASSPATH:/usr/share/java/batik/batik-all.jar"
+CLASSPATH="$CLASSPATH:/usr/share/java/avalon-framework/avalon-framework.jar"
+CLASSPATH="$CLASSPATH:/usr/share/java/batik/xml-apis-ext.jar"