File recorditnow.spec of Package recorditnow

#
# spec file for package recorditnow
#
# Copyright (c) 2017 Packman Team <packman@links2linux.de>
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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.links2linux.org/
#


Name:           recorditnow
Version:        0.8.1
Release:        0
Summary:        Plugin-based Desktop Recorder for KDE SC 4
License:        GPL-2.0
Group:          Productivity/Multimedia/Other
Url:            http://recorditnow.sourceforge.net
Source:         %{name}-%{version}.tar.bz2
Source1:        %{name}-rpmlintrc
Source2:        ChangeLog
Patch0:         %{name}-%{version}-X11-linking.patch
Patch1:         %{name}-%{version}-desktopfile.patch
Patch2:         %{name}-%{version}-zh_CN.patch
Patch3:         %{name}-%{version}-ru.patch
Patch4:         %{name}-%{version}-zh_TW.patch
Patch5:         %{name}-%{version}-gcc6.patch
Patch6:         recorditnow-ffmpeg.patch
BuildRequires:  ImageMagick
BuildRequires:  cmake
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  gettext-runtime
BuildRequires:  kde4-filesystem
BuildRequires:  libkde4-devel
BuildRequires:  libqt4-devel
BuildRequires:  recordmydesktop
BuildRequires:  update-desktop-files
BuildRequires:  xorg-x11-devel
BuildRequires:  xorg-x11-libX11-devel
BuildRequires:  xorg-x11-libXext-devel
BuildRequires:  xorg-x11-libXfixes-devel
Recommends:     %{name}-backend-ffmpeg = %{version}
Recommends:     %{name}-backend-mplayer = %{version}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%{kde4_runtime_requires}
%lang_package

%description
RecordItNow is a plugin based desktop recorder for KDE SC 4.
It features: record your desktop, make screenshots, automatically
encode your videos in a desired format, zoom, show mouse activity,
keyboard monitor, timeline, upload your videos to YouTube or blip.tv

%package -n %{name}-backend-mplayer
Summary:        MPlayer's mencoder backend for RecordItNow
License:        GPL-2.0
Group:          Development/Libraries/KDE
Requires:       MPlayer
%{kde4_runtime_requires}

%description -n %{name}-backend-mplayer
RecordItNow is a plugin based desktop recorder for KDE SC 4.

This package contains libraries using mencoder from MPlayer
as its backend.

%package -n %{name}-backend-ffmpeg
Summary:        FFmpeg backend for RecordItNow
License:        GPL-2.0
Requires:       ffmpeg
Group:          Development/Libraries/KDE
%{kde4_runtime_requires}

%description -n %{name}-backend-ffmpeg
RecordItNow is a plugin based desktop recorder for KDE SC 4.

This package contains libraries using ffmpeg as its backend.

%package -n libjoschy0
Summary:        Jochy Library for RecordItNow
License:        LGPL-2.1+
Group:          Development/Libraries/KDE

%description -n libjoschy0
RecordItNow is a plugin based desktop recorder for KDE SC 4.

This Package contains its runtime library joschy.

%package -n libjoschy-devel
Summary:        Header files for Jochy Library for RecordItNow
License:        LGPL-2.1+
Group:          Development/Libraries/KDE

%description -n libjoschy-devel
RecordItNow is a plugin based desktop recorder for KDE SC 4.

This Package contains development files for its runtime library joschy.

%prep
%autosetup -p1

%build
#copy ChangeLog
cp -r %{SOURCE2} ./
%cmake_kde4 -d build -- -DLINGUAS="de;hu;pt_BR;cs;fr;ru;tr;zh_CN;zh_TW"

make %{?_smp_mflags}

%install
pushd build
%kde4_makeinstall
%fdupes
popd
%suse_update_desktop_file %{name} Multimedia Recorder
%find_lang %{name} %{no_lang_C}
%kde_post_install

#fix wrong-icon-size
pushd %{buildroot}%{_kde4_iconsdir}/hicolor/64x64/apps/
convert -resize 64x64 %{name}-upload-media.png 1.png
rm -rf %{name}-upload-media.png
mv 1.png %{name}-upload-media.png
popd

#fix /usr/share/polkit-1/actions/org.kde.recorditnow.helper.policy privileges
cat %{buildroot}%{_datadir}/polkit-1/actions/org.kde.%{name}.helper.policy | sed "s/<allow_inactive>no<\/allow_inactive>/<allow_any>auth_admin_keep_always<\/allow_any>\n<allow_inactive>auth_admin_keep_always<\/allow_inactive>/" | sed "s/auth_self_keep/auth_admin/" > helper.policy
mv helper.policy %{buildroot}%{_datadir}/polkit-1/actions/org.kde.%{name}.helper.policy

#fix /etc/dbus-1/system.d/org.kde.recorditnow.helper.conf privileges to avoid dbus serious bug
cat %{buildroot}/%{_sysconfdir}/dbus-1/system.d/org.kde.%{name}.helper.conf | sed "s/<policy user=\"root\">/<policy user=\"root\">\n<allow send_destination=\"org.kde.recorditnow.helper\"\/>\n/" > helper.conf
mv helper.conf %{buildroot}/%{_sysconfdir}/dbus-1/system.d/org.kde.%{name}.helper.conf

