%global itextvers 2.1.7 Summary: The PDF Tool Kit Name: pdftk Version: 1.44 Release: 3%{?dist} License: GPLv2+ URL: http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ Source0: http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/%{name}-%{version}-src.zip Patch0: pdftk-use-internal-itext.patch # Solves ".afm files not found" error. RHBZ#494785: Patch4: pdftk-classpath.patch Group: Applications/Publishing BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gcc-java BuildRequires: libgcj-devel BuildRequires: java-devel >= 1:1.6.0 BuildRequires: itext >= %{itextvers} Requires: itext%{?_isa} >= 2.1.7-6 %description If PDF is electronic paper, then pdftk is an electronic staple-remover, hole-punch, binder, secret-decoder-ring, and X-Ray-glasses. Pdftk is a simple tool for doing everyday things with PDF documents. Keep one in the top drawer of your desktop and use it to: * Merge PDF Documents * Split PDF Pages into a New Document * Decrypt Input as Necessary (Password Required) * Encrypt Output as Desired * Burst a PDF Document into Single Pages * Report on PDF Metrics, including Metadata and Bookmarks * Uncompress and Re-Compress Page Streams * Repair Corrupted PDF (Where Possible) Pdftk is also an example of how to use a library of Java classes in a stand-alone C++ program. Specifically, it demonstrates how GCJ and CNI allow C++ code to use iText's (itext-paulo) Java classes. %prep %setup -q -n %{name}-%{version}-dist %patch0 -p1 %patch4 -p0 -b .classpath # Remove bundled libraries from the source tree rm -rf java # Fix EOL encoding for file in *.txt license_gpl_pdftk//*.txt; do sed 's|\r||' $file > $file.tmp touch -r $file $file.tmp mv $file.tmp $file done %build # Requires as a workaround for gcc BZ #39380 export CFLAGS="${RPM_OPT_FLAGS}" jar tf %{_javadir}/itext-%{itextvers}.jar | grep '\.class$' | sed 's/\.class//' | sed 's|/|\.|g' > classes gjavah -d java -cni -classpath=%{_javadir}/itext-%{itextvers}.jar \ `cat classes` cd pdftk make -f Makefile.Redhat LIBDIR=%{_libdir} %{?_smp_mflags} ITEXTVERS="%{itextvers}" %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/%{_bindir} mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1 install -m 0755 pdftk/pdftk $RPM_BUILD_ROOT/%{_bindir}/pdftk install -m 0644 pdftk.1 $RPM_BUILD_ROOT/%{_mandir}/man1/pdftk.1 # Fix the weird dependency, e.g. # /usr/lib64/gcj/itext/itext-x.y.z.jar.so()(64bit) to # /usr/lib64/gcj/itext/itext-x.y.z.jar.so %define _use_internal_dependency_generator 0 cat << \EOF > %{name}.req !%{_buildshell} grep -v %{_docdir} - | %{__find_requires} $* \ | sed 's@\(itext-[0-9.]*\.jar\.so@d' EOF %define __find_requires %{_builddir}/%{name}-%{version}-dist/%{name}.req chmod +x %{__find_requires} %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc changelog.html changelog.notes changelog.txt %doc pdftk.1.html pdftk.1.notes pdftk.1.txt %doc license_gpl_pdftk/pdftk_gpl_license.txt license_gpl_pdftk/readme.txt %{_bindir}/%{name} %{_mandir}/man1/%{name}* %changelog * Thu Apr 14 2011 Jochen Schmitt <Jochen herr-schmitt de> 1.44-3 - Rebuilt for new libgcj release (#696588) - fix broken patch * Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.44-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sun Jan 9 2011 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> 1.44-1 - Updated to 1.44. No need to regenerate the tarball since the files with problematic licenses are removed by upstream. * Wed Aug 4 2010 Jochen Schmitt <Jochen herr-schmitt de> 1.41-27 - Rebuild for new gcj release (#619187) * Thu Jun 17 2010 Jochen Schmitt <Jochen herr-schmitt de> 1.41-26 - Remove some other exerimental stuff * Thu Jun 17 2010 Jochen Schmitt <Jochen herr-schmitt de> 1.41-25 - Remove experimental changes * Thu Jun 17 2010 Jochen Schmitt <Jochen herr-schmitt de> 1.41-24 - Fix find_requires hack to avoid duplicate req. (#602048) * Tue Nov 10 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-23 - Add %%{?_isa} to the iText req. * Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.41-22 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Thu Jul 9 2009 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> 1.41-21 - Build against itext-2.1.7 * Fri Jun 26 2009 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> 1.41-20 - Build against itext-2.1.6 * Wed May 6 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-19 - Remove workaround for brocken gcj * Wed Apr 29 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-18 - Add bcprov and bcmail to classpath patch (BZ #497986) * Tue Apr 21 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-17 - Bump release number * Tue Apr 21 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-16 - Remove stdin patch, add Req. to modified iText release (BZ #495574) * Wed Apr 8 2009 Orcan Ogetbil <oget[DOT]fedora[AT]gmail[DOT]com> 1.41-15 - Patch ".afm files not found" issue (#494785) * Tue Mar 31 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-14 - Patch stdin issue (#492968) * Tue Mar 10 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-13 - Move to iText-2.1.5 * Thu Mar 5 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-12 - Make sure, the -O0 will be used by the Makefile * Thu Mar 5 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-11 - substitute %%{_datadir}/java into %%{_javadir} in build stanza * Thu Mar 5 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-10 - Use -O0 as a workaround for a gcc bug * Sun Mar 1 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-9 - Remove license text - Fix Dependencies - fix Tab/Space * Thu Feb 19 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-8 - Add BR and Req. to itext-2.1.4-3 * Sun Feb 15 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-7 - Build pdftk agains system iText library * Sun Jan 25 2009 Jochen Schmitt <Jochen herr-schmitt de> 1.41-6 - Fix license tag * Wed Apr 11 2007 Thomas Fitzsimmons <fitzsim@redhat.com> 1.41-5 - Build against system libgcj. - Patch build for new gcjh. - Resolves: rhbz#233682 rhbz#233489 rhbz#233514 * Wed Feb 28 2007 Jochen Schmitt <Jochen herr-schmitt de> 1.41-4 - Rebuild to solve broken deps * Mon Feb 26 2007 Jochen Schmitt <s4504kr@zeus.herr-schmitt.de> 1.41-3 - Use $$RPM_OPT_FLAGS (#228945) * Wed Nov 29 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.41-2 - New upstream release * Sun Sep 3 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.12-8 - Rebuild for FC-6 * Mon Jul 31 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.12-7 - Rebuild * Sun Feb 12 2006 Jochen Schmitt <Jochen herr-schmitt de> 1.12-6 - Rebuild for FC5 * Thu Dec 15 2005 Jochen Schmitt <Jochen herr-schmitt de> 1.12-5 - Rebuild - Remove strange '//SID' comment. * Sun Jul 31 2005 Jochen Schmitt <Jochen herr-schmitt de> 1.12-3 - Add literal GPL text as Source1 * Wed Jul 27 2005 Jochen Schmitt <Jochen herr-schmitt de> 1.12-2 - Don't compress man page - Remove pdftk.1.notes - Add COPYRIGHT from debian/copyright * Tue Jul 26 2005 Jochen Schmitt <Jochen herr-schmitt de> 1.12-1 - Initial RPM release