Accepting request 367539 from home:favogt:branches:Java:packages

The Apache PDFBox library is an open source Java tool for working with PDF documents.
This project allows creation of new PDF documents, manipulation of existing documents
and the ability to extract content from documents.
Apache PDFBox also includes several command line utilities.

Only fontbox and jempbox are built as pdfbox itself depends on Adobe's pcif.

OBS-URL: https://build.opensuse.org/request/show/367539
OBS-URL: https://build.opensuse.org/package/show/Java:packages/apache-pdfbox?expand=0&rev=1
This commit is contained in:
Tomáš Chvátal 2016-03-07 18:34:46 +00:00 committed by Git OBS Bridge
commit 82fd9e63a6
10 changed files with 543 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

17
apache-pdfbox.changes Normal file
View File

@ -0,0 +1,17 @@
-------------------------------------------------------------------
Mon Mar 7 12:32:36 UTC 2016 - fvogt@suse.com
- Drop junit and javapackages-tools Requires
-------------------------------------------------------------------
Mon Mar 7 09:11:36 UTC 2016 - fvogt@suse.com
- Enable javadoc building and packaging
-------------------------------------------------------------------
Thu Mar 3 10:24:32 UTC 2016 - fvogt@suse.com
- Initial package
- Only fontbox and jempbox are built

112
apache-pdfbox.spec Normal file
View File

