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