[packages/pdflib-lite] - new, last release of pdflib-lite (7.0.5p3) - added format patch (fix build with -Werror=format-sec
qboosh
qboosh at pld-linux.org
Sat Nov 21 22:15:37 CET 2020
commit e07a09d2cbb18d82474989042b700725d47af03e
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sat Nov 21 22:15:36 2020 +0100
- new, last release of pdflib-lite (7.0.5p3)
- added format patch (fix build with -Werror=format-security)
- added tcl patch (fix build with Tcl 8.6)
- added modules patch (drop shared modules versioning)
- added perl,python patches to adjust module paths
- added libtool patch (fix for libtool 1.5+)
- added system-libs patch (use system zlib and libpng)
- added shared patch (link bindings and examples with shared libpdf)
pdflib-lite-format.patch | 14 ++
pdflib-lite-libtool.patch | 11 ++
pdflib-lite-modules.patch | 40 ++++
pdflib-lite-perl.patch | 11 ++
pdflib-lite-python.patch | 13 ++
pdflib-lite-shared.patch | 25 +++
pdflib-lite-system-libs.patch | 160 ++++++++++++++++
pdflib-lite-tcl.patch | 13 ++
pdflib-lite.spec | 433 ++++++++++++++++++++++++++++++++++++++++++
9 files changed, 720 insertions(+)
---
diff --git a/pdflib-lite.spec b/pdflib-lite.spec
new file mode 100644
index 0000000..a6b4734
--- /dev/null
+++ b/pdflib-lite.spec
@@ -0,0 +1,433 @@
+# TODO: php, ruby
+#
+# Conditional build:
+%bcond_without static_libs # static library
+%bcond_without cxx # C++ binding
+%bcond_without java # Java binding
+%bcond_without perl # Perl binding
+%bcond_without python # Python binding
+%bcond_with ruby # Ruby binding (not finished in sources)
+%bcond_without tcl # Tcl binding
+%bcond_with system_libjpeg # system libjpeg library (included libtiff relies on libjpeg = 6b)
+%bcond_without system_libpng # system libpng library
+%bcond_with system_libtiff # system libtiff library (PDFLib uses modified version)
+%bcond_without system_zlib # system ZLib library
+#
+Summary: PDFlib - A library for generating PDF on the fly
+Summary(pl.UTF-8): PDFlib - biblioteka do tworzenia plików PDF w locie
+Name: pdflib-lite
+Version: 7.0.5p3
+Release: 1
+License: free for personal use
+Group: Libraries
+# originally http://www.pdflib.com/download/pdflib-family/pdflib-lite-7/ but no longer available;
+# use a copy from other distro repo
+Source0: http://ponce.cc/slackware/sources/repo/PDFlib-Lite-%{version}.tar.gz
+# Source0-md5: 371d332d610a8b21a542bb7a2bdaf954
+Patch0: %{name}-format.patch
+Patch1: %{name}-tcl.patch
+Patch2: %{name}-modules.patch
+Patch3: %{name}-perl.patch
+Patch4: %{name}-python.patch
+Patch5: %{name}-libtool.patch
+Patch6: %{name}-system-libs.patch
+Patch7: %{name}-shared.patch
+URL: https://www.pdflib.com/
+BuildRequires: autoconf
+BuildRequires: automake
+%{?with_java:BuildRequires: jdk >= 1.4}
+%{?with_system_libjpeg:BuildRequires: libjpeg-devel >= 6b}
+%{?with_system_libpng:BuildRequires: libpng-devel >= 2:1.2.36}
+%{?with_cxx:BuildRequires: libstdc++-devel}
+%{?with_system_libtiff:BuildRequires: libtiff-devel >= 3.7.4}
+BuildRequires: libtool
+%{?with_perl:BuildRequires: perl-devel >= 5}
+%{?with_python:BuildRequires: python-devel >= 2}
+BuildRequires: rpmbuild(macros) >= 1.754
+%{?with_tcl:BuildRequires: tcl-devel >= 8.2}
+%{?with_system_zlib:BuildRequires: zlib-devel >= 1.2.3}
+%{?with_system_libjpeg:Requires: libjpeg >= 6b}
+%{?with_system_libpng:Requires: libpng >= 2:1.2.36}
+%{?with_system_libtiff:Requires: libtiff >= 3.7.4}
+%{?with_system_zlib:Requires: zlib >= 1.2.3}
+Obsoletes: pdflib < 5
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define tcl_ver %(echo `echo "puts [info tclversion]" | tclsh`)
+%define tcl_libdir %{_libdir}/tcl%{tcl_ver}
+
+%description
+PDFlib is a library for generating PDF files. It offers an API with
+support for text, vector graphics, raster image, and hypertext. Call
+PDFlib routines from within your client program and voila: dynamic PDF
+files!
+
+PDFlib Lite is an open-source edition for basic PDF generation, free
+for personal use. PDFlib Lite does not support all languages, and is
+not available on EBCDIC platforms. PDFlib Lite supports only a subset
+of PDFlib features.
+
+%description -l pl.UTF-8
+PDFlib to biblioteka do generowania plików PDF. Oferuje API z obsługą
+tekstu, grafiki wektorowej, obrazów rastrowych i hipertekstu. Funkcje
+biblioteki PDFlib można wywoływać z programów klienckich, otrzymując
+dynamiczne pliki PDF.
+
+PDFlib Lite to wydanie biblioteki z otwartymi źródłami, pozwalające na
+generowanie podstawowych plików PDF, darmowe do użytku osobistego. Nie
+obsługuje wszystkich języków, nie jest dostępne na platformach EBCDIC.
+Obsługuje tylko podzbiór możliwości pełnej wersji biblioteki PDFlib.
+
+%package devel
+Summary: Header file for PDFlib Lite library
+Summary(pl.UTF-8): Plik nagłówkowy biblioteki PDFlib Lite
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+%{?with_system_libjpeg:BuildRequires: libjpeg-devel >= 6b}
+%{?with_system_libpng:BuildRequires: libpng-devel >= 2:1.2.36}
+%{?with_system_libtiff:BuildRequires: libtiff-devel >= 3.7.4}
+%{?with_system_zlib:BuildRequires: zlib-devel >= 1.2.3}
+Obsoletes: pdflib-devel < 5
+
+%description devel
+Header file for PDFlib Lite library.
+
+%description devel -l pl.UTF-8
+Plik nagłówkowy biblioteki PDFlib Lite.
+
+%package static
+Summary: Static PDFlib Lite library
+Summary(pl.UTF-8): Statyczna biblioteka PDFlib Lite
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Obsoletes: pdflib-static < 5
+
+%description static
+Static PDFlib Lite library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka PDFlib Lite.
+
+%package c++
+Summary: C++ binding for PDFlib Lite library
+Summary(pl.UTF-8): Wiązania C++ do biblioteki PDFlib Lite
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description c++
+C++ binding for PDFlib Lite library.
+
+%description c++ -l pl.UTF-8
+Wiązania C++ do biblioteki PDFlib Lite.
+
+%package c++-devel
+Summary: Header file for C++ PDFlib Lite binding
+Summary(pl.UTF-8): Plik nagłówkowy wiązań C++ do biblioteki PDFlib Lite
+Group: Development/Libraries
+Requires: %{name}-c++ = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Requires: libstdc++-devel
+
+%description c++-devel
+Header file for C++ PDFlib Lite binding.
+
+%description c++-devel -l pl.UTF-8
+Plik nagłówkowy wiązań C++ do biblioteki PDFlib Lite.
+
+%package c++-static
+Summary: Static C++ PDFlib Lite binding library
+Summary(pl.UTF-8): Statyczna biblioteka wiązań C++ do biblioteki PDFlib Lite
+Group: Development/Libraries
+Requires: %{name}-c++-devel = %{version}-%{release}
+
+%description c++-static
+Static C++ PDFlib Lite binding library.
+
+%description c++-static -l pl.UTF-8
+Statyczna biblioteka wiązań C++ do biblioteki PDFlib Lite.
+
+%package -n java-pdflib-lite
+Summary: Java bindings for PDFlib Lite library
+Summary(pl.UTF-8): Wiązania Javy do biblioteki PDFlib Lite
+Group: Development/Languages/Java
+Requires: %{name} = %{version}-%{release}
+Obsoletes: pdflib-java < 5
+
+%description -n java-pdflib-lite
+Java bindings for PDFlib Lite library.
+
+%description -n java-pdflib-lite -l pl.UTF-8
+Wiązania Javy do biblioteki PDFlib Lite.
+
+%package -n java-pdflib-lite-javadoc
+Summary: Documentation for Java PDFlib Lite binding
+Summary(pl.UTF-8): Dokumentacja wiązań Javy do biblioteki PDFlib Lite
+Group: Documentation
+%{?noarchpackage}
+
+%description -n java-pdflib-lite-javadoc
+Documentation for Java PDFlib Lite binding.
+
+%description -n java-pdflib-lite-javadoc -l pl.UTF-8
+Dokumentacja wiązań Javy do biblioteki PDFlib Lite.
+
+%package -n perl-pdflib-lite
+Summary: Perl bindings for PDFlib Lite library
+Summary(pl.UTF-8): Wiązania Perla do biblioteki PDFlib Lite
+Group: Development/Languages/Perl
+Requires: %{name} = %{version}-%{release}
+Obsoletes: pdflib-perl < 5
+Obsoletes: pdflib-perl5 < 5
+
+%description -n perl-pdflib-lite
+Perl bindings for PDFlib Lite library.
+
+%description -n perl-pdflib-lite -l pl.UTF-8
+Wiązania Perla do biblioteki PDFlib Lite.
+
+%package -n python-pdflib-lite
+Summary: Python 2 bindings for PDFlib Lite library
+Summary(pl.UTF-8): Wiązania Pythona 2 do biblioteki PDFlib Lite
+Group: Development/Languages/Python
+Requires: %{name} = %{version}-%{release}
+Obsoletes: pdflib-python < 5
+Obsoletes: pdflib-python1.5 < 5
+
+%description -n python-pdflib-lite
+Python 2 bindings for PDFlib Lite library.
+
+%description -n python-pdflib-lite -l pl.UTF-8
+Wiązania Pythona 2 do biblioteki PDFlib Lite.
+
+%package -n tcl-pdflib-lite
+Summary: Tcl bindings for PDFlib Lite library
+Summary(pl.UTF-8): Wiązania Tcl-a do biblioteki PDFlib Lite
+Group: Development/Languages/Tcl
+Requires: %{name} = %{version}-%{release}
+Obsoletes: pdflib-tcl < 5
+Obsoletes: pdflib-tcl8.0 < 5
+
+%description -n tcl-pdflib-lite
+Tcl bindings for PDFlib Lite library.
+
+%description -n tcl-pdflib-lite -l pl.UTF-8
+Wiązania Tcl-a do biblioteki PDFlib Lite.
+
+%prep
+%setup -q -n PDFlib-Lite-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+
+%{?with_system_zlib:%{__rm} -r libs/flate}
+%{?with_system_zlib:%{__sed} -i -e '/\/flate\// d' libs/pdflib/Make_objs2.inc}
+%{?with_system_libjpeg:%{__rm} -r libs/jpeg}
+%{?with_system_libjpeg:%{__sed} -i -e '/\/jpeg\// d' libs/pdflib/Make_objs2.inc}
+%{?with_system_libpng:%{__rm} -r libs/png}
+%{?with_system_libpng:%{__sed} -i -e '/\/png\// d' libs/pdflib/Make_objs2.inc}
+%{?with_system_libtiff:%{__rm} -r libs/tiff}
+%{?with_system_libtiff:%{__sed} -i -e '/\/tiff\// d' libs/pdflib/Make_objs2.inc}
+
+: >config/aclocal.m4
+
+%build
+%{__libtoolize}
+%{__aclocal} --output config/aclocal.m4
+%{__autoconf}
+%configure \
+ %{!?with_cxx:--disable-cxx} \
+ %{!?with_static_libs:--disable-static} \
+ --with-java=%{?with_java:%{java_home}}%{!?with_java:no} \
+%if %{with perl}
+ --with-perl=%{__perl} \
+ --with-perlincl=%{perl_archlib}/CORE \
+%else
+ --without-perl \
+%endif
+%if %{with python}
+ --with-py=%{py_sitedir} \
+ --with-pyincl=%{py_incdir} \
+%else
+ --without-py \
+%endif
+%if %{with ruby}
+ --with-ruby=%{__ruby} \
+ --with-rubyincl=%{ruby_rubyhdrdir} \
+%else
+ --without-ruby \
+%endif
+%if %{with tcl}
+ --with-tcl=%{_bindir}/tclsh \
+ --with-tclpkg=%{_libdir}/tcl%{tcl_ver} \
+%else
+ --without-tcl
+%endif
+
+%{__make}
+
+%if %{with cxx}
+cd bind/pdflib/cpp
+../../../libtool --mode=link %{__cxx} -o libpdf_cpp.la pdflib.lo ../../../libs/pdflib/libpdf.la -rpath %{_libdir}
+cd ../../..
+%endif
+
+%if %{with java}
+%{__make} -C bind/pdflib/java javadoc
+%endif
+
+%if %{with perl}
+%{__make} -C bind/pdflib/perl
+%endif
+
+%if %{with python}
+%{__make} -C bind/pdflib/python
+%endif
+
+%if %{with ruby}
+%{__make} -C bind/pdflib/ruby
+%endif
+
+%if %{with tcl}
+%{__make} -C bind/pdflib/tcl
+%endif
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%if %{with cxx}
+cd bind/pdflib/cpp
+../../../libtool --mode=install install libpdf_cpp.la $RPM_BUILD_ROOT%{_libdir}
+cp -p pdflib.hpp $RPM_BUILD_ROOT%{_includedir}
+cd ../../..
+%endif
+
+%if %{with java}
+install -d $RPM_BUILD_ROOT{%{_javadir},%{_javadocdir}}
+cp -p bind/pdflib/java/pdflib.jar $RPM_BUILD_ROOT%{_javadir}
+cp -pr bind/pdflib/java/javadoc $RPM_BUILD_ROOT%{_javadocdir}/pdflib
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libpdf_java.la
+%endif
+
+%if %{with perl}
+install -d $RPM_BUILD_ROOT%{perl_vendorarch}
+%{__make} -C bind/pdflib/perl install \
+ DESTDIR=$RPM_BUILD_ROOT
+%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/pdflib_pl.la
+%endif
+
+%if %{with python}
+install -d $RPM_BUILD_ROOT%{py_sitedir}
+%{__make} -C bind/pdflib/python install \
+ DESTDIR=$RPM_BUILD_ROOT
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/pdflib_py.la
+%endif
+
+%if %{with ruby}
+%{__make} -C bind/pdflib/ruby install \
+ DESTDIR=$RPM_BUILD_ROOT
+%endif
+
+%if %{with tcl}
+%{__make} -C bind/pdflib/tcl install \
+ DESTDIR=$RPM_BUILD_ROOT
+%{__rm} $RPM_BUILD_ROOT%{tcl_libdir}/pdflib/pdflib_tcl.la
+%endif
+
+# ensure soname deps are generated
+find $RPM_BUILD_ROOT%{_libdir} -name '*.so*' | xargs chmod 755
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%post c++ -p /sbin/ldconfig
+%postun c++ -p /sbin/ldconfig
+
+%post -n java-pdflib-lite -p /sbin/ldconfig
+%postun -n java-pdflib-lite -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc readme.txt doc/PDFlib-terms-and-conditions.pdf doc/pdflib/{PDFlib-Lite-license.pdf,changes.txt}
+%attr(755,root,root) %{_bindir}/pdfimage
+%attr(755,root,root) %{_bindir}/text2pdf
+%attr(755,root,root) %{_libdir}/libpdf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpdf.so.6
+
+%files devel
+%defattr(644,root,root,755)
+%doc doc/pdflib/{PDFlib-API-reference.pdf,PDFlib-tutorial.pdf,compatibility.txt}
+%attr(755,root,root) %{_bindir}/pdflib-config
+%attr(755,root,root) %{_libdir}/libpdf.so
+%{_libdir}/libpdf.la
+%{_includedir}/pdflib.h
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libpdf.a
+%endif
+
+%if %{with cxx}
+%files c++
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpdf_cpp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpdf_cpp.so.0
+
+%files c++-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpdf_cpp.so
+%{_libdir}/libpdf_cpp.la
+%{_includedir}/pdflib.hpp
+
+%if %{with static_libs}
+%files c++-static
+%defattr(644,root,root,755)
+%{_libdir}/libpdf_cpp.a
+%endif
+%endif
+
+%if %{with java}
+%files -n java-pdflib-lite
+%defattr(644,root,root,755)
+%doc bind/pdflib/java/readme.txt
+%attr(755,root,root) %{_libdir}/libpdf_java.so
+%{_javadir}/pdflib.jar
+
+%files -n java-pdflib-lite-javadoc
+%defattr(644,root,root,755)
+%{_javadocdir}/pdflib
+%endif
+
+%if %{with perl}
+%files -n perl-pdflib-lite
+%defattr(644,root,root,755)
+%doc bind/pdflib/perl/readme.txt
+%{perl_vendorarch}/pdflib_pl.pm
+%attr(755,root,root) %{perl_vendorarch}/pdflib_pl.so
+%endif
+
+%if %{with perl}
+%files -n python-pdflib-lite
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/pdflib_py.so
+%endif
+
+%if %{with tcl}
+%files -n tcl-pdflib-lite
+%defattr(644,root,root,755)
+%doc bind/pdflib/tcl/readme.txt
+%dir %{tcl_libdir}/pdflib
+%attr(755,root,root) %{tcl_libdir}/pdflib/pdflib_tcl.so
+%{tcl_libdir}/pdflib/pkgIndex.tcl
+%endif
diff --git a/pdflib-lite-format.patch b/pdflib-lite-format.patch
new file mode 100644
index 0000000..783a2dd
--- /dev/null
+++ b/pdflib-lite-format.patch
@@ -0,0 +1,14 @@
+--- PDFlib-Lite-7.0.5p3/bind/pdflib/perl/pdflib_pl.c.orig 2012-06-06 13:59:04.000000000 +0200
++++ PDFlib-Lite-7.0.5p3/bind/pdflib/perl/pdflib_pl.c 2020-11-18 17:56:44.360124144 +0100
+@@ -378,10 +378,8 @@
+ #define SWIG_exception(msg) croak(msg)
+ #define try PDF_TRY(p)
+ #define catch PDF_CATCH(p) { \
+- char errmsg[1024];\
+- sprintf(errmsg, "PDFlib Error [%d] %s: %s", PDF_get_errnum(p),\
++ croak("PDFlib Error [%d] %s: %s", PDF_get_errnum(p),\
+ PDF_get_apiname(p), PDF_get_errmsg(p));\
+- SWIG_exception(errmsg); \
+ }
+
+ /* }}} */
diff --git a/pdflib-lite-libtool.patch b/pdflib-lite-libtool.patch
new file mode 100644
index 0000000..d9d14e0
--- /dev/null
+++ b/pdflib-lite-libtool.patch
@@ -0,0 +1,11 @@
+--- PDFlib-Lite-7.0.5p3/config/mkmainlib.inc.in.orig 2020-11-19 17:26:48.045119985 +0100
++++ PDFlib-Lite-7.0.5p3/config/mkmainlib.inc.in 2020-11-19 18:24:35.243003229 +0100
+@@ -29,7 +29,7 @@
+ @-if test "$(WITH_SHARED)" = "no"; then \
+ cp .libs/$(MAINLIBNAME) .libs/$(MAINLIBNAME)i;\
+ fi
+- $(LIBTOOL) $(INSTALL_DATA) $(MAINLIBNAME) $(DESTDIR)$(libdir);
++ $(LIBTOOL) --mode=install $(INSTALL_DATA) $(MAINLIBNAME) $(DESTDIR)$(libdir);
+ @-if test "$(WITH_SHARED)" = "yes"; then \
+ $(LIBTOOL) -n --finish $(DESTDIR)$(libdir);\
+ else\
diff --git a/pdflib-lite-modules.patch b/pdflib-lite-modules.patch
new file mode 100644
index 0000000..b6dced6
--- /dev/null
+++ b/pdflib-lite-modules.patch
@@ -0,0 +1,40 @@
+--- PDFlib-Lite-7.0.5p3/bind/pdflib/java/Makefile.orig 2012-06-06 13:59:04.000000000 +0200
++++ PDFlib-Lite-7.0.5p3/bind/pdflib/java/Makefile 2020-11-18 21:27:58.221463946 +0100
+@@ -15,6 +15,7 @@
+
+ DEPLIBS = $(BIND_PDFLIBLINK)
+ LIBS = $(DEPLIBS)
++LDFLAGS += -avoid-version -shared
+ INCLUDES = $(PDFLIBINC) $(PDCORELIBINC) $(JAVAINCLUDE)
+
+ LANG_LIBDIR = $(DESTDIR)$(libdir)
+--- PDFlib-Lite-7.0.5p3/bind/pdflib/perl/Makefile.orig 2012-06-06 13:59:04.000000000 +0200
++++ PDFlib-Lite-7.0.5p3/bind/pdflib/perl/Makefile 2020-11-18 20:42:08.533026953 +0100
+@@ -8,6 +8,7 @@
+
+ DEPLIBS = $(PDFLIBLINK)
+ LIBS = $(DEPLIBS)
++LDFLAGS += -avoid-version -shared
+ INCLUDES = $(PDFLIBINC) $(PERLBOOLDEF) $(PERLINCLUDE)
+ # special CFLAGS, as -ansi is not working here.
+ PDFPEDANTIC =
+--- PDFlib-Lite-7.0.5p3/bind/pdflib/python/Makefile.orig 2012-06-06 13:59:04.000000000 +0200
++++ PDFlib-Lite-7.0.5p3/bind/pdflib/python/Makefile 2020-11-18 20:42:49.736137070 +0100
+@@ -7,6 +7,7 @@
+
+ DEPLIBS = $(PDFLIBLINK)
+ LIBS = $(DEPLIBS)
++LDFLAGS += -avoid-version -shared
+ INCLUDES = $(PDFLIBINC) $(PYINCLUDE) $(PDCORELIBINC)
+ # special CFLAGS, as -ansi is not working here.
+ PDFPEDANTIC =
+--- PDFlib-Lite-7.0.5p3/bind/pdflib/tcl/Makefile.orig 2020-11-18 19:10:38.999432975 +0100
++++ PDFlib-Lite-7.0.5p3/bind/pdflib/tcl/Makefile 2020-11-18 20:43:08.889366642 +0100
+@@ -11,6 +11,7 @@
+ PDFPEDANTIC =
+ DEPLIBS = $(PDFLIBLINK)
+ LIBS = $(DEPLIBS) $(TCLLIB)
++LDFLAGS += -avoid-version -shared
+ INCLUDES = $(PDFLIBINC) $(TCLINCLUDE) -DUSE_INTERP_RESULT
+
+ LANG_LIBDIR = $(DESTDIR)$(TCLPACKAGEDIR)
diff --git a/pdflib-lite-perl.patch b/pdflib-lite-perl.patch
new file mode 100644
index 0000000..f05f4b0
--- /dev/null
+++ b/pdflib-lite-perl.patch
@@ -0,0 +1,11 @@
+--- PDFlib-Lite-7.0.5p3/configure.in.orig 2012-06-06 13:58:57.000000000 +0200
++++ PDFlib-Lite-7.0.5p3/configure.in 2020-11-18 21:27:03.171762176 +0100
+@@ -751,7 +751,7 @@
+ WITH_PERL=no
+ fi
+
+- PERLLIBDIR=`($PERL -e 'use Config; print $Config{sitearchexp};') 2>/dev/null`
++ PERLLIBDIR=`($PERL -e 'use Config; print $Config{vendorarchexp};') 2>/dev/null`
+ if test -z "$PERLLIBDIR" -o ! -d "$PERLLIBDIR"; then
+ AC_MSG_RESULT( unable to determine perl shared library directory)
+ fi
diff --git a/pdflib-lite-python.patch b/pdflib-lite-python.patch
new file mode 100644
index 0000000..0344d70
--- /dev/null
+++ b/pdflib-lite-python.patch
@@ -0,0 +1,13 @@
+--- PDFlib-Lite-7.0.5p3/configure.in.orig 2020-11-18 21:27:03.171762176 +0100
++++ PDFlib-Lite-7.0.5p3/configure.in 2020-11-18 21:57:20.398584079 +0100
+@@ -896,8 +896,8 @@
+ else
+ PYTHONLIBDIR=`cat << EOF | python
+ import sys
+-import string
+-print string.join(filter(lambda x: -1 != string.find(x, 'dynload'), sys.path))
++from distutils import sysconfig
++print sysconfig.get_python_lib(1,0,prefix="$prefix")
+ EOF
+ `
+ if test "$PYTHONLIBDIR" = "" ; then
diff --git a/pdflib-lite-shared.patch b/pdflib-lite-shared.patch
new file mode 100644
index 0000000..d5c4097
--- /dev/null
+++ b/pdflib-lite-shared.patch
@@ -0,0 +1,25 @@
+--- PDFlib-Lite-7.0.5p3/configure.in.orig 2020-11-21 10:31:33.597288532 +0100
++++ PDFlib-Lite-7.0.5p3/configure.in 2020-11-21 13:28:30.903102986 +0100
+@@ -1332,7 +1332,7 @@
+ PDFLIBLINK="\$(top_builddir)/libs/pdflib/.libs/libs_lib$PDFLIBNAME.al"
+ print "UNIVERSAL: .libs/libs_libpdflib.al"
+ else
+- PDFLIBLINK="\$(top_builddir)/libs/pdflib/libs_lib$PDFLIBNAME\$(LA)"
++ PDFLIBLINK="\$(top_builddir)/libs/pdflib/lib$PDFLIBNAME\$(LA)"
+ fi
+ PDFLIB_LINK="\$(top_builddir)/libs/pdflib/libpdf_\$(LA)"
+ LIBTARGETS="$LIBTARGETS pdflib"
+--- PDFlib-Lite-7.0.5p3/config/mkprogs.inc.in.orig 2020-11-20 21:35:27.446225689 +0100
++++ PDFlib-Lite-7.0.5p3/config/mkprogs.inc.in 2020-11-20 21:50:38.807955086 +0100
+@@ -1,9 +1,9 @@
+ PROGS_BUILD = $(LIBTOOL_CC) $(CC) -c $(CPPFLAGS) $(CFLAGS) $@.c
+ CXXPROGS_BUILD = $(LIBTOOL_CC) $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) \
+ $@.cpp $(EXTRA_SOURCES)
+-PROGS_LINK = $(LIBTOOL_LD) $(CC) -static -o $@ $@$(LO) $(LDFLAGS) \
++PROGS_LINK = $(LIBTOOL_LD) $(CC) -o $@ $@$(LO) $(LDFLAGS) \
+ $(EXTRA_OBJS) $(LIBS) $(EXTERNALLIBS)
+-CXXPROGS_LINK = $(LIBTOOL_LD) $(CXX) -static -o $@ $@$(LO) \
++CXXPROGS_LINK = $(LIBTOOL_LD) $(CXX) -o $@ $@$(LO) \
+ $(CXXFLAGS) $(LDFLAGS) $(EXTRA_OBJS) $(LIBS) $(EXTERNALLIBS)
+
+ all:: $(PROGS)
diff --git a/pdflib-lite-system-libs.patch b/pdflib-lite-system-libs.patch
new file mode 100644
index 0000000..7011574
--- /dev/null
+++ b/pdflib-lite-system-libs.patch
@@ -0,0 +1,160 @@
+--- PDFlib-Lite-7.0.5p3/configure.in.orig 2020-11-19 21:50:47.889308185 +0100
++++ PDFlib-Lite-7.0.5p3/configure.in 2020-11-19 22:29:37.650020122 +0100
+@@ -1136,7 +1136,7 @@
+ LIBTARGETS="$LIBTARGETS flate"
+ else
+ FLATELIBINC=""
+- FLATELIBLINK=""
++ FLATELIBLINK="-lz"
+ fi
+ AC_SUBST(FLATELIBLINK)
+ AC_SUBST(FLATELIBINC)
+@@ -1147,7 +1147,7 @@
+ PNGLIBLINK="\$(top_builddir)/libs/png/libpng\$(LA)"
+ LIBTARGETS="$LIBTARGETS png"
+ else
+ PNGLIBINC=""
+- PNGLIBLINK=""
++ PNGLIBLINK="-lpng"
+ fi
+ AC_SUBST(PNGLIBINC)
+@@ -1160,7 +1160,7 @@
+ LIBTARGETS="$LIBTARGETS tiff"
+ else
+ TIFFLIBINC=""
+- TIFFLIBLINK=""
++ TIFFLIBLINK="-ltiff"
+ fi
+ AC_SUBST(TIFFLIBINC)
+ AC_SUBST(TIFFLIBLINK)
+@@ -1172,7 +1172,7 @@
+ LIBTARGETS="$LIBTARGETS jpeg"
+ else
+ JPEGLIBINC=""
+- JPEGLIBLINK=""
++ JPEGLIBLINK="-ljpeg"
+ fi
+ AC_SUBST(JPEGLIBINC)
+ AC_SUBST(JPEGLIBLINK)
+@@ -1184,7 +1184,7 @@
+ LIBTARGETS="$LIBTARGETS expat"
+ else
+ EXPATLIBINC=""
+- EXPATLIBLINK=""
++ EXPATLIBLINK="-lexpat"
+ fi
+ AC_SUBST(EXPATLIBINC)
+ AC_SUBST(EXPATLIBLINK)
+@@ -1204,7 +1204,8 @@
+ OPENSSLLIBLINK="-L/usr/local/ssl/lib -lcrypto -lssl"
+ LIBTARGETS="$LIBTARGETS expat"
+ else
+- WITH_OPENSLL=no
++ OPENSSLLIBINC="-DPDF_FEATURE_DIGSIG -I/usr/include/openssl"
++ OPENSSLLIBLINK="-lcrypto -lssl"
+ fi
+ fi
+ AC_SUBST(OPENSSLLIBINC)
+@@ -1235,7 +1236,8 @@
+ LIBTARGETS="$LIBTARGETS icutle"
+ fi
+ else
+- WITH_ICU=no
++ ICULIBINC="-I/usr/include/unicode"
++ ICULIBLINK="-licuio -licuuc -licui18n -licudata -licule -liculx"
+ fi
+ fi
+
+@@ -1621,7 +1621,7 @@
+
+ CFLAGS="$CFLAGS $PLATFORM"
+
+-PDFLIBCONVENIENT="$PDFLIB_LINK \$(top_builddir)/libs/pdflib/\$(OO)/pdflib\$(LO) $PDCORELIBLINK $PNGLIBLINK $FLATELIBLINK $TIFFLIBLINK $PDILIBLINK $JPEGLIBLINK $PLOPLIB_LINK $FONTLIBLINK $PDPAGELIBLINK $EXPATLIBLINK"
++PDFLIBCONVENIENT="$PDFLIB_LINK \$(top_builddir)/libs/pdflib/\$(OO)/pdflib\$(LO) $PDCORELIBLINK $PNGLIBLINK $FLATELIBLINK $TIFFLIBLINK $PDILIBLINK $JPEGLIBLINK $PLOPLIB_LINK $FONTLIBLINK $PDPAGELIBLINK"
+
+ if test "$WITH_SHARED" = "no"; then
+ dnl We can generate a static lib only, but not a shared
+--- PDFlib-Lite-7.0.5p3/libs/pdflib/p_jpeg.c.orig 2012-06-06 13:59:00.000000000 +0200
++++ PDFlib-Lite-7.0.5p3/libs/pdflib/p_jpeg.c 2020-11-20 18:33:21.408750447 +0100
+@@ -52,7 +52,7 @@
+
+ #else
+
+-#include "jinclude.h"
++#include "jconfig.h"
+ #include "jpeglib.h"
+
+ /*
+@@ -302,7 +302,7 @@
+
+ cinfo->src = (struct jpeg_source_mgr *)
+ (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
+- SIZEOF(pdf_source_mgr));
++ sizeof(pdf_source_mgr));
+
+ src = (pdf_src_ptr) cinfo->src;
+ src->pub.init_source = pdf_init_JPEG_source;
+@@ -345,7 +345,7 @@
+
+ dest->buffer = (JOCTET *)
+ (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
+- OUTPUT_BUF_SIZE * SIZEOF(JOCTET));
++ OUTPUT_BUF_SIZE * sizeof(JOCTET));
+
+ dest->pub.next_output_byte = dest->buffer;
+ dest->pub.free_in_buffer = OUTPUT_BUF_SIZE;
+@@ -381,7 +381,7 @@
+
+ cinfo->dest = (struct jpeg_destination_mgr *)
+ (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
+- SIZEOF(pdf_destination_mgr));
++ sizeof(pdf_destination_mgr));
+
+ dest = (pdf_dest_ptr) cinfo->dest;
+ dest->pub.init_destination = pdf_init_JPEG_destination;
+--- PDFlib-Lite-7.0.5p3/libs/pdflib/p_png.c.orig 2012-06-06 13:59:00.000000000 +0200
++++ PDFlib-Lite-7.0.5p3/libs/pdflib/p_png.c 2020-11-20 20:15:40.512158737 +0100
+@@ -78,7 +78,7 @@
+ static void
+ pdf_png_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
+ {
+- pdc_file *fp = (pdc_file *) png_ptr->io_ptr;
++ pdc_file *fp = (pdc_file *) png_get_io_ptr(png_ptr);
+ char *filename = (char *) pdc_file_name(fp);
+
+ if (!PDC_OK_FREAD(fp, data, length))
+@@ -96,14 +96,14 @@
+ static void
+ pdf_libpng_warning_handler(png_structp png_ptr, png_const_charp message)
+ {
+- PDF *p = (PDF *)png_ptr->mem_ptr;
++ PDF *p = (PDF *)png_get_mem_ptr(png_ptr);
+ pdc_logg_cond(p->pdc, 5, trc_image, "\tlibpng warning: %s\n", message);
+ }
+
+ static void
+ pdf_libpng_error_handler(png_structp png_ptr, png_const_charp message)
+ {
+- PDF *p = (PDF *)png_ptr->mem_ptr;
++ PDF *p = (PDF *)png_get_mem_ptr(png_ptr);
+
+ pdc_logg_cond(p->pdc, 5, trc_image, "\tlibpng error: %s\n", message);
+
+@@ -114,7 +114,7 @@
+ static void *
+ pdf_libpng_malloc(png_structp png_ptr, size_t size)
+ {
+- PDF *p = (PDF *)png_ptr->mem_ptr;
++ PDF *p = (PDF *)png_get_mem_ptr(png_ptr);
+
+ return pdc_malloc(p->pdc, size, "libpng");
+ }
+@@ -122,7 +122,7 @@
+ static void
+ pdf_libpng_free(png_structp png_ptr, void *mem)
+ {
+- PDF *p = (PDF *)png_ptr->mem_ptr;
++ PDF *p = (PDF *)png_get_mem_ptr(png_ptr);
+
+ pdc_free(p->pdc, mem);
+ }
diff --git a/pdflib-lite-tcl.patch b/pdflib-lite-tcl.patch
new file mode 100644
index 0000000..1fd2e67
--- /dev/null
+++ b/pdflib-lite-tcl.patch
@@ -0,0 +1,13 @@
+Force to build against Tcl 8.6 despite using deprecated API.
+
+--- PDFlib-Lite-7.0.5p3/bind/pdflib/tcl/Makefile.orig 2012-06-06 13:59:04.000000000 +0200
++++ PDFlib-Lite-7.0.5p3/bind/pdflib/tcl/Makefile 2020-11-18 19:08:18.536860593 +0100
+@@ -11,7 +11,7 @@
+ PDFPEDANTIC =
+ DEPLIBS = $(PDFLIBLINK)
+ LIBS = $(DEPLIBS) $(TCLLIB)
+-INCLUDES = $(PDFLIBINC) $(TCLINCLUDE)
++INCLUDES = $(PDFLIBINC) $(TCLINCLUDE) -DUSE_INTERP_RESULT
+
+ LANG_LIBDIR = $(DESTDIR)$(TCLPACKAGEDIR)
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/pdflib-lite.git/commitdiff/e07a09d2cbb18d82474989042b700725d47af03e
More information about the pld-cvs-commit
mailing list