File catfish.spec of Package catfish

#
# spec file for package catfish
#
# Copyright (c) 2020 SUSE LLC
#
# 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  _name  org.xfce.Catfish
Name:           catfish
Version:        @SERVICE@
Release:        0
Summary:        Versatile File Searching Tool
License:        GPL-2.0-only
Group:          Productivity/File utilities
URL:            http://www.twotoasts.de/index.php/catfish
Source:         %{name}-%{version}.tar.gz
BuildRequires:  fdupes
# Needed for typelib() - Requires.
BuildRequires:  gobject-introspection
BuildRequires:  hicolor-icon-theme
BuildRequires:  intltool
BuildRequires:  python3-distutils-extra
# Checking module dependencies...
BuildRequires:  python3-gobject
BuildRequires:  python3-pexpect
BuildRequires:  python3-xml
BuildRequires:  typelib(Gtk) = 3.0
BuildRequires:  update-desktop-files
#uildRequires:  zeitgeist
# ...OK
Requires:       findutils-locate
Requires:       gdk-pixbuf-loader-rsvg
Requires:       gsettings-backend-dconf
Requires:       python3-cairo
Requires:       python3-gobject
Requires:       python3-gobject-Gdk
Requires:       python3-gobject-cairo
Requires:       python3-pexpect
Requires:       python3-xml
Requires:       sudo
Recommends:     %{name}-lang
Suggests:       zeitgeist
BuildArch:      noarch
%if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150200
BuildRequires:  rsvg-convert
%else
BuildRequires:  rsvg-view
%endif

%description
Catfish is a GTK+ search utility written in python. Its search is powered by
/usr/bin/find and /usr/bin/locate, with search suggestions provided by
zeitgeist.

%lang_package

%prep
%setup -q

%build
%py3_build

%install
python3 ./setup.py install -O1 \
    --prefix=%{_prefix} \
    --root=%{buildroot}
rm -rf %{buildroot}%{_datadir}/doc/%{name}
# Fix: non-executable-script
pushd %{buildroot}
for _file in $(grep -rl '^\#\!\/'); do
  find -name ${_file##*/} -type f -not -perm /111 -exec sed '/^\#\!\//d' -i {} \+
  find -name ${_file##*/} -type f -perm /111 -exec sed '/^\#\!\/.\+py/s/env\ \+//' -i {} \+
done
%py3_compile -O .%{python3_sitelib}
popd
sed -i "s/\(Exec=\).*/\1%{name}/" %{buildroot}%{_datadir}/applications/%{_name}.desktop
for i in 16 24 32 48; do
    install -dm 0755 %{buildroot}%{_datadir}/icons/hicolor/$i\x$i/apps
    rsvg-convert -h $i -w $i data/media/catfish.svg -o %{buildroot}%{_datadir}/icons/hicolor/$i\x$i/apps/%{name}.png
done

%suse_update_desktop_file -r %{_name} GNOME Utility Filesystem
%fdupes %{buildroot}%{python3_sitelib}
%find_lang %{name}

%files
%doc AUTHORS ChangeLog README.md
%{_bindir}/%{name}
%{_datadir}/%{name}/
%{_datadir}/metainfo/%{name}.appdata.xml
%{_datadir}/applications/%{_name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.??g
%{python3_sitelib}/%{name}
%{python3_sitelib}/%{name}_lib
%{python3_sitelib}/%{name}-*-py%{py3_ver}.egg-info
%{_mandir}/man?/%{name}.?%{ext_man}
%license COPYING

%files lang -f %{name}.lang

%changelog