]> git.pld-linux.org Git - packages/pdflib.git/blobdiff - pdflib.spec
simplify jdk BR
[packages/pdflib.git] / pdflib.spec
index 381aea3e283d1f28af78fa0582b3a46623629d15..4ac1e28c4da0628d850868fdbfa815e105a9f7d9 100644 (file)
@@ -1,33 +1,59 @@
-%include        /usr/lib/rpm/macros.perl
+# 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
 
-%define python_dir %(echo `python -c "import sys; print (sys.prefix + '/lib/python' + sys.version[:3])"`)
-%define python_include_dir %(echo `python -c "import sys; print (sys.prefix + '/include/python' + sys.version[:3])"`)
+%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 dynamicznej generacji plików PDF
+Summary(pl.UTF-8):     Przenośna biblioteka C do dynamicznego generowania plików PDF
 Name:          pdflib
-Version:       4.0.0
-Release:       2
-License:       Alladin Free Public License
+Version:       4.0.3
+Release:       45
+License:       Aladdin Free Public License
 Group:         Libraries
-Group(de):     Libraries
-Group(es):     Bibliotecas
-Group(fr):     Librairies
-Group(pl):     Biblioteki
-Source0:       http://www.pdflib.com/pdflib/download/%{name}-%{version}.tar.gz
+Source0:       %{name}-%{version}.tar.gz
+# Source0-md5: 1b9e0d16f3e695902301aa26b6e92513
 Patch0:                %{name}-DESTDIR.patch
 Patch1:                %{name}-shared-libs.patch
-BuildRequires: python-devel
-BuildRequires: perl-devel >= 5.6.1
-BuildRequires: tcl-devel
-BuildRequires: zlib-devel
+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
+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
-BuildRequires: autoconf
-URL:           http://www.pdflib.com/
+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)
 
+%define tcl_ver %(echo `echo "puts [info tclversion]" | tclsh`)
+
 %description
 PDFlib is a C library for generating PDF files. It offers a graphics
 API with support for drawing, text, fonts, images, and hypertext. Call
@@ -36,126 +62,145 @@ 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
-Group(de):     Entwicklung/Libraries
-Group(fr):     Development/Librairies
-Group(pl):     Programowanie/Biblioteki
-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 -l pl devel
-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
-Group(de):     Entwicklung/Sprachen/Perl
-Group(pl):     Programowanie/Jêzyki/Perl
-Requires:      %{name} = %{version}
-Obsoletes:     %{name}-perl5
+Requires:      %{name} = %{version}-%{release}
+Obsoletes:     pdflib-perl5 < 4.0.1
 
 %description perl
 Perl bindings for pdflib.
 
-%description -l pl perl
-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
-Group(de):     Entwicklung/Sprachen/Tcl
-Group(pl):     Programowanie/Jêzyki/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 -l pl tcl
-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
-Group(de):     Entwicklung/Sprachen/Python
-Group(pl):     Programowanie/Jêzyki/Python
-Requires:      %{name} = %{version}
-Obsoletes:     %{name}-python1.5
+Requires:      %{name} = %{version}-%{release}
+%pyrequires_eq python
+Obsoletes:     pdflib-python1.5 < 4.0.1
 
 %description python
 Python bindings for pdflib.
 
-%description -l pl python
-Dowi±zania pythona dla pdflib.
-
-%package static
-Summary:       Static libraries for pdflib
-Summary(pl):   Statyczna biblioteka pdflib
-Group:         Development/Libraries
-Group(de):     Entwicklung/Libraries
-Group(fr):     Development/Librairies
-Group(pl):     Programowanie/Biblioteki
-Requires:      %{name}-devel = %{version}
-
-%description static
-Static libraries for pdflib.
-
-%description -l pl static
-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 --copy --force
-aclocal --output=config/aclocal.m4
-autoconf
-
+%{__libtoolize}
+%{__aclocal}
+%{__autoconf}
 %configure \
+       CFLAGS="-DUSE_INTERP_RESULT %{rpmcflags}" \
        --enable-cxx \
-       --enable-shared-pdflib \
-       --with-py=%{python_dir} --with-pyincl=%{python_include_dir} \
-       --with-perl=%{_bindir}/perl \
+       %{?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 \
+       --with-tclpkg=%{_libdir}/tcl%{tcl_ver} \
        --with-zlib \
        --with-pnglib \
        --with-tifflib
-%{__make}
+
+%{__make} \
+       JAVA="%{java_home}/bin/java" \
+       JAVAC="%{java_home}/bin/javac" \
+       JAR="%{java_home}/bin/jar"
+
 %install
 rm -rf $RPM_BUILD_ROOT
 
-# arrrghh!!! libtool 1.4 supports linking with non-installed library,
-# but without DESTDIR! use hack to avoid "relinking" (which requires
-# libpdf already installed in /usr/lib).
-for f in bind/{perl/pdflib_pl,python/pdflib_py,tcl/pdflib_tcl}.la ; do
-       sed -e '/^relink_command=/d' $f > $f.new
-       mv -f $f.new $f
-done
+%{__make} install \
+       DESTDIR=$RPM_BUILD_ROOT
 
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
+cp -p bind/cpp/pdflib.hpp $RPM_BUILD_ROOT%{_includedir}
 
-install ./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 -f doc/readme_{ebcdic,mac,win}.txt
-gzip -9nf readme.txt doc/*.txt
+%{__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
@@ -163,35 +208,49 @@ 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)
-%attr(755,root,root) %{_libdir}/lib*.so.*.*
+%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)
-%doc *.gz doc/*
-%attr(755,root,root) %{_libdir}/lib*.so
-%attr(755,root,root) %{_libdir}/lib*.la
+%doc doc/PDFlib-manual.pdf
+%attr(755,root,root) %{_bindir}/pdflib-config
+%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_sitearch}/pdflib_pl.pm
-%attr(755,root,root) %{perl_sitearch}/pdflib_pl.so*
+%{perl_vendorarch}/pdflib_pl.pm
+%attr(755,root,root) %{perl_vendorarch}/pdflib_pl.so*
 
 %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) %{python_dir}/lib-dynload/pdflib_py.so.*
-
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libpdf.a
-%{perl_sitearch}/pdflib_pl.a
-%{_libdir}/tcl*/pdflib/pdflib_tcl.a
-%{python_dir}/lib-dynload/pdflib_py.a
+%attr(755,root,root) %{py_libdir}/lib-dynload/pdflib_py.so*
This page took 0.087165 seconds and 4 git commands to generate.