%bcond_with tests # build with tests
# TODO:
# * dbusmenu-qt5 , Support for notification area menus via the DBusMenu protocol , <https://launchpad.net/libdbusmenu-qt>
+# * Could NOT find AppMenuGtkModule (missing: AppMenuGtk3Module_LIBRARY AppMenuGtk2Module_LIBRARY)
#
-%define kdeplasmaver 5.27.0
+%define kdeplasmaver 5.27.11
%define qtver 5.15.2
+%define kf5ver 5.102.0
%define kpname plasma-workspace
Summary: KDE Plasma Workspace
+Summary(pl.UTF-8): Środowisko KDE Plasma
Name: kp5-%{kpname}
-Version: 5.27.0
-Release: 2
+Version: 5.27.11
+Release: 4
License: LGPL v2.1+
Group: X11/Libraries
Source0: https://download.kde.org/stable/plasma/%{kdeplasmaver}/%{kpname}-%{version}.tar.xz
-# Source0-md5: 875d79bfa6766ce3d2aeef88dbee6292
+# Source0-md5: ae751485c237143987f987191064ddfd
Source1: kde.pam
-Patch0: kp5-plasma-workspace-absolute-path.patch
-Patch1: kp5-plasma-workspace-scripts.patch
-URL: http://www.kde.org/
-BuildRequires: AppStream-qt-devel
-BuildRequires: NetworkManager-devel >= 1.4.0
+Patch0: plasma-workspace-appstream1.patch
+URL: https://kde.org/
+BuildRequires: AppStream-qt5-devel >= 1.0.2
+BuildRequires: NetworkManager-devel >= 1.4
+BuildRequires: Qt5Concurrent-devel >= %{qtver}
BuildRequires: Qt5Core-devel >= %{qtver}
+BuildRequires: Qt5Gui-devel >= %{qtver}
+BuildRequires: Qt5Network-devel >= %{qtver}
BuildRequires: Qt5PrintSupport-devel >= %{qtver}
-BuildRequires: cmake >= 2.8.12
+BuildRequires: Qt5Quick-devel >= %{qtver}
+BuildRequires: Qt5Sql-devel >= %{qtver}
+BuildRequires: Qt5Svg-devel >= %{qtver}
+BuildRequires: Qt5Test-devel >= %{qtver}
+BuildRequires: Qt5WaylandClient-devel >= %{qtver}
+BuildRequires: Qt5Widgets-devel >= %{qtver}
+BuildRequires: Qt5X11Extras-devel >= %{qtver}
+BuildRequires: Qt5XkbCommonSupport-devel >= %{qtver}
+BuildRequires: cmake >= 3.22
+BuildRequires: fontconfig-devel
BuildRequires: gpsd-devel
+BuildRequires: iso-codes
BuildRequires: ka5-kio-extras-devel
+BuildRequires: ka5-libkexiv2-devel
BuildRequires: kf5-baloo-devel
-BuildRequires: kf5-extra-cmake-modules >= 5.50
-BuildRequires: kf5-kactivities-devel
-BuildRequires: kf5-kactivities-stats-devel
-BuildRequires: kf5-kcmutils-devel
-BuildRequires: kf5-kcrash-devel
-BuildRequires: kf5-kdbusaddons-devel
-BuildRequires: kf5-kdeclarative-devel
+BuildRequires: kf5-extra-cmake-modules >= %{kf5ver}
+BuildRequires: kf5-kactivities-devel >= %{kf5ver}
+BuildRequires: kf5-kactivities-stats-devel >= %{kf5ver}
+BuildRequires: kf5-karchive-devel >= %{kf5ver}
+BuildRequires: kf5-kauth-devel >= %{kf5ver}
+BuildRequires: kf5-kcmutils-devel >= %{kf5ver}
+BuildRequires: kf5-kcoreaddons-devel >= %{kf5ver}
+BuildRequires: kf5-kcrash-devel >= %{kf5ver}
+BuildRequires: kf5-kdbusaddons-devel >= %{kf5ver}
+BuildRequires: kf5-kdeclarative-devel >= %{kf5ver}
BuildRequires: kf5-kded-devel
-BuildRequires: kf5-kdelibs4support-devel
-BuildRequires: kf5-kdesu-devel
-BuildRequires: kf5-kdoctools-devel
-BuildRequires: kf5-kglobalaccel-devel
+BuildRequires: kf5-kdoctools-devel >= %{kf5ver}
+BuildRequires: kf5-kglobalaccel-devel >= %{kf5ver}
+BuildRequires: kf5-kguiaddons-devel >= %{kf5ver}
BuildRequires: kf5-kholidays-devel
-BuildRequires: kf5-kidletime-devel
-BuildRequires: kf5-kjsembed-devel
-BuildRequires: kf5-knewstuff-devel
-BuildRequires: kf5-knotifyconfig-devel
-BuildRequires: kf5-kpackage-devel
-BuildRequires: kf5-kpeople-devel
-BuildRequires: kf5-kquickcharts-devel
-BuildRequires: kf5-krunner-devel
-BuildRequires: kf5-ktexteditor-devel
-BuildRequires: kf5-ktextwidgets-devel
-BuildRequires: kf5-kwallet-devel
-BuildRequires: kf5-kxmlrpcclient-devel
-BuildRequires: kf5-networkmanager-qt-devel
-BuildRequires: kf5-plasma-framework-devel
-BuildRequires: kf5-prison-devel
+BuildRequires: kf5-ki18n-devel >= %{kf5ver}
+BuildRequires: kf5-kiconthemes-devel >= %{kf5ver}
+BuildRequires: kf5-kidletime-devel >= %{kf5ver}
+BuildRequires: kf5-kio-devel >= %{kf5ver}
+BuildRequires: kf5-kirigami2-devel >= %{kf5ver}
+BuildRequires: kf5-kitemmodels-devel >= %{kf5ver}
+BuildRequires: kf5-knewstuff-devel >= %{kf5ver}
+BuildRequires: kf5-knotifications-devel >= %{kf5ver}
+BuildRequires: kf5-knotifyconfig-devel >= %{kf5ver}
+BuildRequires: kf5-kpackage-devel >= %{kf5ver}
+BuildRequires: kf5-kpeople-devel >= %{kf5ver}
+BuildRequires: kf5-kquickcharts-devel >= %{kf5ver}
+BuildRequires: kf5-krunner-devel >= %{kf5ver}
+BuildRequires: kf5-ktexteditor-devel >= %{kf5ver}
+BuildRequires: kf5-ktextwidgets-devel >= %{kf5ver}
+BuildRequires: kf5-kunitconversion-devel >= %{kf5ver}
+BuildRequires: kf5-kwallet-devel >= %{kf5ver}
+BuildRequires: kf5-kwayland-devel >= %{kf5ver}
+BuildRequires: kf5-networkmanager-qt-devel >= %{kf5ver}
+BuildRequires: kf5-plasma-framework-devel >= %{kf5ver}
+BuildRequires: kf5-plasma-wayland-protocols-devel >= 1.6
+BuildRequires: kf5-prison-devel >= %{kf5ver}
+BuildRequires: kp5-breeze-devel >= %{kdeplasmaver}
BuildRequires: kp5-kpipewire-devel >= %{kdeplasmaver}
-BuildRequires: kp5-kscreenlocker-devel >= %{kdeplasmaver}
+BuildRequires: kp5-kscreenlocker-devel >= 5.13.80
BuildRequires: kp5-kwin-devel >= %{kdeplasmaver}
+BuildRequires: kp5-layer-shell-qt-devel >= %{kdeplasmaver}
BuildRequires: kp5-libkscreen-devel >= %{kdeplasmaver}
BuildRequires: kp5-libksysguard-devel >= %{kdeplasmaver}
-BuildRequires: libdbusmenu-qt5-devel
-BuildRequires: libqalculate-devel >= 4.3.0
-BuildRequires: mpfr-devel
+BuildRequires: kuserfeedback-devel
+BuildRequires: libdrm-devel
+BuildRequires: libicu-devel
+BuildRequires: libqalculate-devel > 2.0
+BuildRequires: libstdc++-devel >= 6:7
+BuildRequires: libxcb-devel
BuildRequires: ninja
-BuildRequires: pam-devel
-BuildRequires: phonon-qt5-devel
-BuildRequires: rpmbuild(macros) >= 1.164
+BuildRequires: phonon-qt5-devel >= 4.6.60
+BuildRequires: pipewire-devel >= 0.3
+BuildRequires: pkgconfig
+BuildRequires: polkit-qt5-1-devel
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.736
+BuildRequires: tar >= 1:1.22
+BuildRequires: wayland-devel
+BuildRequires: wayland-protocols >= 1.31
+BuildRequires: xcb-util-image-devel
+BuildRequires: xorg-lib-libICE-devel
BuildRequires: xorg-lib-libSM-devel
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xorg-lib-libXau-devel
BuildRequires: xorg-lib-libXcursor-devel
+BuildRequires: xorg-lib-libXfixes-devel
BuildRequires: xorg-lib-libXft-devel
+BuildRequires: xorg-lib-libXrender-devel
BuildRequires: xorg-lib-libXtst-devel
+BuildRequires: xorg-lib-libxkbcommon-devel
BuildRequires: xz
+BuildRequires: zlib-devel
Requires: kp5-plasma-workspace-data = %{version}-%{release}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
KDE Plasma Workspace.
+%description -l pl.UTF-8
+Środowisko KDE Plasma.
+
%package data
Summary: Data files for %{kpname}
Summary(pl.UTF-8): Dane dla %{kpname}
Summary(pl.UTF-8): Pliki nagłówkowe dla programistów używających %{kpname}
Group: X11/Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: Qt5Core-devel >= %{qtver}
+Requires: Qt5Gui-devel >= %{qtver}
+Requires: Qt5Quick-devel >= %{qtver}
+Requires: kf5-kitemmodels-devel >= %{kf5ver}
+Requires: kf5-plasma-framework-devel >= %{kf5ver}
+Requires: libstdc++-devel >= 6:7
%description devel
Header files for %{kpname} development.
%prep
%setup -q -n %{kpname}-%{version}
-#%%patch0 -p1
-#%%patch1 -p1
+%patch0 -p1
%build
-install -d build
-cd build
-%cmake -G Ninja \
+%cmake -B build \
+ -G Ninja \
%{!?with_tests:-DBUILD_TESTING=OFF} \
- -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
- -DHTML_INSTALL_DIR=%{_kdedocdir} \
- ../
-%ninja_build
+ -DKDE_INSTALL_DOCBUNDLEDIR=%{_kdedocdir} \
+ -DKDE_INSTALL_SYSCONFDIR=%{_sysconfdir} \
+ -DKDE_INSTALL_USE_QT_SYS_PATHS=ON
+
+%ninja_build -C build
%if %{with tests}
ctest
%install
rm -rf $RPM_BUILD_ROOT
+
%ninja_install -C build
install -p -D %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/kde