diff --git a/README.md b/README.md index e5cd499..bc3a2be 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # podofo09 +The PoDoFo library is a free, portable C++ library which includes classes to parse PDF files and modify their contents into memory. +The changes can be written back to disk easily. +The parser can also be used to extract information from a PDF file (for example the parser could be used in a PDF viewer). +Besides parsing PoDoFo includes also very simple classes to create your own PDF files. +All classes are documented so it is easy to start writing your own application using PoDoFo. + diff --git a/podofo-0.9.3-gcc-4.9.patch b/podofo-0.9.3-gcc-4.9.patch new file mode 100644 index 0000000..28363d8 --- /dev/null +++ b/podofo-0.9.3-gcc-4.9.patch @@ -0,0 +1,11 @@ +--- podofo-0.9.3/test/unit/EncryptTest.h.orig 2014-09-27 13:57:19.195358412 +0200 ++++ podofo-0.9.3/test/unit/EncryptTest.h 2014-09-27 13:55:43.003326947 +0200 +@@ -83,7 +83,7 @@ + + private: + char* m_pEncBuffer; +- long m_lLen; ++ int m_lLen; + int m_protection; + + }; diff --git a/podofo-0.9.8-upstream-fix_declaration_of_operator.patch b/podofo-0.9.8-upstream-fix_declaration_of_operator.patch new file mode 100644 index 0000000..1bd7172 --- /dev/null +++ b/podofo-0.9.8-upstream-fix_declaration_of_operator.patch @@ -0,0 +1,39 @@ +From d0e9f5d503b0cb79516ec9bff989f3d7d625b678 Mon Sep 17 00:00:00 2001 +From: Pino Toscano +Date: Sun, 14 Aug 2022 08:27:13 +0200 +Subject: [PATCH] Fix declaration of operator<< for PoDoFo::PdfString + +Since PdfString is in the PoDoFo namespace, the operator<< for it must +be in the same namespace as well, otherwise it is not found. In +particular, operator<<(std::ostream&) is needed by cppunit as a way to +get the string representation of an arbitrary type, when using +CPPUNIT_ASSERT_EQUAL() on instances of it. + +This used to work with GCC until 11 because of a buggy behaviour. +GCC 12 fixed it [1], causing this test to fail to build with it. + +[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51577 +--- + test/unit/StringTest.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/test/unit/StringTest.cpp b/test/unit/StringTest.cpp +index a7841f78..b52b7880 100644 +--- a/test/unit/StringTest.cpp ++++ b/test/unit/StringTest.cpp +@@ -29,11 +29,15 @@ using namespace PoDoFo; + // Registers the fixture into the 'registry' + CPPUNIT_TEST_SUITE_REGISTRATION( StringTest ); + ++namespace PoDoFo { ++ + inline std::ostream& operator<<(std::ostream& o, const PdfString& s) + { + return o << s.GetStringUtf8(); + } + ++} ++ + void StringTest::setUp() + { + } diff --git a/podofo09.spec b/podofo09.spec new file mode 100644 index 0000000..8a79cc4 --- /dev/null +++ b/podofo09.spec @@ -0,0 +1,153 @@ +%define majver %(echo %version | cut -d. -f1-2) + +Name: podofo09 +Version: 0.9.8 +Release: 3mamba +Summary: Tools based on libpodofo to work with the PDF file format +Group: System/Tools +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: https://github.com/podofo/podofo +Source: https://downloads.sourceforge.net/project/podofo/podofo/%{version}/podofo-%{version}.tar.gz +Patch0: podofo-0.9.3-gcc-4.9.patch +Patch1: podofo-0.9.8-upstream-fix_declaration_of_operator.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libfontconfig-devel +BuildRequires: libfreetype-devel +BuildRequires: libgcc +BuildRequires: libidn-devel +BuildRequires: libjpeg-devel +BuildRequires: liblua-devel +BuildRequires: libopenssl-devel +BuildRequires: libpng-devel +BuildRequires: libstdc++6-devel +BuildRequires: libtiff-devel +BuildRequires: libunistring-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description +The PoDoFo library is a free, portable C++ library which includes classes to parse PDF files and modify their contents into memory. +The changes can be written back to disk easily. +The parser can also be used to extract information from a PDF file (for example the parser could be used in a PDF viewer). +Besides parsing PoDoFo includes also very simple classes to create your own PDF files. +All classes are documented so it is easy to start writing your own application using PoDoFo. + +%package -n lib%{name} +Group: System/Libraries +Summary: A library to work with the PDF file format + +%description -n lib%{name} +The PoDoFo library is a free, portable C++ library which includes classes to parse PDF files and modify their contents into memory. +The changes can be written back to disk easily. +The parser can also be used to extract information from a PDF file (for example the parser could be used in a PDF viewer). +Besides parsing PoDoFo includes also very simple classes to create your own PDF files. +All classes are documented so it is easy to start writing your own application using PoDoFo. + +%package -n lib%{name}-devel +Group: Development/Libraries +Summary: Libraries and headers for %{name} +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description -n lib%{name}-devel +This package contains libraries and header files for developing applications that use lib%{name}. + +%debug_package + +%prep +%setup -q -n podofo-%{version} +#%ifnarch x86_64 +#%patch0 -p1 +#%endif +%patch1 -p1 -b .upstream-fix_declaration_of_operator + +%build +%cmake -d build \ + -DPODOFO_BUILD_SHARED:BOOL=TRUE \ + -DPODOFO_BUILD_STATIC:BOOL=FALSE \ + -DFREETYPE_INCLUDE_DIR=%{_includedir}/freetype2 \ + -DPODOFO_HAVE_JPEG_LIB=1 \ + -DPODOFO_HAVE_PNG_LIB=1 \ + -DPODOFO_HAVE_TIFF_LIB=1 \ +%ifarch x86_64 + -DWANT_LIB64=1 \ +%endif + +# -DLUA_INCLUDE_DIR=`pkg-config --variable=includedir lua5.1` \ + +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall -C build + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -n lib%{name} -p /sbin/ldconfig +%postun -n lib%{name} -p /sbin/ldconfig + +%files -n lib%{name} +%defattr(-,root,root) +%{_libdir}/libpodofo.so.* +%doc COPYING.LIB + +%files -n lib%{name}-devel +%defattr(-,root,root) +%dir %{_includedir}/podofo +%{_includedir}/podofo/* +%{_libdir}/libpodofo.so +%{_libdir}/pkgconfig/libpodofo.pc + +%files +%defattr(-,root,root) +%{_bindir}/podofo* +%{_mandir}/man1/podofo*.1* +%doc COPYING + +%changelog +* Thu Nov 09 2023 Silvan Calarco 0.9.8-3mamba +- legacy package + +* Wed Jan 11 2023 Silvan Calarco 0.9.8-2mamba +- rebuilt with upstream build fix + +* Thu May 05 2022 Automatic Build System 0.9.8-1mamba +- automatic version update by autodist + +* Fri Jan 22 2021 Automatic Build System 0.9.7-1mamba +- automatic version update by autodist + +* Mon Feb 06 2017 Automatic Build System 0.9.5-1mamba +- automatic version update by autodist + +* Thu Jul 07 2016 Automatic Build System 0.9.4-1mamba +- automatic version update by autodist + +* Sat Sep 27 2014 Silvan Calarco 0.9.3-2mamba +- patch against gcc 4.9 + +* Mon Aug 18 2014 Silvan Calarco 0.9.3-1mamba +- update to 0.9.3 + +* Sat Jul 20 2013 Automatic Build System 0.9.2-1mamba +- automatic version update by autodist + +* Thu Jun 28 2012 Davide Madrisan 0.9.1-3mamba +- do not require %{__install_info} +- add missing AUTOBUILDREQ-END +- fix build for x86_64 architecture + +* Wed Apr 11 2012 Silvan Calarco 0.9.1-2mamba +- build as shared library +- create libpodofo and libpodofo-devel (obsolete podofo-devel) + +* Sun Jul 24 2011 Automatic Build System 0.9.1-1mamba +- update to 0.9.1 + +* Mon Dec 27 2010 Ercole 'ercolinux' Carpanetto 0.8.4-1mamba +- package created by autospec