%global srcname qutebrowser
Name: %{srcname}
Version: 0.6.0
Release: 1%{?dist}
Summary: A keyboard-driven, vim-like browser based on PyQt5 and QtWebKit
Group: Applications/Internet
License: GPLv3
URL: http://www.qutebrowser.org
Source0: http://qutebrowser.org/releases/v%{version}/%{srcname}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: asciidoc
BuildRequires: desktop-file-utils
Requires: qt5-qtbase qt5-qtwebkit
Requires: python3-setuptools
Requires: python3-qt5
Requires: python3-jinja2
Requires: python3-pygments
Requires: python3-PyYAML
Requires: python3-pyPEG2
Recommends: python3-colorama
Recommends: python3-cssutils
%if 0%{?fedora} >= 24
Requires: python3-qt5-webkit
%endif
%description
qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on
Python, PyQt5 and QtWebKit and free software, licensed under the GPL.
It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl.
%prep
%autosetup -n %{srcname}-%{version}
%build
# Compile the man page
a2x -f manpage doc/qutebrowser.1.asciidoc
# Find all *.py files with the exact line '#!/usr/bin/env python3' and for each
# such file replace the line with '#!/usr/bin/python3' (if it's the 1st line).
grep -ilrx . -e '#!/usr/bin/env python3' --include '*.py' \
| xargs sed -i '1s_^#!/usr/bin/env python3$_#!/usr/bin/python3_'
%py3_build
%install
%py3_install
# install .desktop file
desktop-file-install \
--add-category="Network" \
--delete-original \
--dir=%{buildroot}%{_datadir}/applications \
%{srcname}.desktop
# 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
%post
# Update the icon cache:
# http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
# Update the desktop database:
# http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-database
/usr/bin/update-desktop-database &> /dev/null || :
%postun
# http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache
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 || :
fi
# http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#desktop-database
/usr/bin/update-desktop-database &> /dev/null || :
%posttrans
# http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%files
%license COPYING
%doc CHANGELOG.asciidoc CONTRIBUTING.asciidoc FAQ.asciidoc
%doc INSTALL.asciidoc README.asciidoc PKG-INFO
%{python3_sitelib}/%{srcname}-%{version}-py?.?.egg-info
%{python3_sitelib}/%{srcname}
%{_bindir}/%{srcname}
%{_datadir}/applications/%{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
%changelog
* Thu Apr 07 2016 Tomas Orsava <torsava@redhat.com> - 0.6.0-1
- Updated to a new upstream version.
* Wed Mar 02 2016 Rex Dieter <rdieter@fedoraproject.org> 0.5.1-2
- Requires: python3-qt5-webkit
* Mon Feb 22 2016 Tomas Orsava <torsava@redhat.com> - 0.5.1-1
- Let there be package.