File plasma6-browser-integration.spec of Package plasma6-browser-integration

#
# spec file for package plasma6-browser-integration
#
# Copyright (c) 2025 SUSE LLC and contributors
#
# 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 kf6_version 6.18.0
%define qt6_version 6.9.0

%define rname plasma-browser-integration

%bcond_with browser_extension
%bcond_without released

# Full Plasma 6 version (e.g. 6.0.0)
%{!?_plasma6_bugfix: %define _plasma6_bugfix %{version}}
# Latest ABI-stable Plasma (e.g. 6.0 in KF6, but 6.0.80 in KUF)
%{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')}
Name:           plasma6-browser-integration
Version:        6.5.1
Release:        kf.72.1
Summary:        Helper for the KDE Plasma Browser Integration
License:        GPL-3.0-or-later
URL:            https://www.kde.org
Source:         https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz
%if %{with released}
Source1:        https://download.kde.org/stable/plasma/%{version}/%{rname}-%{version}.tar.xz.sig
Source2:        plasma.keyring
%endif
BuildRequires: mozilla-nss mozilla-nspr
Supplements:   (plasma6-workspace and MozillaFirefox)
Supplements:   (plasma6-workspace and firefox-kde-nightly)
Supplements:   (plasma6-workspace and waterfox)
Supplements:   (plasma6-workspace and GoogleChrome)
Supplements:   (plasma6-workspace and chromium)
Supplements:   (plasma6-workspace and chromium-beta)
Supplements:   (plasma6-workspace and opera)
Supplements:   (plasma6-workspace and vivaldi)
BuildRequires:  kf6-extra-cmake-modules >= %{kf6_version}
BuildRequires:  cmake(KF6Config) >= %{kf6_version}
BuildRequires:  cmake(KF6CoreAddons) >= %{kf6_version}
BuildRequires:  cmake(KF6Crash) >= %{kf6_version}
BuildRequires:  cmake(KF6DBusAddons) >= %{kf6_version}
BuildRequires:  cmake(KF6FileMetaData) >= %{kf6_version}
BuildRequires:  cmake(KF6I18n) >= %{kf6_version}
BuildRequires:  cmake(KF6JobWidgets) >= %{kf6_version}
BuildRequires:  cmake(KF6KIO) >= %{kf6_version}
BuildRequires:  cmake(KF6Notifications) >= %{kf6_version}
BuildRequires:  cmake(KF6Purpose) >= %{kf6_version}
BuildRequires:  cmake(KF6Runner) >= %{kf6_version}
BuildRequires:  cmake(KF6StatusNotifierItem) >= %{kf6_version}
BuildRequires:  cmake(LibTaskManager) >= %{_plasma6_bugfix}
BuildRequires:  cmake(PlasmaActivities) >= %{_plasma6_bugfix}
BuildRequires:  cmake(Qt6DBus) >= %{qt6_version}
BuildRequires:  cmake(Qt6Gui) >= %{qt6_version}
BuildRequires:  cmake(Qt6Widgets) >= %{qt6_version}
Supplements:    (plasma6-workspace and GoogleChrome)
Supplements:    (plasma6-workspace and MozillaFirefox)
Supplements:    (plasma6-workspace and chromium)
Supplements:    (plasma6-workspace and opera)
Supplements:    (plasma6-workspace and vivaldi)
Provides:       plasma-browser-integration = %{version}
Obsoletes:      plasma-browser-integration < %{version}
Obsoletes:      plasma-browser-integration-lang < %{version}

%description
This package contains a helper binary necessary for the WebExtension to
work.

%package extension
Summary:        WebExtension for KDE Plamsa Browser Integration
Requires:       %{name} = %{version}
Provides:       plasma-browser-integration-extension = %{version}
Obsoletes:      plasma-browser-integration-extension < %{version}

%description extension
This package contains a WebExtension to integrate the browser better into
KDE Plasma.

%lang_package

%prep
%autosetup -p1 -n %{rname}-%{version}

%build
%cmake_kf6 \
%if %{with browser_extension}
  -DINSTALL_CHROME_MANIFEST:BOOL=TRUE
%else
  -DINSTALL_CHROME_MANIFEST:BOOL=FALSE
%endif

%kf6_build

%install
%kf6_install

if [ "%{_lib}" != "lib" ]; then
  # Move mozilla native messaging file to correct location
  mv %{buildroot}%{_prefix}/lib/mozilla %{buildroot}%{_libdir}
fi

# Doesn't exist in openSUSE
rm -r %{buildroot}%{_prefix}/lib/librewolf

%find_lang %{name} --all-name

%files
%license COPYING*
%{_kf6_bindir}/plasma-browser-integration-host
%{_kf6_plugindir}/kf6/kded/browserintegrationreminder.so
%{_kf6_plugindir}/kf6/kded/browserintegrationflatpakintegrator.so
%dir %{_libdir}/mozilla
%{_libdir}/mozilla/native-messaging-hosts/
%dir %{_sysconfdir}/chromium
%{_sysconfdir}/chromium/native-messaging-hosts/
%dir %{_sysconfdir}/opt/chrome
%{_sysconfdir}/opt/chrome/native-messaging-hosts/
%dir %{_sysconfdir}/opt/edge
%{_sysconfdir}/opt/edge/native-messaging-hosts/
%dir %{_kf6_sharedir}/krunner/dbusplugins
%{_kf6_sharedir}/krunner/dbusplugins/plasma-runner-browserhistory.desktop
%{_kf6_sharedir}/krunner/dbusplugins/plasma-runner-browsertabs.desktop
%{_kf6_applicationsdir}/org.kde.plasma.browser_integration.host.desktop

%if %{with browser_extension}
%files extension
%license COPYING*
%dir %{_datadir}/chromium
%dir %{_datadir}/chromium/extensions
%dir %{_datadir}/google-chrome
%dir %{_datadir}/google-chrome/extensions
%{_datadir}/chromium/extensions/cimiefiiaegbelhefglklhhakcgmhkai.json
%{_datadir}/google-chrome/extensions/cimiefiiaegbelhefglklhhakcgmhkai.json
%endif

%files lang -f %{name}.lang

%changelog
* Tue Oct 28 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.5.1:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.5.1
- Changes since 6.5.0:
  * Update version for new release 6.5.1
* Thu Oct 16 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.5.0:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.5.0
- Changes since 6.4.91:
  * Update version for new release 6.5.0
* Thu Oct  2 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.4.91:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.4.91
- Changes since 6.4.90:
  * Update version for new release 6.4.91
* Tue Sep 23 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.4.90:
  * New feature release
  * For more details see https://kde.org/announcements/plasma/6/6.4.90
- Changes since 6.4.5:
  * Update version for new release 6.4.90
  * media-control: Disable on nicovideo.jp to fix video playback
  * mpris: Restore protocol for "metadata" event
  * krunner plugins: remove unnecessary minimum letter counts
  * action_popup: URL.origin is "null" (string) for invalid cases
  * action_popup: executeScript returns an array of reults
  * tabsrunner: Cache tabs until match session is over
  * dbusrunner: Add Teardown support
  * Remove org.kde.plasma.browser_integration.TabsRunner.xml
  * Add option to inhibit suspend while downloading (kde#479480)
  * Settings: Call settingsChanged only for loaded plugins
  * DownloadJob: Remove unused enum
  * options: Add only-show-in for Firefox
  * mpris: Use whitelist of metadata properties
  * mpris: Download artwork on extension side and cache it (kde#421886)
  * mpris: Check whether metadata changed before emitting a change
  * mpris: Make artwork sizes algorithm more spec-compliant
  * mpris: Clear poster URL when player is gone
  * purpose: Also hide purpose menu on focus loss
  * KRunnerPlugins: Limit icon size to reduce DBus traffic
  * Purpose: Make AlternativesMenu a regular window (kde#507368)
  * Disable media controls on known conferencing pages (kde#435418,kde#435100,kde#503965)
  * update version for new release
* Tue Sep  9 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.4.5:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.4.5
- Changes since 6.4.4:
  * Update version for new release 6.4.5
* Wed Aug  6 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.4.4:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.4.4
- Changes since 6.4.3:
  * Update version for new release 6.4.4
  * mpris: Make artwork sizes algorithm more spec-compliant
  * KRunnerPlugins: Limit icon size to reduce DBus traffic
  * purpose: Also hide purpose menu on focus loss
  * Purpose: Make AlternativesMenu a regular window (kde#507368)
* Tue Jul 15 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.4.3:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.4.3
- Changes since 6.4.2:
  * Update version for new release 6.4.3
* Tue Jul  1 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.4.2:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.4.2
- Changes since 6.4.1:
  * Update version for new release 6.4.2
* Tue Jun 24 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.4.1:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.4.1
- Changes since 6.4.0:
  * Update version for new release 6.4.1
* Thu Jun 12 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.4.0:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.4.0
- Changes since 6.3.91:
  * Update version for new release 6.4.0
* Thu May 29 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.3.91:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.3.91
- Changes since 6.3.90:
  * Update version for new release 6.3.91
* Mon May 19 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.3.90:
  * New feature release
  * For more details see https://kde.org/announcements/plasma/6/6.3.90
- Changes since 6.3.5:
  * update version for new release
  * feat: add librewolf support (kde#476967)
  * Purpose plugin: Reject share if model has no items
  * feat[flatpak-integrator]: add support for flatpak chromium variants
  * feat[flatpak-integrator]: add support for variants
  * Remove unused PROJECT_VERSION_MAJOR cmake variable
  * flatpak-integrator: use more sophisticated code to pass around fds (kde#500000)
  * CI: Add linux-qt6-next build
  * Add missing include for flatpak-integrator plugin
  * Use the XSI version of strerror_r when the GNU version isn't available
  * Add xml/yaml linting
  * update version for new release
* Tue May  6 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.3.5:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.3.5
- Changes since 6.3.4:
  * update version for new release
* Wed Apr  2 2025 Christophe Marin <christophe@krop.fr>
- Update to 6.3.4
  * New bugfix release
  * For more details please see:
  * https://kde.org/announcements/plasma/6/6.3.4
- Changes since 6.3.3:
  * update version for new release
* Tue Mar 11 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.3.3:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.3.3
- Changes since 6.3.2:
  * update version for new release
* Tue Feb 25 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.3.2:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.3.2
- Changes since 6.3.1:
  * update version for new release
* Tue Feb 18 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.3.1:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.3.1
- Changes since 6.3.0:
  * update version for new release
  * flatpak-integrator: use more sophisticated code to pass around fds (kde#500000)
  * update version for new release
  * Add missing include for flatpak-integrator plugin
* Thu Feb  6 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.3.0:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.3.0
- Changes since 6.2.91:
  * update version for new release
* Thu Jan 23 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.91:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.2.91
- Changes since 6.2.90:
  * update version for new release
* Sat Jan 11 2025 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.90:
  * New feature release
  * For more details see https://kde.org/announcements/plasma/6/6.2.90
- Changes since 6.2.5:
  * update version for new release
  * support firefox in flatpak
  * It compiles fine without deprecated methods
  * Don't include quiet packages in feature_summary
  * DownloadJob: use KJob::startElapsedTimer
  * update version for new release
* Tue Dec 31 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.5:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.2.5
- Changes since 6.2.4:
  * update version for new release
* Tue Nov 26 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.4:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.2.4
- Changes since 6.2.3:
  * update version for new release
* Tue Nov  5 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.3:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.2.3
- Changes since 6.2.2:
  * update version for new release
* Tue Oct 22 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.2:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.2.2
- Changes since 6.2.1:
  * update version for new release
* Tue Oct 15 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.1:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.2.1
- Changes since 6.2.0:
  * update version for new release
* Sat Oct  5 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.2.0:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.2.0
- Changes since 6.1.90:
  * update version for new release
* Tue Sep 17 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.1.90:
  * New feature release
  * For more details see https://kde.org/announcements/plasma/6/6.1.90
- Changes since 6.1.5:
  * update version for new release
  * Remove spurious file added by scripty
  * Revert "Register page-script.js as content script"
  * manifest: Add back scripts
  * manifest: "applications" is now "browser_specific_settings"
  * Register page-script.js as content script
  * Add history permission
  * Migrate manifest.json to v3
  * Add service-worker.js
  * Port historyrunner favicon fetching to new favicon API
  * Make use of "userAgentData" for detecting Google Chrome
  * Port chrome.browserAction to chrome.action
  * Port chrome.tabs.executeScript to chrome.scripting.executeScript
  * Settings: Check for p-b-i host desktop file name
  * Set up KAboutData
  * Port deprecated methods
  * Namespace custom event types
  * update version for new release
* Tue Sep 10 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.1.5:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.1.5
- Changes since 6.1.4:
  * update version for new release
* Tue Aug  6 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.1.4:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.1.4
- Changes since 6.1.3:
  * update version for new release
* Tue Jul 16 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.1.3:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.1.3
- Changes since 6.1.2:
  * update version for new release
* Tue Jul  2 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.1.2:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.1.2
- Changes since 6.1.1:
  * update version for new release
* Tue Jun 25 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.1.1:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.1.1
- Changes since 6.1.0:
  * update version for new release
* Thu Jun 13 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.1.0:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.1.0
- Changes since 6.0.90:
  * update version for new release
* Sat May 25 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.0.90:
  * New feature release
  * For more details see https://kde.org/announcements/plasma/6/6.0.90
- Changes since 6.0.5:
  * update version for new release
  * Bump manifest version
  * set min kf6 version
  * Download Job: Truncate excessively long URLs
  * MPrisPlugin: Limit string and URL lengths in metadata
  * MPrisPlugin: Rate-limit property changes
  * add a version for dependencies so it does not break CI https://invent.kde.org/plasma/bluedevil/-/merge_requests/156
* Wed May 22 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.0.5:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.0.5
- Changes since 6.0.4:
  * update version for new release
* Wed Apr 17 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.0.4:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.0.4
- Changes since 6.0.3:
  * update version for new release
* Tue Mar 26 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.0.3:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.0.3
- Changes since 6.0.2:
  * update version for new release
* Wed Mar 13 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.0.2:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.0.2
- Changes since 6.0.1:
  * update version for new release
* Wed Mar  6 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.0.1:
  * New bugfix release
  * For more details see https://kde.org/announcements/plasma/6/6.0.1
- Changes since 6.0.0:
  * update version for new release
* Mon Mar  4 2024 Christophe Marin <christophe@krop.fr>
- Add Provides/Obsoletes to replace Plasma 5
* Wed Feb 21 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 6.0.0:
  * New bugfix release
  * Release announcement not available yet
- Changes since 5.93.0:
  * update version for new release
  * set min kf6 version
  * Download Job: Truncate excessively long URLs
  * MPrisPlugin: Rate-limit property changes
  * MPrisPlugin: Limit string and URL lengths in metadata
  * update version for new release
* Wed Jan 31 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.93.0 (6.0 RC 2):
  * New bugfix release
  * See https://kde.org/announcements/megarelease/6/rc2/ for details
- Changes since 5.92.0:
  * RC 1 version dep
  * add a version for dependencies so it does not break CI https://invent.kde.org/plasma/bluedevil/-/merge_requests/156
* Wed Jan 17 2024 Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.92.0 (6.0 RC 1)
  * For more details please see:
    https://kde.org/announcements/megarelease/6/rc1/
* Wed Aug 23 2023 Christophe Marin <christophe@krop.fr>
- Init plasma6-browser-integration
openSUSE Build Service is sponsored by