+#
+# Conditional build:
+%bcond_without qt # don't build Qt-based thumbnail plugin
+%bcond_without static_libs # don't build static library
+#
Summary: Meta-data extraction library
-Summary(pl): Biblioteka do ekstrakcji metadanych
+Summary(pl.UTF-8): Biblioteka do ekstrakcji metadanych
Name: libextractor
-Version: 0.3.5
-Release: 1
-License: GPL
+Version: 0.5.20
+Release: 5
+License: GPL v2+
Group: Libraries
-# strange, .tar.gz is ~500kB smaller than .tar.bz2
-Source0: http://www.ovmj.org/libextractor/download/%{name}-%{version}.tar.gz
-# Source0-md5: d46b44d22226d3e45a235bb6c5cd5130
-URL: http://www.ovmj.org/libextractor/
+Source0: http://gnunet.org/libextractor/download/%{name}-%{version}.tar.gz
+# Source0-md5: b71833f1c1b8299b01df2d7669600030
+Patch0: %{name}-64bit.patch
+Patch1: %{name}-make.patch
+Patch2: %{name}-info.patch
+Patch3: %{name}-pmake.patch
+Patch4: %{name}-lt.patch
+URL: http://gnunet.org/libextractor/
+%if %{with qt}
+BuildRequires: QtSvg-devel >= 4.0.1
+%endif
BuildRequires: autoconf >= 2.57
BuildRequires: automake
-BuildRequires: gettext-devel >= 0.14
+BuildRequires: bzip2-devel
+BuildRequires: gettext-devel >= 0.14.5
+BuildRequires: flac-devel
BuildRequires: glib2-devel >= 2.0.0
+BuildRequires: gtk+2-devel >= 2:2.6.0
+BuildRequires: libgsf-devel
BuildRequires: libltdl-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 2:1.5
BuildRequires: libvorbis-devel
+BuildRequires: mpeg2dec-devel
+BuildRequires: pkgconfig
+BuildRequires: texinfo
BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _noautoreqfiles %{_libdir}/%{name}/libextractor_.*\\.la
+
%description
libextractor is a simple library for meta-data extraction.
libextractor uses a plugin-mechanism that makes it easy to add support
for more file formats, allowing anybody to add new extractors quickly.
libextractor currently features meta-data extractors for HTML, JPEG,
-OGG, MP3, PNG, RPM, GIF, ZIP, QT, ASF, Real Audio and Video,
+Ogg, MP3, PNG, RPM, GIF, ZIP, QT, ASF, Real Audio and Video,
PostScript and PDF documents. It also detects many more MIME-types in
a fashion similar to the well-known "file" tool.
"extract" can be used similar to "file", but while "file" currently
supports a wider range of file types, "extract" should be able to
provide more precise and more detailed information for the supported
-types of documents (HTML, JPEG, OGG, MP3, PNG, GIF, RPM, RA, RM, PS,
+types of documents (HTML, JPEG, Ogg, MP3, PNG, GIF, RPM, RA, RM, PS,
PDF, ZIP, QT, ASF).
-%description -l pl
-libextractor to prosta biblioteka s³u¿±ca do ekstrakcji metadanych.
-libextractor u¿ywa mechanizmu "wtyczek", dziêki czemu ³atwo jest dodaæ
-wsparcie dla nowych formatów plików.
+%description -l pl.UTF-8
+libextractor to prosta biblioteka służąca do ekstrakcji metadanych.
+libextractor używa mechanizmu "wtyczek", dzięki czemu łatwo jest dodać
+wsparcie dla nowych formatów plików.
-libextractor obecnie pozwala na pozyskanie metadanych z plików w
-formatach HTML, JPEG, OGG, MP3, PNG, RPM, GIF, ZIP, QT, ASF, Real
-Audio i Video, PostScript oraz PDF. Ponadto rozpoznaje du¿o wiêcej
-typów MIME w sposób podobny do dobrze znanego narzêdzia "file".
+libextractor obecnie pozwala na pozyskanie metadanych z plików w
+formatach HTML, JPEG, Ogg, MP3, PNG, RPM, GIF, ZIP, QT, ASF, Real
+Audio i Video, PostScript oraz PDF. Ponadto rozpoznaje dużo więcej
+typów MIME w sposób podobny do dobrze znanego narzędzia "file".
-Ka¿da informacja pobrana z pliku nale¿y do jednej z oko³o 40
-kategorii (np. tytu³, autor, opis, typ MIME).
+Każda informacja pobrana z pliku należy do jednej z około 40
+kategorii (np. tytuł, autor, opis, typ MIME).
-Ta paczka zawiera te¿ narzêdzie "extract", które pozwala skorzystaæ z
-us³ug libextractor bezpo¶rednio z linii poleceñ. "extract" mo¿e byæ
-u¿ywane w podobny sposób, co "file". "file" zna wiêcej typów danych,
-"extract" natomiast dostarcza bardziej precyzyjnych i szczegó³owych
-informacji na temat obs³ugiwanych formatów (HTML, JPEG, OGG, MP3, PNG,
+Ta paczka zawiera też narzędzie "extract", które pozwala skorzystać z
+usług libextractor bezpośrednio z linii poleceń. "extract" może być
+używane w podobny sposób, co "file". "file" zna więcej typów danych,
+"extract" natomiast dostarcza bardziej precyzyjnych i szczegółowych
+informacji na temat obsługiwanych formatów (HTML, JPEG, Ogg, MP3, PNG,
GIF, RPM, RA, RM, PS, PDF, ZIP, QT, ASF).
%package printable
Summary: Printable text support plugins for libextractor
-Summary(pl): Wtyczki obs³uguj±ce tekst dla biblioteki libextractor
+Summary(pl.UTF-8): Wtyczki obsługujące tekst dla biblioteki libextractor
Group: Libraries
Requires: %{name} = %{version}-%{release}
%description printable
libextractor plugins that support printable text in few languages.
-%description printable -l pl
-Wtyczki biblioteki libextractor obs³uguj±ce tekst w kilku jêzykach.
+%description printable -l pl.UTF-8
+Wtyczki biblioteki libextractor obsługujące tekst w kilku językach.
+
+%package thumbnail
+Summary: GTK+ Thumbnail plugin for libextractor
+Summary(pl.UTF-8): Wtyczka obsługująca miniaturki obrazów poprzez GTK+ dla biblioteki libextractor
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+Requires: gtk+2 >= 2:2.6.0
+
+%description thumbnail
+libextractor plugin that supports thumbnails through GTK+.
+
+%description thumbnail -l pl.UTF-8
+Wtyczka biblioteki libextractor obsługująca miniaturki obrazów poprzez
+GTK+.
+
+%package thumbnail-qt
+Summary: Qt Thumbnail plugin for libextractor
+Summary(pl.UTF-8): Wtyczka obsługujące miniaturki obrazów poprzez Qt dla biblioteki libextractor
+Group: Libraries
+Requires: %{name} = %{version}-%{release}
+
+%description thumbnail-qt
+libextractor plugin that supports thumbnails through Qt.
+
+%description thumbnail-qt -l pl.UTF-8
+Wtyczka biblioteki libextractor obsługująca miniaturki obrazów poprzez
+Qt.
%package devel
Summary: Development files for libextractor
-Summary(pl): Pliki nag³ówkowe libextractor
+Summary(pl.UTF-8): Pliki nagłówkowe libextractor
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: bzip2-devel
+Requires: libgsf-devel
Requires: libltdl-devel
%description devel
This package contains files to develop with libextractor, that is
either to create plugins or to compile applications with libextractor.
-%description devel -l pl
-Piki nag³ówkowe wymagane do tworzenia aplikacji i wtyczek
-korzystaj±cych z libextractor.
+%description devel -l pl.UTF-8
+Piki nagłówkowe wymagane do tworzenia aplikacji i wtyczek
+korzystających z libextractor.
%package static
Summary: Static libextractor libraries
-Summary(pl): Statyczne biblioteki libextractor
+Summary(pl.UTF-8): Statyczne biblioteki libextractor
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
This package contains static libraries of libextractor.
-%description static -l pl
+%description static -l pl.UTF-8
Statyczna wersja bibliotek libextractor.
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
%build
%{__gettextize}
-%{__libtoolize} --ltdl
-%{__aclocal}
+%{__libtoolize}
+%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
-%configure
+%{?with_qt:CPPFLAGS="-I/usr/include/qt4 -I/usr/include/qt4/Qt"}
+%configure \
+ %{?with_static_libs:--enable-static} \
+ %{?with_qt:--with-qt}
%{__make}
DESTDIR=$RPM_BUILD_ROOT
# useless
-rm -f $RPM_BUILD_ROOT%{_libdir}/libextractor_[!u]*.a
+rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/libextractor_*.a
%find_lang %{name}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
+%post devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog NEWS README TODO
%attr(755,root,root) %{_bindir}/extract
%attr(755,root,root) %{_libdir}/libextractor.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libextractor.so.1
# plugins are lt_dlopened without extension, so *.la are needed
-%attr(755,root,root) %{_libdir}/libextractor_asf.so
-%attr(755,root,root) %{_libdir}/libextractor_elf.so
-%attr(755,root,root) %{_libdir}/libextractor_filename.so
-%attr(755,root,root) %{_libdir}/libextractor_gif.so
-%attr(755,root,root) %{_libdir}/libextractor_html.so
-%attr(755,root,root) %{_libdir}/libextractor_jpeg.so
-%attr(755,root,root) %{_libdir}/libextractor_lower.so
-%attr(755,root,root) %{_libdir}/libextractor_mime.so
-%attr(755,root,root) %{_libdir}/libextractor_mp3.so
-%attr(755,root,root) %{_libdir}/libextractor_mpeg.so
-%attr(755,root,root) %{_libdir}/libextractor_ogg.so
-%attr(755,root,root) %{_libdir}/libextractor_ole2.so
-%attr(755,root,root) %{_libdir}/libextractor_pdf.so
-%attr(755,root,root) %{_libdir}/libextractor_png.so
-%attr(755,root,root) %{_libdir}/libextractor_ps.so
-%attr(755,root,root) %{_libdir}/libextractor_qt.so
-%attr(755,root,root) %{_libdir}/libextractor_real.so
-%attr(755,root,root) %{_libdir}/libextractor_riff.so
-%attr(755,root,root) %{_libdir}/libextractor_rpm.so
-%attr(755,root,root) %{_libdir}/libextractor_split.so
-%attr(755,root,root) %{_libdir}/libextractor_tiff.so
-%attr(755,root,root) %{_libdir}/libextractor_wav.so
-%attr(755,root,root) %{_libdir}/libextractor_zip.so
-%{_libdir}/libextractor_asf.la
-%{_libdir}/libextractor_elf.la
-%{_libdir}/libextractor_filename.la
-%{_libdir}/libextractor_gif.la
-%{_libdir}/libextractor_html.la
-%{_libdir}/libextractor_jpeg.la
-%{_libdir}/libextractor_lower.la
-%{_libdir}/libextractor_mime.la
-%{_libdir}/libextractor_mp3.la
-%{_libdir}/libextractor_mpeg.la
-%{_libdir}/libextractor_ogg.la
-%{_libdir}/libextractor_ole2.la
-%{_libdir}/libextractor_pdf.la
-%{_libdir}/libextractor_png.la
-%{_libdir}/libextractor_ps.la
-%{_libdir}/libextractor_qt.la
-%{_libdir}/libextractor_real.la
-%{_libdir}/libextractor_riff.la
-%{_libdir}/libextractor_rpm.la
-%{_libdir}/libextractor_split.la
-%{_libdir}/libextractor_tiff.la
-%{_libdir}/libextractor_wav.la
-%{_libdir}/libextractor_zip.la
-%{_mandir}/man1/*
+%dir %{_libdir}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_applefile.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_asf.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_deb.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_dvi.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_elf.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_exiv2.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_filename.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_flac.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_flv.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_gif.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_hash_md5.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_hash_rmd160.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_hash_sha1.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_html.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_id3v2.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_id3v23.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_id3v24.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_jpeg.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_lower.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_man.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_mime.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_mp3.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_mpeg.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_nsf.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_nsfe.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_ogg.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_ole2.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_oo.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_pdf.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_png.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_ps.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_qt.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_real.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_riff.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_rpm.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_sid.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_split.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_tar.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_tiff.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_translit.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_wav.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_zip.so
+%{_libdir}/%{name}/libextractor_applefile.la
+%{_libdir}/%{name}/libextractor_asf.la
+%{_libdir}/%{name}/libextractor_deb.la
+%{_libdir}/%{name}/libextractor_dvi.la
+%{_libdir}/%{name}/libextractor_elf.la
+%{_libdir}/%{name}/libextractor_exiv2.la
+%{_libdir}/%{name}/libextractor_filename.la
+%{_libdir}/%{name}/libextractor_flac.la
+%{_libdir}/%{name}/libextractor_flv.la
+%{_libdir}/%{name}/libextractor_gif.la
+%{_libdir}/%{name}/libextractor_hash_md5.la
+%{_libdir}/%{name}/libextractor_hash_rmd160.la
+%{_libdir}/%{name}/libextractor_hash_sha1.la
+%{_libdir}/%{name}/libextractor_html.la
+%{_libdir}/%{name}/libextractor_id3v2.la
+%{_libdir}/%{name}/libextractor_id3v23.la
+%{_libdir}/%{name}/libextractor_id3v24.la
+%{_libdir}/%{name}/libextractor_jpeg.la
+%{_libdir}/%{name}/libextractor_lower.la
+%{_libdir}/%{name}/libextractor_man.la
+%{_libdir}/%{name}/libextractor_mime.la
+%{_libdir}/%{name}/libextractor_mp3.la
+%{_libdir}/%{name}/libextractor_mpeg.la
+%{_libdir}/%{name}/libextractor_nsf.la
+%{_libdir}/%{name}/libextractor_nsfe.la
+%{_libdir}/%{name}/libextractor_ogg.la
+%{_libdir}/%{name}/libextractor_ole2.la
+%{_libdir}/%{name}/libextractor_oo.la
+%{_libdir}/%{name}/libextractor_pdf.la
+%{_libdir}/%{name}/libextractor_png.la
+%{_libdir}/%{name}/libextractor_ps.la
+%{_libdir}/%{name}/libextractor_qt.la
+%{_libdir}/%{name}/libextractor_real.la
+%{_libdir}/%{name}/libextractor_riff.la
+%{_libdir}/%{name}/libextractor_rpm.la
+%{_libdir}/%{name}/libextractor_sid.la
+%{_libdir}/%{name}/libextractor_split.la
+%{_libdir}/%{name}/libextractor_tar.la
+%{_libdir}/%{name}/libextractor_tiff.la
+%{_libdir}/%{name}/libextractor_translit.la
+%{_libdir}/%{name}/libextractor_wav.la
+%{_libdir}/%{name}/libextractor_zip.la
+%{_mandir}/man1/extract.1*
%files printable
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libextractor_printable_*.so
-%{_libdir}/libextractor_printable_*.la
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_printable_*.so
+%{_libdir}/%{name}/libextractor_printable_*.la
+
+%files thumbnail
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_thumbnail.so
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_thumbnailgtk.so
+%{_libdir}/%{name}/libextractor_thumbnailgtk.la
+
+%files thumbnail-qt
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/libextractor_thumbnailqt.so
+%{_libdir}/%{name}/libextractor_thumbnailqt.la
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libextractor.so
%{_libdir}/libextractor.la
%{_includedir}/extractor.h
-%{_mandir}/man3/*
+%{_pkgconfigdir}/libextractor.pc
+%{_mandir}/man3/libextractor.3*
+%{_infodir}/extractor.info*
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libextractor.a
+%endif