+# TODO
+# - test and add other browsers
+#
+# Conditional build:
+%bcond_without qt # disable qt wrapper
+#
Summary: DjVu viewers, encoders and utilities
Summary(pl): DjVu - przegl±darki, dekodery oraz narzêdzia
Name: djvulibre
-Version: 3.5.9
+Version: 3.5.16
Release: 2
License: GPL
Group: Applications/Graphics
Source0: http://dl.sourceforge.net/djvu/%{name}-%{version}.tar.gz
-Patch0: %{name}-DESTDIR.patch
-Patch1: %{name}-opt.patch
-Patch2: %{name}-nostrip.patch
+# Source0-md5: 5591c99a50aed1613a796a5aa4978fc0
+Patch0: %{name}-opt.patch
+Patch1: %{name}-nostrip.patch
+Patch2: %{name}-desktop.patch
URL: http://djvu.sourceforge.net/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.50
BuildRequires: automake
BuildRequires: libjpeg-devel
BuildRequires: libstdc++-devel
-BuildRequires: qt-devel >= 3.0.5
+BuildRequires: rpmbuild(macros) >= 1.236
+%{?with_qt:BuildRequires: qt-devel >= 3.0.5}
Obsoletes: djvu
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define mozdir /usr/lib/mozilla/plugins
-%define nsdir /usr/lib/netscape/plugins
+%define _plugindir %{_libdir}/browser-plugins
+
+# list of supported browsers, in free form text
+%define browsers mozilla, netscape
%description
DjVu is a web-centric format and software platform for distributing
i narzêdzi do plików w formacie DjVu. Przegl±darka oraz wtyczki do
przegl±darek znajduj± siê w innych podpakietach.
+%package devel
+Summary: Header file for DjVu library
+Summary(pl): Plik nag³ówkowy biblioteki DjVu
+Group: Development/Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: libjpeg-devel
+Requires: libstdc++-devel
+
+%description devel
+Header file for DjVu library.
+
+%description devel -l pl
+Plik nag³ówkowy biblioteki DjVu.
+
%package djview
Summary: Qt-based DjVu viewer
Summary(pl): Oparta o Qt przegl±darka DjVu
Group: X11/Applications
-Requires: %{name} = %{version}
+Requires: %{name} = %{version}-%{release}
Obsoletes: djview
%description djview
%description djview -l pl
Oparta o Qt przegl±darka DjVu.
-%package -n mozilla-plugin-%{name}
-Summary: DjVu plugin for Mozilla
-Summary(pl): Wtyczka DjVu do Mozilli
+%package -n browser-plugin-%{name}
+Summary: DjVu browser plugin
+Summary(pl): Wtyczka DjVu do przegl±derek WWW
Group: X11/Libraries
-Requires: %{name}-djview = %{version}
-Requires: mozilla-embedded
+Requires: %{name}-djview = %{version}-%{release}
+Requires: browser-plugins(%{_target_cpu})
+Obsoletes: mozilla-plugin-djvulibre
+Obsoletes: netscape-plugin-djvulibre
+Obsoletes: djview-netscape
+# for migrate purposes (greedy poldek upgrade)
+Provides: mozilla-plugin-djvulibre
+Provides: netscape-plugin-djvulibre
-%description -n mozilla-plugin-%{name}
+%description -n browser-plugin-%{name}
DjVu plugin for Mozilla and Mozilla-based browsers.
-%description -n mozilla-plugin-%{name} -l pl
-Wtyczka DjVu do Mozilli i przegl±darek na niej bazuj±cych.
+Supported browsers: %{browsers}.
-%package -n netscape-plugin-%{name}
-Summary: DjVu plugin for Netscape
-Summary(pl): Wtyczka DjVu do Netscape
-Group: X11/Libraries
-Requires: %{name}-djview = %{version}
-Requires: netscape-common
-Obsoletes: djview-netscape
-
-%description -n netscape-plugin-%{name}
-DjVu plugin for Netscape.
+%description -n browser-plugin-%{name} -l pl
+Wtyczka DjVu do przegl±darek zgodnych z Mozill±.
-%description -n netscape-plugin-%{name} -l pl
-Wtyczka DjVu do Netscape.
+Obs³ugiwane przegl±darki: %{browsers}.
-%prep -q
+%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
-%{__aclocal}
+cp -f /usr/share/automake/config.sub config
+%{__aclocal} -I config -I gui/desktop
%{__autoconf}
-# there are aliasing violations at least at libdjvu/BSByteStream.cpp:356-357,
-# so -fno-strict-aliasing must be passed
-CXXFLAGS="%{rpmcflags} -fno-strict-aliasing"
-%configure
+QT_LIBS="-L%{_libdir} -lqt-mt"; export QT_LIBS
+QT_CFLAGS="-I%{_includedir}/qt"; export QT_CFLAGS
+%configure \
+ PTHREAD_LIBS="-lpthread"
-%{__make} depend
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{mozdir},%{nsdir}}
+install -d $RPM_BUILD_ROOT%{_plugindir}
+# pass dtop_* to allow build w/o gnome/kde/etc. installed
%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
-
-mv -f $RPM_BUILD_ROOT%{_libdir}/netscape/plugins/nsdejavu.so \
- $RPM_BUILD_ROOT%{mozdir}
-cp -f $RPM_BUILD_ROOT%{mozdir}/nsdejavu.so $RPM_BUILD_ROOT%{nsdir}
+ DESTDIR=$RPM_BUILD_ROOT \
+ plugindir=%{_plugindir} \
+ dtop_applications=%{_desktopdir} \
+ dtop_icons=%{_iconsdir} \
+ dtop_mimelnk=%{_datadir}/mimelnk \
+ dtop_applnk= \
+ dtop_pixmaps=%{_pixmapsdir} \
+ dtop_mime_info= \
+ dtop_application_registry=
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%triggerin -n browser-plugin-%{name} -- mozilla
+%nsplugin_install -d %{_libdir}/mozilla/plugins nsdejavu.so
+
+%triggerun -n browser-plugin-%{name} -- mozilla
+%nsplugin_uninstall -d %{_libdir}/mozilla/plugins nsdejavu.so
+
+%triggerin -n browser-plugin-%{name} -- mozilla-firefox
+%nsplugin_install -d %{_libdir}/mozilla-firefox/plugins nsdejavu.so
+
+%triggerun -n browser-plugin-%{name} -- mozilla-forefox
+%nsplugin_uninstall -d %{_libdir}/mozilla-firefox/plugins nsdejavu.so
+
+%triggerin -n browser-plugin-%{name} -- netscape-common
+%nsplugin_install -d %{_libdir}/netscape/plugins nsdejavu.so
+
+%triggerun -n browser-plugin-%{name} -- netscape-common
+%nsplugin_uninstall -d %{_libdir}/netscape/plugins nsdejavu.so
+
+# as rpm removes the old obsoleted package files after the triggers
+# are ran, add another trigger to make the links there.
+%triggerpostun -n browser-plugin-%{name} -- mozilla-plugin-%{name}
+%nsplugin_install -f -d %{_libdir}/mozilla/plugins nsdejavu.so
+
+%triggerpostun -n browser-plugin-%{name} -- netscape-plugin-%{name}
+%nsplugin_install -f -d %{_libdir}/netscape/plugins nsdejavu.so
+
%files
%defattr(644,root,root,755)
%doc COPYRIGHT NEWS README TODO doc/*
%attr(755,root,root) %{_bindir}/[!d]*
%attr(755,root,root) %{_bindir}/d[!j]*
%attr(755,root,root) %{_bindir}/djv[!i]*
-%attr(755,root,root) %{_libdir}/lib*.so
-%{_mandir}/man1/[!d]*
+%attr(755,root,root) %{_libdir}/libdjvulibre.so.*.*.*
+%{_mandir}/man1/[!dn]*
%{_mandir}/man1/d[!j]*
%{_mandir}/man1/djv[!i]*
+%lang(ja) %{_mandir}/ja/man1/[!dn]*
+%lang(ja) %{_mandir}/ja/man1/d[!j]*
+%lang(ja) %{_mandir}/ja/man1/djv[!i]*
%dir %{_datadir}/djvu
%{_datadir}/djvu/languages.xml
%dir %{_datadir}/djvu/osi
-%lang(zh) %{_datadir}/djvu/osi/Chinese_PRC
-%lang(de) %{_datadir}/djvu/osi/de_DE
+%lang(de) %{_datadir}/djvu/osi/de
%{_datadir}/djvu/osi/en
-%lang(fr) %{_datadir}/djvu/osi/fr_FR
-%lang(ja) %{_datadir}/djvu/osi/ja_JP
+%lang(fr) %{_datadir}/djvu/osi/fr
+%lang(ja) %{_datadir}/djvu/osi/ja
+%lang(zh) %{_datadir}/djvu/osi/zh
+%{_datadir}/djvu/pubtext
+
+%files devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libdjvulibre.so
+%{_libdir}/libdjvulibre.la
+%{_includedir}/libdjvu
+%if %{with qt}
%files djview
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/djview
%{_mandir}/man1/djview.1*
+%lang(ja) %{_mandir}/ja/man1/djview.1*
+%{_datadir}/mimelnk/image/x-djvu.desktop
+%{_desktopdir}/djview.desktop
+%{_iconsdir}/hicolor/*/mimetypes/djvu.png
+%{_pixmapsdir}/djvu.png
-%files -n mozilla-plugin-%{name}
-%defattr(644,root,root,755)
-%attr(755,root,root) %{mozdir}/*.so
-
-%files -n netscape-plugin-%{name}
+%files -n browser-plugin-%{name}
%defattr(644,root,root,755)
-%attr(755,root,root) %{nsdir}/*.so
+%attr(755,root,root) %{_plugindir}/*.so
+%{_mandir}/man1/nsdejavu.1*
+%lang(ja) %{_mandir}/ja/man1/nsdejavu.1*
+%endif