@ -0,0 +1,112 @@
#
# spec file for package apache-pdfbox
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# Only fontbox and jempbox are built as pdfbox itself depends on Adobe's pcif.
Name: apache-pdfbox
Version: 1.8.11
Release: 0
Summary: Java PDF Library
License: Apache-2.0
Group: Development/Libraries/Java
Url: https://pdfbox.apache.org/
Source0: http://www-us.apache.org/dist/pdfbox/%{version}/pdfbox-%{version}-src.zip
Source1: http://central.maven.org/maven2/org/apache/pdfbox/pdfbox/%{version}/pdfbox-%{version}.pom
Source2: http://central.maven.org/maven2/org/apache/pdfbox/fontbox/%{version}/fontbox-%{version}.pom
Source3: http://central.maven.org/maven2/org/apache/pdfbox/jempbox/%{version}/jempbox-%{version}.pom
BuildRequires: ant
BuildRequires: apache-commons-logging
BuildRequires: icu4j
BuildRequires: java-devel >= 1.5
BuildRequires: javapackages-tools
BuildRequires: junit
BuildRequires: unzip
Requires: apache-commons-logging
Requires: icu4j
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Patch1: disable-downloads.patch
Patch2: fix-javadoc-dep.patch
%description
The Apache PDFBox library is an open source Java tool for working with PDF documents.
This project allows creation of new PDF documents, manipulation of existing documents
and the ability to extract content from documents.
Apache PDFBox also includes several command line utilities.
%package javadoc
Summary: API Documentation for PDFBox
Group: Documentation/HTML
Requires: %{name} = %{version}-%{release}
%description javadoc
JavaDoc documentation for %{name}
%prep
%setup -q -n pdfbox-%{version}
%patch1 -p1
%patch2 -p1
%build
# Link dependencies
mkdir -p pdfbox/external
DEPS="junit4 icu4j commons-logging"
build-jar-repository -s -p pdfbox/external $DEPS
# build.xml uses hardcoded version numbers, so it doesn't find the jars...
for dep in $DEPS; do
CLASSPATH="$PWD/pdfbox/external/${dep}.jar:$CLASSPATH"
done
export CLASSPATH
# Build
ant -buildfile pdfbox/build.xml -Dbuild.sysclasspath=first fontbox.package jempbox.package javadoc
%install
# Code
install -d %{buildroot}%{_javadir}
for jar in fontbox jempbox; do
install -p -m644 ${jar}/target/${jar}-%{version}.jar %{buildroot}%{_javadir}/${jar}.jar
done
install -d -m 0755 %{buildroot}/%{_mavenpomdir}/
install -m 0644 %{SOURCE2} %{buildroot}/%{_mavenpomdir}/JPP-fontbox.pom
install -m 0644 %{SOURCE3} %{buildroot}/%{_mavenpomdir}/JPP-jempbox.pom
%add_maven_depmap JPP-fontbox.pom fontbox.jar
%add_maven_depmap JPP-jempbox.pom jempbox.jar
# JavaDoc
install -dm 755 %{buildroot}%{_javadocdir}/%{name}-%{version}
cp -pr pdfbox/target/javadoc/* %{buildroot}%{_javadocdir}/%{name}-%{version}
ln -s %{name}-%{version} %{buildroot}%{_javadocdir}/%{name}
%files javadoc
%defattr(0644,root,root,0755)
%{_javadocdir}/%{name}-%{version}
%{_javadocdir}/%{name}
%files
%defattr(-,root,root,-)
%doc RELEASE-NOTES.txt LICENSE.txt NOTICE.txt README.txt
%{_javadir}/fontbox.jar
%{_javadir}/jempbox.jar
%{_mavenpomdir}/JPP-fontbox.pom
%{_mavenpomdir}/JPP-jempbox.pom
%{_datadir}/maven-metadata/%{name}.xml
%changelog

57
disable-downloads.patch Normal file
View File

@ -0,0 +1,57 @@
---
pdfbox/build.xml | 36 ------------------------------------
1 file changed, 36 deletions(-)
Index: pdfbox-1.8.11/pdfbox/build.xml
===================================================================
--- pdfbox-1.8.11.orig/pdfbox/build.xml
+++ pdfbox-1.8.11/pdfbox/build.xml
@@ -342,48 +342,12 @@
</target>
<target name="get.externallibs.pdfbox">
- <antcall target="downloadfile">
- <param name="sourcefile" value="${bcmail.url}"/>
- <param name="destfile" value="${bcmail.jar}"/>
- </antcall>
- <antcall target="downloadfile">
- <param name="sourcefile" value="${bcprov.url}"/>
- <param name="destfile" value="${bcprov.jar}"/>
- </antcall>
- <antcall target="downloadfile">
- <param name="sourcefile" value="${junit.url}"/>
- <param name="destfile" value="${junit.jar}"/>
- </antcall>
- <antcall target="downloadfile">
- <param name="sourcefile" value="${logging.url}"/>
- <param name="destfile" value="${logging.jar}"/>
- </antcall>
- <antcall target="downloadfile">
- <param name="sourcefile" value="${icu4j.url}"/>
- <param name="destfile" value="${icu4j.jar}"/>
- </antcall>
</target>
<target name="get.externallibs.fontbox">
- <antcall target="downloadfile">
- <param name="sourcefile" value="${junit.url}"/>
- <param name="destfile" value="${junit.jar}"/>
- </antcall>
- <antcall target="downloadfile">
- <param name="sourcefile" value="${logging.url}"/>
- <param name="destfile" value="${logging.jar}"/>
- </antcall>
</target>
<target name="get.externallibs.jempbox">
- <antcall target="downloadfile">
- <param name="sourcefile" value="${junit.url}"/>
- <param name="destfile" value="${junit.jar}"/>
- </antcall>
- <antcall target="downloadfile">
- <param name="sourcefile" value="${logging.url}"/>
- <param name="destfile" value="${logging.jar}"/>
- </antcall>
</target>
<target name="pdfbox.package" depends="get.externallibs.pdfbox,pdfbox.compile" description="Package pdfbox into a jar file">

17
fix-javadoc-dep.patch Normal file
View File

@ -0,0 +1,17 @@
---
pdfbox/build.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: pdfbox-1.8.11/pdfbox/build.xml
===================================================================
--- pdfbox-1.8.11.orig/pdfbox/build.xml
+++ pdfbox-1.8.11/pdfbox/build.xml
@@ -834,7 +834,7 @@
</exec>
</target>
- <target name="javadoc" depends="pdfbox.compile" description="Create Javadocs">
+ <target name="javadoc" depends="" description="Create Javadocs">
<javadoc packagenames="org.*"
sourcepath="${pdfbox.src.dir}"
destdir="${pdfbox.target.dir}/javadoc"

65
fontbox-1.8.11.pom Normal file
View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-parent</artifactId>
<version>1.8.11</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
<artifactId>fontbox</artifactId>
<packaging>bundle</packaging>
<name>Apache FontBox</name>
<description>
The Apache FontBox library is an open source Java tool to obtain low level information
from font files. FontBox is a subproject of Apache PDFBox.
</description>
<inceptionYear>2008</inceptionYear>
<url>http://pdfbox.apache.org/</url>
<dependencies>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>

58
jempbox-1.8.11.pom Normal file
View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-parent</artifactId>
<version>1.8.11</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
<artifactId>jempbox</artifactId>
<packaging>bundle</packaging>
<name>Apache JempBox</name>
<description>
The Apache JempBox library is an open source Java tool that implements Adobe's XMP(TM)
specification. JempBox is a subproject of Apache PDFBox.
</description>
<inceptionYear>2008</inceptionYear>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>

3
pdfbox-1.8.11-src.zip Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:160a2d058325845234eaa6b5ae23535b9226aadb4e570a1a76f7106a00653b1b
size 11026359

190
pdfbox-1.8.11.pom Normal file
View File

@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
! Licensed to the Apache Software Foundation (ASF) under one or more
! contributor license agreements. See the NOTICE file distributed with
! this work for additional information regarding copyright ownership.
! The ASF licenses this file to You under the Apache License, Version 2.0
! (the "License"); you may not use this file except in compliance with
! the License. You may obtain a copy of the License at
!
! http://www.apache.org/licenses/LICENSE-2.0
!
! Unless required by applicable law or agreed to in writing, software
! distributed under the License is distributed on an "AS IS" BASIS,
! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
! See the License for the specific language governing permissions and
! limitations under the License.
!-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-parent</artifactId>
<version>1.8.11</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
<artifactId>pdfbox</artifactId>
<packaging>bundle</packaging>
<name>Apache PDFBox</name>
<description>
The Apache PDFBox library is an open source Java tool for working with PDF documents.
</description>
<inceptionYear>2002</inceptionYear>
<dependencies>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>jempbox</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15</artifactId>
<version>1.44</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
<version>1.44</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>3.8</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<!-- For legal reasons (incompatible license), these two dependencies
are to be used only in the tests and may not be distributed.
See also LEGAL-195 -->
<dependency>
<groupId>com.levigo.jbig2</groupId>
<artifactId>levigo-jbig2-imageio</artifactId>
<version>1.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.java.dev.jai-imageio</groupId>
<artifactId>jai-imageio-core-standalone</artifactId>
<version>1.2-pre-dr-b04-2011-07-04</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>jbig2.googlecode</id>
<name>JBIG2 ImageIO-Plugin repository at googlecode.com</name>
<url>https://jbig2-imageio.googlecode.com/svn/maven-repository/</url>
</repository>
<repository>
<id>mygrid-repository</id>
<name>myGrid Repository</name>
<url>http://www.mygrid.org.uk/maven/repository</url>
</repository>
</repositories>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources</phase>
<configuration>
<target>
<ant antfile="build.xml" target="get.adobefiles" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.8.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Xmx128m</argLine>
<includes>
<include>org/apache/pdfbox/TestAll.java</include>
<include>org/apache/pdfbox/util/TestImageIOUtils.java</include>
<include>org/apache/pdfbox/util/TestTextStripper.java</include>
<!--
<include>org/apache/pdfbox/util/TestPDFToImage.java</include>
-->
</includes>
<systemPropertyVariables>
<java.util.logging.config.file>src/test/resources/logging.properties</java.util.logging.config.file>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Include-Resource>
{maven-resources},
META-INF=target/maven-shared-archive-resources/META-INF,
org/apache/pdfbox/resources=target/classes/org/apache/pdfbox/resources
</Include-Resource>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<exclude>src/main/resources/org/apache/pdfbox/resources/cmap/*</exclude>
<exclude>src/main/resources/META-INF/services/*</exclude>
<exclude>src/test/resources/input/rendering/*.ai</exclude>
<exclude>src/test/resources/input/*.txt</exclude>
<exclude>download/glyphlist.txt</exclude>
<exclude>release.properties</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>