]> git.pld-linux.org Git - packages/pdflib.git/blobdiff - pdflib.spec
simplify jdk BR
[packages/pdflib.git] / pdflib.spec
index 36b232dd4414a2328ae51d7483d732f1905bb423..4ac1e28c4da0628d850868fdbfa815e105a9f7d9 100644 (file)
@@ -1,28 +1,53 @@
+# 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
 
-%include       /usr/lib/rpm/macros.perl
-%include       /usr/lib/rpm/macros.python
+%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
+
+%{?with_java:%{?use_default_jdk}}
 
 Summary:       Portable C library for dynamically generating PDF files
-Summary(pl):   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:       5
+Release:       45
 License:       Aladdin Free Public License
 Group:         Libraries
-Source0:       http://www.pdflib.com/pdflib/download/%{name}-%{version}.tar.gz
-# Source0-md5: 1b9e0d16f3e695902301aa26b6e92513
+Source0:       %{name}-%{version}.tar.gz
+# Source0-md5: 1b9e0d16f3e695902301aa26b6e92513
 Patch0:                %{name}-DESTDIR.patch
 Patch1:                %{name}-shared-libs.patch
 Patch2:                %{name}-perl_paths.patch
-URL:           http://www.pdflib.com/
+Patch3:                %{name}-pdflib_pl_pm_VERSION.patch
+Patch4:                %{name}-ac.patch
+Patch5:                %{name}-build.patch
+Patch6:                %{name}-libpng.patch
+Patch7:                format-security.patch
+Patch8:                %{name}-flags.patch
+Patch9:                java-paths.patch
+URL:           https://www.pdflib.com/
 BuildRequires: autoconf
 BuildRequires: automake
+%{?with_java:%buildrequires_jdk}
 BuildRequires: libpng-devel >= 1.0.8
 BuildRequires: libtiff-devel
-BuildRequires: libtool >= 0:1.4.2-9
-BuildRequires: perl-devel >= 5.6.1
+BuildRequires: libtool >= 1:1.4.2-9
+BuildRequires: perl-devel >= 1:5.8.0
 BuildRequires: python-devel >= 2.2
 BuildRequires: python-modules >= 2.2
+BuildRequires: rpm-perlprov >= 4.1-13
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 2.021
 BuildRequires: tcl-devel
 BuildRequires: zlib-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -37,91 +62,114 @@ files! For detailed instructions on PDFlib programming and the
 associated API, see the PDFlib Programming Manual, included in PDF
 format in the PDFlib distribution.
 
-%description -l pl
-PDFlib to biblioteka w C do generowania plików PDF. Oferuje ona API do
-obs³ugi grafiki ze wsparciem dla rysowania, tekstów, fontów, obrazków
+%description -l pl.UTF-8
+PDFlib to biblioteka w C do generowania plików PDF. Oferuje ona API do
+obsługi grafiki ze wsparciem dla rysowania, tekstów, fontów, obrazków
 oraz hipertekstu.
 
 %package devel
 Summary:       Header file for pdflib
-Summary(pl):   Pliki nag³ówkowe dla %{name}
+Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki pdflib
 Group:         Development/Libraries
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
+Requires:      libpng-devel >= 1.0.8
+Requires:      libtiff-devel
 
 %description devel
 This package contains the files needed for compiling programs using
 the PDF library.
 
-%description devel -l pl
-Pakiet zawiera pliki potrzebne do kompilacji programów u¿ywaj±cych
+%description devel -l pl.UTF-8
+Pakiet zawiera pliki potrzebne do kompilacji programów używających
 biblioteki PDF.
 
+%package static
+Summary:       Static pdflib library
+Summary(pl.UTF-8):     Statyczna biblioteka pdflib
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description static
+Static pdflib library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka pdflib.
+
+%package java
+Summary:       Java bindings for pdflib
+Summary(pl.UTF-8):     Dowiązania Javy do pdflib
+Group:         Development/Languages/Java
+Requires:      %{name} = %{version}-%{release}
+
+%description java
+Java bindings for pdflib.
+
+%description java -l pl.UTF-8
+Dowiązania Javy do pdflib.
+
 %package perl
 Summary:       Perl bindings for pdflib
-Summary(pl):   Dowi±zania Perla do pdflib
+Summary(pl.UTF-8):     Dowiązania Perla do pdflib
 Group:         Development/Languages/Perl
-Requires:      %{name} = %{version}
-Obsoletes:     %{name}-perl5
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     pdflib-perl5 < 4.0.1
 
 %description perl
 Perl bindings for pdflib.
 
-%description perl -l pl
-Dowi±zania Perla do pdflib.
+%description perl -l pl.UTF-8
+Dowiązania Perla do pdflib.
 
 %package tcl
 Summary:       Tcl bindings for pdflib
-Summary(pl):   Dowi±zania Tcl do pdflib
+Summary(pl.UTF-8):     Dowiązania Tcl do pdflib
 Group:         Development/Languages/Tcl
