%bcond_with gcc

Name: theseus-ship
Version: 6.0.0
Release: 1%{dist}
License: GPLv2
Summary: Wayland and X11 Compositor for the KDE Plasma desktop
URL:     https://github.com/winft/theseus-ship
Source0: https://github.com/winft/theseus-ship/archive/refs/tags/v%{version}.tar.gz#/theseus-ship-%{version}.tar.gz

BuildRequires: cmake
BuildRequires: como-devel
BuildRequires: cmake(Qt6UiTools)
BuildRequires: kf6-rpm-macros
BuildRequires: cmake(KWinDBusInterface) >= 6.0
BuildRequires: cmake(KF6DBusAddons)
BuildRequires: cmake(KF6Crash)
BuildRequires: cmake(KF6Kirigami)
BuildRequires: cmake(KDecoration2)
BuildRequires: cmake(KScreenLocker)
BuildRequires: cmake(Breeze)
BuildRequires: cmake(Plasma)
BuildRequires: pkgconfig(epoxy) >= 1.3
BuildRequires: pkgconfig(wayland-egl) >= 1.2
BuildRequires: pkgconfig(wayland-cursor)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-eglstream)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbcommon-x11) >= 0.7
BuildRequires: pkgconfig(libinput) >= 1.9
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(libcap)

Provides: kwinft = %{version}-%{release}
Provides: kwin = %{version}-%{release}
Conflicts: kwin


%description
Theseus' Ship is a robust, fast and versatile, yet easy to use composited
window manager for the Wayland and X11 windowing systems on Linux. 
Theseus' Ship is intended to be used as part of a KDE Plasma Desktop. 
Theseus' Ship is a reboot of KDE's KWin. It differentates itself from
KWin in that it uses The Compositor Modules.

%prep
%autosetup -p1

%build
%if %{with gcc}
%enable_devtoolset14
export CC=gcc
export CXX=c++
%endif

%cmake_kf6

%cmake_build

%install
%cmake_install

%files
%license LICENSE
%doc README.md
%{_bindir}/kwin_*
%{_libexecdir}/kwin-applywindowdecoration
%{_libdir}/libkcmkwincommon.so.6*
%{_qt6_plugindir}/plasma/*
%{_qt6_plugindir}/kwin/*
%{_qt6_qmldir}/org/kde/kwin/private/kdecoration/*
%{_datadir}/applications/kcm_kwin*.desktop
%{_datadir}/applications/kwincompositing.desktop
%{_datadir}/config.kcfg/*.kcfg
%{_datadir}/knsrcfiles/*.knsrc
