apache-pdfbox/apache-pdfbox.spec

98 lines
3.3 KiB
RPMSpec

#
# spec file for package apache-pdfbox
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
# Only fontbox and jempbox are built as pdfbox itself depends on Adobe's pcif.
Name: apache-pdfbox
Version: 2.0.29
Release: 0
Summary: Java PDF Library
License: Apache-2.0 AND OFL-1.1
Group: Development/Libraries/Java
URL: https://pdfbox.apache.org/
Source0: https://archive.apache.org/dist/pdfbox/%{version}/pdfbox-%{version}-src.zip
Source1: https://archive.apache.org/dist/pdfbox/%{version}/pdfbox-%{version}-src.zip.asc
Source2: pdfbox-%{version}-build.tar.xz
Source3: https://www.apache.org/dist/pdfbox/KEYS#/pdfbox.keyring
BuildRequires: ant
BuildRequires: apache-commons-logging
BuildRequires: bouncycastle
BuildRequires: bouncycastle-mail
BuildRequires: bouncycastle-pkix
BuildRequires: bouncycastle-util
BuildRequires: fdupes
BuildRequires: glassfish-jaxb-api
BuildRequires: java-devel >= 1.8
BuildRequires: javapackages-local >= 6
BuildRequires: unzip
Requires: apache-commons-logging
BuildArch: noarch
%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} -a2
# Remove provided binaries
find -name '*.class' -delete
find -name '*.jar' -delete
%pom_change_dep :junit :::test fontbox
%build
mkdir -p lib
build-jar-repository -s lib bcmail bcpkix bcprov bcutil commons-logging glassfish-jaxb-api
%{ant} -Dproject.version=%{version} -Dtest.skip=true package javadoc
%install
# Code
install -d -m 0755 %{buildroot}%{_javadir}/pdfbox
install -d -m 0755 %{buildroot}%{_mavenpomdir}/pdfbox
install -d -m 0755 %{buildroot}%{_javadocdir}/%{name}
for jar in fontbox pdfbox xmpbox debugger tools; do
install -p -m 0644 ${jar}/target/*-%{version}.jar %{buildroot}%{_javadir}/pdfbox/${jar}.jar
%mvn_install_pom ${jar}/pom.xml %{buildroot}%{_mavenpomdir}/pdfbox/${jar}.pom
%add_maven_depmap pdfbox/${jar}.pom pdfbox/${jar}.jar
cp -pr ${jar}/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/${jar}
done
# Compatibility link
ln -s -f %{_javadir}/pdfbox/fontbox.jar %{buildroot}%{_javadir}/
%fdupes -s %{buildroot}%{_javadocdir}
%files javadoc
%{_javadocdir}/%{name}
%files -f .mfiles
%doc RELEASE-NOTES.txt README.md
%license LICENSE.txt NOTICE.txt
%{_javadir}/fontbox.jar
%changelog