# FIXME Fedora waf version does not work: # AttributeError: 'OptionsContext' object has no attribute 'tool_options' %bcond_with distwaf Name: diodon Version: 1.4.0 Release: 3%{?dist} Summary: Clipboard manager for GNOME, Cinnamon and other Gtk desktops # license is GPLv2 (or later) mostly, tests have LGPL 2.1, waf scripts show BSD (3-clause) License: GPLv2+ and BSD URL: https://esite.ch/tag/%{name} Source0: https://launchpad.net/%{name}/trunk/%{version}/+download/%{name}-%{version}.tar.gz %if %with distwaf BuildRequires: python-modernize BuildRequires: waf-python3 %global wafcmd waf-3 %else %global wafcmd ./waf %endif # enforce rebuild if new version of vala api %if 0%{?fedora} >= 24 %global vala_version_api 0.32 %endif %if 0%{?fedora} == 23 %global vala_version_api 0.30 %endif %if 0%{?fedora} == 22 %global vala_version_api 0.28 %endif %if 0%{?rhel} %global vala_version_api 0.26 %endif BuildRequires: pkgconfig(libvala-%{vala_version_api}) BuildRequires: pkgconfig(gee-0.8) BuildRequires: pkgconfig(libpeas-1.0) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(zeitgeist-2.0) BuildRequires: pkgconfig(appindicator3-0.1) BuildRequires: gettext intltool # for checks BuildRequires: xorg-x11-server-Xvfb BuildRequires: desktop-file-utils # ownership for icon folders Requires: hicolor-icon-theme %description Diodon is a clipboard manager for desktops based on Gtk, like GNOME, Cinnamon and MATE. It comes with some nice features: - filter clipboard items by regex - adding customized application paste keybinding - plugins interface %package devel Summary: Development files and headers for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} # runtime need for girepository ownership Requires: libgee-devel%{?_isa} # enforce vala version %if 0%{?fedora} Requires: vala(api) = %{vala_version_api} %else #epel/rhel Requires: vala%{?_isa} >= %{vala_version_api}.0 Requires: vala%{?_isa} <= %{vala_version_api}.99 %endif %description devel %{summary} needed to create extensions of %{name}. %prep %setup -q # FIXME invalid entries found in desktop file, https://bugs.launchpad.net/diodon/+bug/1562563 sed -i -e /NotShowIn/d -e 's,Application;,,' data/%{name}.desktop.in %if %with distwaf find . -name wscript\* |xargs python-modernize -w sed -i 's,import Options,from waflib \0,' wscript rm -frv ./waf* %endif %build # FIXME --build-doc needs valadoc, not available yet in Fedora %wafcmd configure --prefix=%{_prefix} CXXFLGS='%{optflags}' ./waf build %{?_smp_mflags} --skiptests %install %wafcmd install --destdir=%{buildroot} #--bindir=%{_bindir} --libdir=%{_libdir} # do not fiddle with *buntu's b0rken FHS mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart mv %{buildroot}%{_prefix}%{_sysconfdir}/xdg/autostart/*.desktop \ %{buildroot}%{_sysconfdir}/xdg/autostart %ifarch x86_64 # ignore E: hardcoded-library-path in %%{_prefix}/lib mv -v %{buildroot}%{_prefix}/lib %{buildroot}%{_libdir} %endif find %{buildroot} -name apport -type d |xargs rm -rfv %find_lang %{name} %check desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %if 0 CXXFLGS='%{optflags}' %wafcmd build --alltests %else pushd _build_/tests LD_LIBRARY_PATH=../lib%{name} xvfb-run -a ./%{name}-test popd %endif %post /sbin/ldconfig /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/update-desktop-database &> /dev/null || : %postun /sbin/ldconfig if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : fi /usr/bin/update-desktop-database &> /dev/null || : %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || : %files -f %{name}.lang %license COPYING %doc AUTHORS %{_mandir}/man1/%{name}.1* %config(noreplace) %{_sysconfdir}/xdg/autostart/%{name}.desktop %{_datadir}/icons/hicolor/*/apps/%{name}*.svg %exclude %{_datadir}/icons/ubuntu-mono-*/ %{_datadir}/applications/%{name}.desktop %{_datadir}/glib-2.0/schemas/* %{_datadir}/%{name}/ %{_libdir}/girepository-1.0/*.typelib %{_libdir}/%{name}/ %{_libdir}/lib%{name}.so.* %{_bindir}/%{name} %exclude %{_bindir}/%{name}-test %files devel %{_includedir}/%{name}/ %{_datadir}/gir-1.0/*.gir %{_datadir}/vala/vapi/%{name}.* %{_libdir}/lib%{name}.so %{_libdir}/pkgconfig/%{name}.pc %changelog * Tue Mar 29 2016 Raphael Groner - 1.4.0-3 - improve unbundling of waf towards python3, not yet functional - use BR: pkgconfing() - enforce version of vala api - use Requires with _isa flag - improve summary and description - remove tests binary from package - move girepository into main package - disable generation of documentation, valadoc is not available * Mon Mar 28 2016 Raphael Groner - 1.4.0-2 - move vala files into devel subpackage - skip tests execution with waf, run them directly to get details in output - unbundle waf, not working yet - use mandir macro - fix lib64 - make devel subpackage arched, noarch lets arm FTBFS - add BR: desktop-file-utils, for koji - improve comment for license breakdown - rearrange sections * Sun Mar 27 2016 Raphael Groner - 1.4.0-1 - initial