diff options
-rw-r--r-- | libre/fop/PKGBUILD | 79 | ||||
-rw-r--r-- | libre/fop/fop-fix_build.patch | 39 | ||||
-rw-r--r-- | libre/fop/fop-replace_sRGB_profile.patch | 39 | ||||
-rw-r--r-- | libre/fop/fop.conf | 8 |
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" |