File libextractor.spec of Package libextractor

#
# spec file for package libextractor
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Pascal Bleser <pascal.bleser@opensuse.org>
# Copyright (c) 2013 Marguerite Su <marguerite@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define soname	        3
%define common_soname   1
%if 0%{?BUILD_ORIG}
%bcond_without mp4v2
%endif
%bcond_without mpeg2
%bcond_with ffmpeg
%bcond_with smf
Name:           libextractor
Version:        1.11
Release:        0
Summary:        Library to Extract Metadata from Files
License:        GPL-2.0-or-later
Group:          Productivity/Multimedia/Other
URL:            http://www.gnu.org/software/libextractor/
Source:         http://ftp.gnu.org/gnu/libextractor/libextractor-%{version}.tar.gz
Source2:        http://ftp.gnu.org/gnu/libextractor/libextractor-%{version}.tar.gz.sig
Source3:        http://savannah.gnu.org/project/memberlist-gpgkeys.php?group=libextractor&download=1#/%{name}.keyring
BuildRequires:  file-devel
BuildRequires:  gcc-c++
BuildRequires:  giflib-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libtool
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(ImageMagick)
BuildRequires:  pkgconfig(bzip2)
BuildRequires:  pkgconfig(exiv2)
BuildRequires:  pkgconfig(flac)
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0)
BuildRequires:  pkgconfig(gtk+-2.0)
BuildRequires:  pkgconfig(gtk+-3.0)
BuildRequires:  pkgconfig(libarchive)
BuildRequires:  pkgconfig(libgsf-1)
BuildRequires:  pkgconfig(libtiff-4)
BuildRequires:  pkgconfig(ogg)
BuildRequires:  pkgconfig(poppler)
BuildRequires:  pkgconfig(rpm)
BuildRequires:  pkgconfig(vorbis)
BuildRequires:  pkgconfig(zlib)
# SECTION Recommends
%{?with_ffmpeg:BuildRequires: pkgconfig(libavformat)}
%{?with_ffmpeg:BuildRequires: pkgconfig(libavcodec)}
%{?with_ffmpeg:BuildRequires: pkgconfig(libavresample)}
%{?with_ffmpeg:BuildRequires: pkgconfig(libavutil)}
%{?with_ffmpeg:BuildRequires: pkgconfig(libswscale)}
%{?with_mpeg2:BuildRequires:  pkgconfig(libmpeg2)}
%{?with_mp4v2:BuildRequires:  libmp4v2-devel}
%{?with_smf:BuildRequires:    pkgconfig(smf)}
# /SECTION

%description
GNU Libextractor is a library for extracting meta data from various files types.

Supported file formats include: HTML, MAN, PS, DVI, OLE2 (DOC, XLS, PPT), OpenOffice (sxw),
StarOffice (sdw), FLAC, MP3 (ID3v1 and ID3v2), OGG, WAV, S3M (Scream Tracker 3),
XM (eXtended Module), IT (Impulse Tracker), NSF(E) (NES music), SID (C64 music), EXIV2,
JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ), LZH, LHA, RAR, ZIP, CAB, 7-ZIP, AR, MTREE, PAX,
 CPIO, ISO9660, SHAR, RAW, XAR FLV, REAL, RIFF (AVI), MPEG, QT and ASF.

Also, various additional MIME types are detected.

%package -n %{name}%{soname}
Summary:        Shared libraries for libextractor
Group:          System/Libraries

%description -n %{name}%{soname}
GNU Libextractor is a library for extracting meta data from various files types.

This package contains the shared libraries for %{name}.

%package -n     %{name}_common%{common_soname}
Summary:        Shared libraries for libextractor
Group:          System/Libraries

%description -n %{name}_common%{common_soname}
GNU Libextractor is a library for extracting meta data from various files types.

This package contains the shared libraries for %{name}.

%package        plugins
Summary:        Plugins for %{name}
Group:          Productivity/Multimedia/Other

%description    plugins
GNU Libextractor is a library for extracting meta data from various files types.

This package contains file format plugins for %{name}.

%package devel
Summary:        Include Files and Libraries mandatory for Development with libextractor
Group:          Development/Languages/C and C++
Requires:       %{name}%{soname} = %{version}
Requires(post): %{install_info_prereq}
Requires(preun): %{install_info_prereq}

%description devel
GNU Libextractor is a library for extracting meta data from various files types.

This package contains all necessary include files and libraries needed to
develop applications that require these.

%package -n extract
Summary:        Extract Metadata from Files
Group:          Productivity/Multimedia/Other
Recommends:     %{name}-plugins

%description -n extract
Command line utilities to extract meta information from files.

Supported file formats include: HTML, MAN, PS, DVI, OLE2 (DOC, XLS, PPT), OpenOffice (sxw),
StarOffice (sdw), FLAC, MP3 (ID3v1 and ID3v2), OGG, WAV, S3M (Scream Tracker 3),
XM (eXtended Module), IT (Impulse Tracker), NSF(E) (NES music), SID (C64 music), EXIV2,
JPEG, GIF, PNG, TIFF, DEB, RPM, TAR(.GZ), LZH, LHA, RAR, ZIP, CAB, 7-ZIP, AR, MTREE, PAX,
 CPIO, ISO9660, SHAR, RAW, XAR FLV, REAL, RIFF (AVI), MPEG, QT and ASF.

Also, various additional MIME types are detected.

%lang_package

%prep
%autosetup -p1

%build
export CFLAGS='-std=c99'
%configure \
    --disable-static

find . -name Makefile | xargs sed -i -e 's|-L/usr/lib|-L/%{_libdir}|g'

make %{?_smp_mflags} \
    STRIP=touch

%install
%make_install \
    STRIP=touch

# delete libtool archives
find %{buildroot} -type f -name "*.la" -delete -print

%find_lang %{name}

%post   -n %{name}%{soname} -p /sbin/ldconfig
%postun -n %{name}%{soname} -p /sbin/ldconfig
%post   -n %{name}_common%{common_soname} -p /sbin/ldconfig
%postun -n %{name}_common%{common_soname} -p /sbin/ldconfig
%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz

%preun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz

%files lang -f %{name}.lang

%files -n extract
%license COPYING
%doc AUTHORS ChangeLog NEWS README TODO
%{_bindir}/extract
%{_mandir}/man1/extract.1%{?ext_man}
%dir %{_libdir}/%{name}

%files plugins
%{_libdir}/%{name}/*.so

%files -n %{name}%{soname}
%{_libdir}/libextractor.so.%{soname}
%{_libdir}/libextractor.so.%{soname}.*

%files -n %{name}_common%{common_soname}
%{_libdir}/%{name}_common.so.%{common_soname}
%{_libdir}/%{name}_common.so.%{common_soname}.*

%files devel
%{_includedir}/*.h
%{_libdir}/%{name}.so
%{_libdir}/%{name}_common.so
%{_libdir}/pkgconfig/%{name}.pc
%{_mandir}/man?/libextractor.?%{ext_man}
%{_infodir}/%{name}.info%{?ext_info}

%changelog
openSUSE Build Service is sponsored by