Files
desktop/falkon/falkon.spec
2026-04-02 12:36:04 +08:00

126 lines
4.2 KiB
RPMSpec

# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
# SPDX-FileContributor: jingyupu <pujingyu@iscas.ac.cn>
#
# SPDX-License-Identifier: MulanPSL-2.0
%define kf6_version 6.19.0
%define qt6_version 6.9.0
Name: falkon
Version: 25.12.3
Release: %autorelease
Summary: Modern web browser
License: GPL-3.0-or-later
URL: https://apps.kde.org/falkon
VCS: git:https://github.com/KDE/falkon.git
#!RemoteAsset
Source0: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz
BuildRequires: kf6-extra-cmake-modules >= %{kf6_version}
BuildRequires: fdupes
BuildRequires: pkgconfig
BuildRequires: qt6-qttools
BuildRequires: qt6-doctools
BuildRequires: qt6-linguist
BuildRequires: qt6-qtbase-private-devel
BuildRequires: cmake(KF6Archive) >= %{kf6_version}
BuildRequires: cmake(KF6CoreAddons) >= %{kf6_version}
BuildRequires: cmake(KF6Crash) >= %{kf6_version}
BuildRequires: cmake(KF6I18n) >= %{kf6_version}
BuildRequires: cmake(KF6JobWidgets) >= %{kf6_version}
BuildRequires: cmake(KF6KIO) >= %{kf6_version}
BuildRequires: cmake(KF6Purpose) >= %{kf6_version}
BuildRequires: cmake(KF6Wallet) >= %{kf6_version}
BuildRequires: cmake(Qt6Core) >= %{qt6_version}
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
BuildRequires: cmake(Qt6LinguistTools) >= %{qt6_version}
BuildRequires: cmake(Qt6Network) >= %{qt6_version}
BuildRequires: cmake(Qt6PrintSupport) >= %{qt6_version}
BuildRequires: cmake(Qt6QuickWidgets) >= %{qt6_version}
BuildRequires: cmake(Qt6Sql) >= %{qt6_version}
BuildRequires: cmake(Qt6WebChannel) >= %{qt6_version}
BuildRequires: cmake(Qt6WebEngineCore) >= %{qt6_version}
BuildRequires: cmake(Qt6WebEngineWidgets) >= %{qt6_version}
BuildRequires: cmake(Qt6Widgets) >= %{qt6_version}
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(xcb-util)
# still fails to build with python deps
#BuildRequires: cmake(PySide6)
#BuildRequires: cmake(Shiboken6)
#BuildRequires: python3-devel
Requires: qt6-qtbase >= %{qt6_version}
Recommends: falkon-kde
Provides: qupzilla = %{version}
Obsoletes: qupzilla < %{version}
Provides: web_browser
Provides: falkon-gnome-keyring = %{version}
Obsoletes: falkon-gnome-keyring < %{version}
# No QtWebEngine for other archs
ExclusiveArch: aarch64 x86_64 %{x86_64} riscv64
%description
Falkon is a web browser designed to well integrate with all
common Linux desktops like GNOME and KDE Plasma.
It supports current web standards and comes with many features,
such as an integrated ad blocker.
It was previously known as QupZilla.
%package kde
Summary: Plugin for tighter integration of KDE technologies
Requires: falkon = %{version}
Supplements: (%{name} and plasma5-workspace)
Supplements: (%{name} and plasma6-workspace)
Provides: falkon-kwallet = %{version}
Obsoletes: falkon-kwallet < %{version}
Provides: qupzilla-kwallet = %{version}
Obsoletes: qupzilla-kwallet < %{version}
%description kde
Plugin for the Falkon browser that allows tighter integration of KDE technologies,
such as storing passwords in KWallet.
%prep
%autosetup -p1
# The plugins are not installed if PySide is not present at build time.
find po/ -name "falkon_helloqml.po" -o -name "falkon_hellopython.po" -exec rm {} \;
%build
%cmake_kf6
%kf6_build
%install
%kf6_install
# todo: fix the name error.
# Avoid illegal package names
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/*@*
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/en_GB/
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/en/
# Use langpacks macro to auto-split translations
%find_lang %{name} --with-qt --all-name --generate-subpackages
%fdupes %{buildroot}%{_kf6_sharedir}
%files
%license COPYING
%doc README.md
%{_kf6_appstreamdir}/org.kde.falkon.appdata.xml
%{_kf6_bindir}/falkon
%{_kf6_iconsdir}/hicolor/*/apps/falkon.*
%{_kf6_libdir}/libFalkonPrivate.so.*
%{_kf6_plugindir}/falkon/
%{_kf6_sharedir}/applications/org.kde.falkon.desktop
%{_kf6_sharedir}/bash-completion/
%{_kf6_sharedir}/falkon/
%exclude %{_kf6_plugindir}/falkon/KDEFrameworksIntegration.so
%files kde
%{_kf6_plugindir}/falkon/KDEFrameworksIntegration.so
%changelog
%{?autochangelog}