File mediainfo.spec of Package mediainfo

#
# spec file for package mediainfo
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2007-2011 The Packman Team
#
# 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 http://bugs.opensuse.org/
#


Name:           mediainfo
Version:        0.7.96
Release:        0
Summary:        Supplies technical and tag information about a video or audio file
License:        GPL-2.0+
Group:          Productivity/Multimedia/Other
Url:            http://mediainfo.sourceforge.net/
Source0:        https://sourceforge.net/projects/mediainfo/files/source/mediainfo/%{version}/mediainfo_%{version}.tar.xz
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  kdelibs4-core
BuildRequires:  kf5-filesystem
BuildRequires:  libmediainfo-devel = %{version}
BuildRequires:  libtool
BuildRequires:  libzen-devel
BuildRequires:  pkgconfig
BuildRequires:  update-desktop-files
BuildRequires:  zlib-devel
Provides:       MediaInfo = 0.7.7.8
Obsoletes:      MediaInfo < 0.7.7.8
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?is_opensuse}
BuildRequires:  wxWidgets-devel >= 3
%else
# SLE_12 lacks wxWidgets_3.0-devel
BuildRequires:  wxWidgets-devel < 3
%define _use_internal_dependency_generator 0
%define __find_requires %wx_requires
%endif

%description
MediaInfo supplies technical and tag information about a video or
audio file.

It reads the following information:
* General: title, author, director, album, track number, date, duration...
* Video: codec, aspect, fps, bitrate...
* Audio: codec, sample rate, channels, language, bitrate...
* Text: language of subtitle
* Chapters: number of chapters, list of chapters

It supports the following containers/codecs:
* Video: MKV, OGM, AVI, DivX, WMV, QuickTime, Real, MPEG-1,
  MPEG-2, MPEG-4, DVD (VOB) (Codecs: DivX, XviD, MSMPEG4, ASP,
  H.264, AVC...)
* Audio: OGG, MP3, WAV, RA, AC3, DTS, AAC, M4A, AU, AIFF
* Subtitles: SRT, SSA, ASS, SAMI

%package gui
Summary:        GUI for mediainfo
Group:          Productivity/Multimedia/Other
Provides:       MediaInfo-gui = 0.7.7.8
Obsoletes:      MediaInfo-gui < 0.7.7.8

%description gui
This package contains a Frontend for mediainfo.

MediaInfo supplies technical and tag information about a video or
audio file.

%package -n kde4-mediainfo
Summary:        KDE4 extension for mediainfo-gui
Group:          Productivity/Multimedia/Other
Requires:       %{name}-gui

%description -n kde4-mediainfo
KDE4 context menu extension for mediainfo-gui.

%package -n kf5-mediainfo
Summary:        KF5 extension for mediainfo-gui
Group:          Productivity/Multimedia/Other
Requires:       %{name}-gui

%description -n kf5-mediainfo
KF5 context menu extension for mediainfo-gui.

%prep
%setup -q -n MediaInfo
sed -i 's/\r$//' *.html *.txt Release/*.txt
chmod 0644 *.html *.txt Release/*.txt

%build
# build CLI
pushd Project/GNU/CLI
    chmod +x autogen.sh
    ./autogen.sh
    %configure

    make %{?_smp_mflags}
popd

# now build GUI
pushd Project/GNU/GUI
    chmod +x autogen.sh
    ./autogen.sh
    %configure
    make %{?_smp_mflags}
popd

%install
pushd Project/GNU/CLI
%make_install
popd

pushd Project/GNU/GUI
%make_install
popd

# icon
install -dm 755 %{buildroot}%{_datadir}/icons/hicolor/128x128/apps
install -m 644 Source/Resource/Image/MediaInfo.png \
    %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
install -dm 755 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
install -m 644 Source/Resource/Image/MediaInfo.svg \
    %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
install -dm 755 %{buildroot}%{_datadir}/pixmaps
install -m 644 Source/Resource/Image/MediaInfo.png \
    %{buildroot}%{_datadir}/pixmaps/mediainfo-gui.png

# menu-entry
install -dm 755 %{buildroot}/%{_datadir}/applications
install -m 644 Project/GNU/GUI/mediainfo-gui.desktop \
    %{buildroot}/%{_datadir}/applications
%suse_update_desktop_file -n %{name}-gui AudioVideo AudioVideoEditing

# hardcoded to avoid kde4-config --prefix ==> /usr
install -dm 755 %{buildroot}/%{_datadir}/kde4/services/ServiceMenus/
install -m 644 Project/GNU/GUI/mediainfo-gui.kde4.desktop \
    %{buildroot}/%{_datadir}/kde4/services/ServiceMenus/mediainfo-gui.desktop
mkdir -p %{buildroot}/%{_kf5_servicesdir}/ServiceMenus
install -m 644 Project/GNU/GUI/mediainfo-gui.kde4.desktop \
     %{buildroot}/%{_kf5_servicesdir}/ServiceMenus/mediainfo-gui.desktop

%kde_post_install

# these files are just ridicully large:
gzip -n -9 License.html
gzip -n -9 History_*.txt
%fdupes -s %{buildroot}/%{_datadir}

%files
%defattr(-,root,root,-)
%doc Release/ReadMe_CLI_Linux.txt
%doc License.html.gz History_CLI.txt.gz
%{_bindir}/mediainfo

%files gui
%defattr(-,root,root,-)
%doc Release/ReadMe_GUI_Linux.txt
%doc License.html.gz History_GUI.txt.gz
%{_bindir}/mediainfo-gui
%dir %_datadir/appdata/
%{_datadir}/appdata/mediainfo-gui.appdata.xml
%{_datadir}/applications/*.desktop
%{_datadir}/pixmaps/*.png
%{_datadir}/pixmaps/*.xpm
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/*/apps/*.svg

%files -n kde4-mediainfo
%defattr(-,root,root,-)
%dir %{_datadir}/kde4/services
%dir %{_datadir}/kde4/services/ServiceMenus
%{_datadir}/kde4/services/ServiceMenus/*.desktop
%dir %{_datadir}/apps
%dir %{_datadir}/apps/konqueror
%dir %{_datadir}/apps/konqueror/servicemenus
%{_datadir}/apps/konqueror/servicemenus/*.desktop

%files -n kf5-mediainfo
%defattr(-,root,root,-)
%dir %{_kf5_servicesdir}
%dir %{_kf5_servicesdir}/ServiceMenus
%{_kf5_servicesdir}/ServiceMenus/*.desktop

%changelog
openSUSE Build Service is sponsored by