-Requires:      %{name} = %{version}
-Obsoletes:     %{name}-tcl8.0
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     pdflib-tcl8.0 < 4.0.1
 
 %description tcl
 Tcl bindings for pdflib.
 
-%description tcl -l pl
-Dowi±zania TCL dla pdflib.
+%description tcl -l pl.UTF-8
+Dowiązania Tcl dla pdflib.
 
 %package python
 Summary:       Python bindings for pdflib
-Summary(pl):   Dowi±zania pythona dla pdflib
+Summary(pl.UTF-8):     Dowiązania pythona dla pdflib
 Group:         Development/Languages/Python
-Requires:      %{name} = %{version}
+Requires:      %{name} = %{version}-%{release}
 %pyrequires_eq python
-Obsoletes:     %{name}-python1.5
+Obsoletes:     pdflib-python1.5 < 4.0.1
 
 %description python
 Python bindings for pdflib.
 
-%description python -l pl
-Dowi±zania pythona dla pdflib.
-
-%package static
-Summary:       Static libraries for pdflib
-Summary(pl):   Statyczna biblioteka pdflib
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}
-
-%description static
-Static libraries for pdflib.
-
-%description static -l pl
-Statyczna biblioteka pdflib.
+%description python -l pl.UTF-8
+Dowiązania pythona dla pdflib.
 
 %prep
 %setup -q
 %patch0 -p1
 %patch1 -p1
 %patch2 -p0
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
 
 %build
 %{__libtoolize}
-%{__aclocal} --output=config/aclocal.m4
+%{__aclocal}
 %{__autoconf}
 %configure \
+       CFLAGS="-DUSE_INTERP_RESULT %{rpmcflags}" \
        --enable-cxx \
-       --enable-shared-pdflib \
-       --with-py=%{py_sitedir} --with-pyincl=%{py_incdir} \
+       %{?with_java:--with-java=%{java_home}}%{!?with_java:--without-java} \
+       --with-py=%{py_sitedir} \
+       --with-pyincl=%{py_incdir} \
        --with-perl=%{__perl} \
        --with-perlincl=%{perl_archlib}/CORE \
        --with-tcl=%{_bindir}/tclsh \
@@ -130,7 +178,10 @@ Statyczna biblioteka pdflib.
        --with-pnglib \
        --with-tifflib
 
-%{__make} CPPFLAGS="$CPPFLAGS"
+%{__make} \
+       JAVA="%{java_home}/bin/java" \
+       JAVAC="%{java_home}/bin/javac" \
+       JAR="%{java_home}/bin/jar"
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -138,7 +189,18 @@ 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}
+cp -p bind/java/pdflib.jar $RPM_BUILD_ROOT%{_javadir}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libpdf_java.{la,a}
+%endif
+
+%{__rm} $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
@@ -146,21 +208,38 @@ rm -rf $RPM_BUILD_ROOT
 %post   -p /sbin/ldconfig
 %postun -p /sbin/ldconfig
 
+%post  java -p /sbin/ldconfig
+%postun        java -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
 %doc readme.txt doc/{changes,compatibility,readme_unix}.txt
 %doc doc/aladdin-license.pdf
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%attr(755,root,root) %{_libdir}/libpdf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpdf.so.1
 
 %files devel
 %defattr(644,root,root,755)
 %doc doc/PDFlib-manual.pdf
 %attr(755,root,root) %{_bindir}/pdflib-config
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_libdir}/lib*.la
+%attr(755,root,root) %{_libdir}/libpdf.so
+%{_libdir}/libpdf.la
 %{_includedir}/pdflib.h
 %{_includedir}/pdflib.hpp
 
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libpdf.a
+
+%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) %ghost %{_libdir}/libpdf_java.so.0
+%{_javadir}/pdflib.jar
+%endif
+
 %files perl
 %defattr(644,root,root,755)
 %{perl_vendorarch}/pdflib_pl.pm
@@ -168,16 +247,10 @@ rm -rf $RPM_BUILD_ROOT
 
 %files tcl
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/tcl*/pdflib/pdflib_tcl.so.*
+%dir %{_libdir}/tcl*/pdflib
+%attr(755,root,root) %{_libdir}/tcl*/pdflib/pdflib_tcl.so*
 %{_libdir}/tcl*/pdflib/pkgIndex.tcl
 
 %files python
 %defattr(644,root,root,755)
-%attr(755,root,root) %{py_libdir}/lib-dynload/pdflib_py.so.*
-
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libpdf.a
-%{perl_vendorarch}/pdflib_pl.a
-%{_libdir}/tcl*/pdflib/pdflib_tcl.a
-%{py_libdir}/lib-dynload/pdflib_py.a
+%attr(755,root,root) %{py_libdir}/lib-dynload/pdflib_py.so*
This page took 0.056705 seconds and 4 git commands to generate.