qutebrowser/qutebrowser.spec

114 lines
3.7 KiB
RPMSpec
Raw Normal View History

- Update to version 3.4.0: Removed * Support for Python 3.8 is dropped, and Python 3.9 is now required. Changed * Based on Chromium 122.0.6261.171 with security patches up to 131.0.6778.70 * The .desktop file now also declares qutebrowser as a valid viewer for image/webp. * Updated mimetype information for getting a suitable extension when downloading a data: URL. * The content.javascript.clipboard setting now defaults to "ask", which on Qt 6.8+ will prompt the user to grant clipboard access. On older Qt versions, this is still equivalent to "none" and needs to be set manually. * If a XHR request made via JS sets a custom Accept-Language header, it now correctly has precedence over the global content.headers.accept_language setting (but not per-domain overrides). This fixes subtle JS issues on websites that rely on the custom header being sent for those requests, and e.g. block the requests server-side otherwise. * Our packaging scripts now prefer the "legacy"/"for older browsers" PDF.js build as their normal release only supports the latest Chromium version and might break in qutebrowser on updates. Note to packagers: If there’s a PDF.js package in your distribution as an (optional) qutebrowser dependency, consider also switching to this variant (same code, built differently). Fixed * Crash with recent Jinja/Markupsafe versions when viewing a finished userscript (or potentially editor) process via :process. * scripts/open_url_in_instance.sh now avoids echo -n, thus running correctly on POSIX sh. * Added a workaround for a bogus QtWebEngine warning about missing spell checking dictionaries. OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=140
2024-12-25 06:17:47 +01:00
#
# spec file for package qutebrowser
#
# Copyright (c) 2024 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/
#
Name: qutebrowser
Version: 3.4.0
Release: 0
Summary: Keyboard-driven vim-like browser based on Qt6
License: GPL-3.0-or-later
Group: Productivity/Networking/Web/Browsers
URL: https://qutebrowser.org/
Source: https://github.com/The-Compiler/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz
Source1: https://github.com/The-Compiler/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz.asc
Source2: %{name}.keyring
BuildRequires: Mesa-dri
BuildRequires: asciidoc
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: python3-Flask
BuildRequires: python3-Jinja2
BuildRequires: python3-MarkupSafe
BuildRequires: python3-PyQt6-WebEngine
BuildRequires: python3-PyQt6-sip
BuildRequires: python3-PyYAML
BuildRequires: python3-beautifulsoup4
BuildRequires: python3-cheroot
BuildRequires: python3-devel >= 3.9
BuildRequires: python3-hypothesis
BuildRequires: python3-importlib-resources
BuildRequires: python3-opengl
BuildRequires: python3-pytest
BuildRequires: python3-pytest-bdd
BuildRequires: python3-pytest-benchmark
BuildRequires: python3-pytest-instafail
BuildRequires: python3-pytest-mock
BuildRequires: python3-pytest-qt
BuildRequires: python3-pytest-rerunfailures
BuildRequires: python3-pytest-xvfb
BuildRequires: python3-setuptools
BuildRequires: python3-tk
BuildRequires: python3-tldextract
BuildRequires: qt6-sql-sqlite
BuildRequires: python(abi) >= 3.9
Requires: python3-Jinja2
Requires: python3-MarkupSafe
Requires: python3-PyQt6-WebEngine
Requires: python3-PyYAML
Requires: python3-opengl
Requires: qt6-sql-sqlite
Recommends: python3-Pygments
Recommends: python3-adblock
Obsoletes: qutebrowser-git-qt6 < %{version}
Provides: qutebrowser-git-qt6 = %{version}
BuildArch: noarch
%description
qutebrowser is a keyboard-focused browser with a minimal GUI.
It's based on PyQt6 and QtWebEngine.
%prep
%setup -q
sed -i '1d' %{name}/__main__.py
sed -i 's,^#!%{_bindir}/env ,#!%{_bindir}/,' \
misc/userscripts/* \
scripts/*.py
sed -i 's,^#!%{_bindir}/bash,#!/bin/bash,' \
misc/userscripts/*
mv misc/Makefile .
%build
%install
%make_install PREFIX=%{_prefix}
chmod -x %{buildroot}%{_datadir}/%{name}/scripts/cycle-inputs.js \
%{buildroot}%{_datadir}/%{name}/scripts/utils.py \
%{buildroot}%{_datadir}/%{name}/userscripts/README.md
rm %{buildroot}%{python3_sitelib}/%{name}/git-commit-id
%fdupes %{buildroot}%{python3_sitelib}/
# NOTE: test suite disabled because the BDD tests are too unreliable
# %%check
# NOTE: test suite is slow but doesnt run reliably with xdist
# PYTHONPATH=. pytest -v \
# -k 'not importlib' \
%files
%license LICENSE
%doc doc/changelog.asciidoc README.asciidoc
%{_bindir}/%{name}
%{python3_sitelib}/%{name}/
%{python3_sitelib}/%{name}-*
%{_datadir}/applications/org.qutebrowser.qutebrowser.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%{_datadir}/metainfo/org.qutebrowser.qutebrowser.appdata.xml
%{_datadir}/%{name}
%{_mandir}/man1/%{name}.1%{?ext_man}
%changelog