%global srcname qutebrowser
Name: %{srcname}
Version: 2.5.2
Release: %autorelease
Summary: A keyboard-driven, vim-like browser based on PyQt5 and QtWebEngine
License: GPLv3
URL: http://www.qutebrowser.org
Source0: https://github.com/%{srcname}/%{srcname}/releases/download/v%{version}/%{srcname}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: asciidoc
BuildRequires: desktop-file-utils
BuildRequires: libappstream-glib
BuildRequires: python3-setuptools
Requires: qt5-qtbase
Requires: qt5-qtdeclarative
Requires: python3-qt5
Requires: python3-jinja2
Requires: python3-PyYAML
Requires: ((qt5-qtwebengine and python3-qt5-webengine) or (qt5-qtwebkit and python3-qt5-webkit))
Recommends: (qt5-qtwebengine and python3-qt5-webengine and qt5-qtwebengine-devtools)
Recommends: (qt5-qtwebkit and python3-qt5-webkit)
Recommends: python3-pygments
Recommends: python3-adblock
%description
qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on
Python, PyQt5 and QtWebEngine and free software, licensed under the GPL.
It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl.
%prep
%autosetup -p 1 -n %{srcname}-%{version}
%build
# Compile the man page
a2x -f manpage doc/qutebrowser.1.asciidoc
# Find all *.py files and if their first line is exactly '#!/usr/bin/env python3'
# then replace it with '#!/usr/bin/python3' (if it's the 1st line).
find . -type f -iname "*.py" -exec sed -i '1s_^#!/usr/bin/env python3$_#!/usr/bin/python3_' {} +
%py3_build
%install
%py3_install
# Install desktop and appdata files
desktop-file-install \
--add-category="Network" \
--delete-original \
--dir=%{buildroot}%{_datadir}/applications \
misc/org.%{srcname}.%{srcname}.desktop
install -Dm644 misc/org.qutebrowser.qutebrowser.appdata.xml -t %{buildroot}%{_datadir}/metainfo
# Install man page
install -Dm644 doc/%{srcname}.1 -t %{buildroot}%{_mandir}/man1
# Install icons
install -Dm644 icons/qutebrowser.svg \
-t "%{buildroot}%{_datadir}/icons/hicolor/scalable/apps"
for i in 16 24 32 48 64 128 256 512; do
install -Dm644 "icons/qutebrowser-${i}x${i}.png" \
"%{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/qutebrowser.png"
done
# Set __main__.py as executable
chmod 755 %{buildroot}%{python3_sitelib}/%{srcname}/__main__.py
# Remove zero-length files:
# https://fedoraproject.org/wiki/Packaging_tricks#Zero_length_files
find %{buildroot} -size 0 -delete
%check
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/*.appdata.xml
%files
%license LICENSE
%doc README.asciidoc doc/changelog.asciidoc qutebrowser/html/doc
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info
%{python3_sitelib}/%{srcname}
%{_bindir}/%{srcname}
%{_datadir}/applications/org.%{srcname}.%{srcname}.desktop
%{_mandir}/man1/%{srcname}.1*
%{_datadir}/icons/hicolor/scalable/apps/%{srcname}.svg
%{_datadir}/icons/hicolor/16x16/apps/%{srcname}.png
%{_datadir}/icons/hicolor/24x24/apps/%{srcname}.png
%{_datadir}/icons/hicolor/32x32/apps/%{srcname}.png
%{_datadir}/icons/hicolor/48x48/apps/%{srcname}.png
%{_datadir}/icons/hicolor/64x64/apps/%{srcname}.png
%{_datadir}/icons/hicolor/128x128/apps/%{srcname}.png
%{_datadir}/icons/hicolor/256x256/apps/%{srcname}.png
%{_datadir}/icons/hicolor/512x512/apps/%{srcname}.png
%{_datadir}/metainfo/org.qutebrowser.qutebrowser.appdata.xml
%changelog
%autochangelog