+# TODO
+# - where to install libpdf_java.so? %{_libdir} does not seem to be good
+# choice. BTW what is standard java.library.path in other distros?
+# - do we really need to package libpdf_(binding).so.*? libpdf_(binding).so
+# should be enough for python, perl and tcl. -- patch linking with -avoid-version
+# - fix install so that executable perms are preserved
#
# Conditional build:
%bcond_without java # Java binding
-#
+
%ifnarch i586 i686 pentium3 pentium4 athlon %{x8664}
%undefine with_java
%endif
-#
+
+%define skip_post_check_so pdflib_pl.so.0.0.0 pdflib_tcl.so.0.0.0 pdflib_py.so.0.0.0
+
%include /usr/lib/rpm/macros.perl
Summary: Portable C library for dynamically generating PDF files
-Summary(pl.UTF-8): Przenośna biblioteka C do dynamicznego generowania plików PDF
+Summary(pl.UTF-8): Przenośna biblioteka C do dynamicznego generowania plików PDF
Name: pdflib
Version: 4.0.3
-Release: 13
+Release: 33
License: Aladdin Free Public License
Group: Libraries
Source0: %{name}-%{version}.tar.gz
Patch1: %{name}-shared-libs.patch
Patch2: %{name}-perl_paths.patch
Patch3: %{name}-pdflib_pl_pm_VERSION.patch
+Patch4: %{name}-ac.patch
+Patch5: %{name}-build.patch
+Patch6: %{name}-libpng.patch
+Patch7: format-security.patch
URL: http://www.pdflib.com/
BuildRequires: autoconf
BuildRequires: automake
%package devel
Summary: Header file for pdflib
-Summary(pl.UTF-8): Pliki nagłówkowe biblioteki pdflib
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki pdflib
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: libpng-devel >= 1.0.8
%package static
Summary: Static pdflib library
-Summary(pl.UTF-8): Statyczna biblioteka pdflib
+Summary(pl.UTF-8): Statyczna biblioteka pdflib
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%package java
Summary: Java bindings for pdflib
-Summary(pl.UTF-8): Dowiązania Javy do pdflib
+Summary(pl.UTF-8): Dowiązania Javy do pdflib
Group: Development/Languages/Java
Requires: %{name} = %{version}-%{release}
%package perl
Summary: Perl bindings for pdflib
-Summary(pl.UTF-8): Dowiązania Perla do pdflib
+Summary(pl.UTF-8): Dowiązania Perla do pdflib
Group: Development/Languages/Perl
Requires: %{name} = %{version}-%{release}
Obsoletes: pdflib-perl5
%package tcl
Summary: Tcl bindings for pdflib
-Summary(pl.UTF-8): Dowiązania Tcl do pdflib
+Summary(pl.UTF-8): Dowiązania Tcl do pdflib
Group: Development/Languages/Tcl
Requires: %{name} = %{version}-%{release}
Obsoletes: pdflib-tcl8.0
%package python
Summary: Python bindings for pdflib
-Summary(pl.UTF-8): Dowiązania pythona dla pdflib
+Summary(pl.UTF-8): Dowiązania pythona dla pdflib
Group: Development/Languages/Python
Requires: %{name} = %{version}-%{release}
%pyrequires_eq python
%patch1 -p1
%patch2 -p0
%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
%build
%{__libtoolize}
-%{__aclocal} --output=config/aclocal.m4
+%{__aclocal}
%{__autoconf}
%configure \
+ CFLAGS="-DUSE_INTERP_RESULT %{rpmcflags}" \
--enable-cxx \
--enable-shared-pdflib \
- --with%{!?with_java:out}-java \
+ %{?with_java:--with-java=%{java_home}}%{!?with_java:--without-java} \
--with-py=%{py_sitedir} \
--with-pyincl=%{py_incdir} \
--with-perl=%{__perl} \
%install
rm -rf $RPM_BUILD_ROOT
-
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install bind/cpp/pdflib.hpp $RPM_BUILD_ROOT%{_includedir}
+cp -p bind/cpp/pdflib.hpp $RPM_BUILD_ROOT%{_includedir}
%if %{with java}
install -d $RPM_BUILD_ROOT%{_javadir}
-install bind/java/pdflib.jar $RPM_BUILD_ROOT%{_javadir}
+cp -p bind/java/pdflib.jar $RPM_BUILD_ROOT%{_javadir}
rm -f $RPM_BUILD_ROOT%{_libdir}/libpdf_java.{la,a}
%endif
rm -f $RPM_BUILD_ROOT{%{perl_vendorarch},%{_libdir}/tcl*/pdflib,%{py_libdir}/lib-dynload}/pdflib*.{la,a}
+# ensure soname deps are generated
+find $RPM_BUILD_ROOT -name '*.so*' | xargs chmod +x
+
%clean
rm -rf $RPM_BUILD_ROOT
%doc readme.txt doc/{changes,compatibility,readme_unix}.txt
%doc doc/aladdin-license.pdf
%attr(755,root,root) %{_libdir}/libpdf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpdf.so.1
%files devel
%defattr(644,root,root,755)
%if %{with java}
%files java
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libpdf_java.so.*.*.*
%attr(755,root,root) %{_libdir}/libpdf_java.so
+%attr(755,root,root) %{_libdir}/libpdf_java.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpdf_java.so.0
%{_javadir}/pdflib.jar
%endif