#fix polkit-untracked-privilege warning, thanks to Marcus.
mkdir -pv %{buildroot}%{_sysconfdir}/polkit-default-privs.d/
echo "org.kde.recorditnow.helper.watch  auth_admin_keep_always:auth_admin_keep_always:auth_admin" >> %{buildroot}%{_sysconfdir}/polkit-default-privs.d/%{name}.conf

%post
/sbin/ldconfig
kbuildsycoca4

%postun
/sbin/ldconfig
kbuildsycoca4

%post -n libjoschy0 -p /sbin/ldconfig
%postun -n libjoschy0 -p /sbin/ldconfig

%files
%defattr(-,root,root)
%dir %{_kde4_appsdir}/%{name}/
%dir %{_sysconfdir}/polkit-default-privs.d/
%config %{_sysconfdir}/dbus-1/system.d/org.kde.%{name}.helper.conf
%config %{_sysconfdir}/polkit-default-privs.d/%{name}.conf
%doc COPYING ChangeLog
%{_bindir}/%{name}
%{_libdir}/*.so
%{_kde4_modulesdir}/*.so
%{_kde4_modulesdir}/libexec/*
%exclude %{_libdir}/joschy/*
%exclude %{_libdir}/libjoschycore.so
%{_kde4_applicationsdir}/%{name}.desktop
%{_datadir}/dbus-1/system-services/org.kde.%{name}.helper.service
%{_kde4_iconsdir}/hicolor/128x128/apps/%{name}.png
%{_kde4_iconsdir}/hicolor/64x64/apps/%{name}-timeline.png
%{_kde4_iconsdir}/hicolor/64x64/apps/%{name}-upload-media.png
%{_kde4_appsdir}/%{name}/*
# kde4_configkcfgdir is not support by openSUSE 11.4
%{_kde4_sharedir}/config.kcfg/*
%{_kde4_servicesdir}/*
%{_kde4_servicetypesdir}/*
%{_datadir}/polkit-1/actions/org.kde.%{name}.helper.policy

%exclude %{_kde4_modulesdir}/%{name}_mencoder.so
%exclude %{_kde4_modulesdir}/%{name}_mencoder_config.so
%exclude %{_kde4_sharedir}/config.kcfg/%{name}_mencoder.kcfg
%exclude %{_kde4_servicesdir}/%{name}_mencoder.desktop
%exclude %{_kde4_servicesdir}/%{name}_mencoder_config.desktop

%exclude %{_kde4_modulesdir}/%{name}_ffmpeg.so
%exclude %{_kde4_modulesdir}/%{name}_ffmpeg_config.so
%exclude %{_kde4_modulesdir}/%{name}_ffmpegrecorder.so
%exclude %{_kde4_modulesdir}/%{name}_ffmpegrecorder_config.so
%exclude %{_kde4_sharedir}/config.kcfg/%{name}_ffmpeg.kcfg
%exclude %{_kde4_sharedir}/config.kcfg/%{name}_ffmpegrecorder.kcfg
%exclude %{_kde4_servicesdir}/%{name}_ffmpeg.desktop
%exclude %{_kde4_servicesdir}/%{name}_ffmpeg_config.desktop
%exclude %{_kde4_servicesdir}/%{name}_ffmpegrecorder.desktop
%exclude %{_kde4_servicesdir}/%{name}_ffmpegrecorder_config.desktop

%files -n libjoschy0
%defattr(-,root,root)
%dir %{_libdir}/joschy
%{_libdir}/joschy/*
%{_libdir}/libjoschycore.so

%files -n libjoschy-devel
%defattr(-,root,root)
%dir %{_includedir}/joschycore/
%{_includedir}/joschycore/*

%files lang -f %{name}.lang
%defattr(-,root,root)

%files -n %{name}-backend-ffmpeg
%defattr(-,root,root)
%{_kde4_modulesdir}/%{name}_ffmpeg.so
%{_kde4_modulesdir}/%{name}_ffmpeg_config.so
%{_kde4_modulesdir}/%{name}_ffmpegrecorder.so
%{_kde4_modulesdir}/%{name}_ffmpegrecorder_config.so
%{_kde4_sharedir}/config.kcfg/%{name}_ffmpeg.kcfg
%{_kde4_sharedir}/config.kcfg/%{name}_ffmpegrecorder.kcfg
%{_kde4_servicesdir}/%{name}_ffmpeg.desktop
%{_kde4_servicesdir}/%{name}_ffmpeg_config.desktop
%{_kde4_servicesdir}/%{name}_ffmpegrecorder.desktop
%{_kde4_servicesdir}/%{name}_ffmpegrecorder_config.desktop

%files -n %{name}-backend-mplayer
%defattr(-,root,root)
%{_kde4_sharedir}/config.kcfg/%{name}_mencoder.kcfg
%{_kde4_servicesdir}/%{name}_mencoder.desktop
%{_kde4_servicesdir}/%{name}_mencoder_config.desktop
%{_kde4_modulesdir}/%{name}_mencoder_config.so
%{_kde4_modulesdir}/%{name}_mencoder.so

%changelog
openSUSE Build Service is sponsored by