File lightly-shaders.spec of Package lightly-shaders

Name:           lightly-shaders
Version:        3.0.0
Release:        0%{?dist}
Summary:        Rounded window corners and outline effect for KWin
License:        GPL-3.0
URL:            https://github.com/a-parhom/LightlyShaders
Source0:        %name-%version.tar

Requires:	( kwin6 >= 6.4.0 or kwin6-x11 >= 6.4.0 )

BuildRequires:	cmake
BuildRequires:	gcc-c++
BuildRequires:	fdupes
BuildRequires:	extra-cmake-modules
BuildRequires:	cmake(KWin)
BuildRequires:	cmake(KWinX11)
BuildRequires:	cmake(KF6Config)
BuildRequires:	cmake(KF6GuiAddons)
BuildRequires:	cmake(KF6KCMUtils)
BuildRequires:	cmake(KF6Crash)
BuildRequires:	cmake(KF6KIO)
BuildRequires:	cmake(Qt6UiTools)
BuildRequires:	cmake(KF6GlobalAccel)
BuildRequires:	cmake(KF6Notifications)
BuildRequires:	cmake(Qt6Quick)
BuildRequires:	libepoxy-devel

%description
Round window corners and outline effect for KWin.

This is a fork of Luwx's LightlyShaders, which in turn is a fork of ShapeCorners.

It deals with infamous "korner bug" and works correctly with stock Plasma effects (except WindowHeap-based effects, which is a bug in KWin).

%prep
%setup -q

%build
mkdir -p build/{wayland,x11}

%install
cmake -B build/wayland -DCMAKE_INSTALL_PREFIX=%{_prefix}
make %{_smp_mflags} -C build/wayland
%make_install -C build/wayland

sed -ri '/^find_package\(KWin(DBusInterface| )/s/KWin/KWinX11/' CMakeLists.txt
find -type f -name CMakeLists.txt -not -path "*/build/*" \
		-exec sed -i "/KWin::kwin/s/KWin::kwin/KWinX11::kwin/" {} +

find -type f -name CMakeLists.txt -not -path "*/build/*" \
		-exec sed -ri "/\/kwin\/effects\/(configs|plugins)/s|kwin/effects|kwin-x11/effects|" {} +

cmake -B build/x11 -DCMAKE_INSTALL_PREFIX=%{_prefix}
make %{_smp_mflags} -C build/x11
%make_install -C build/x11 # Overwriting: liblshelper.so*

%fdupes -s %{buildroot}
find %{buildroot} -type f -name "*.so" -executable -exec strip --strip-all {} \;

%check

%files
%{_libdir}/liblshelper.so.0
%{_libdir}/liblshelper.so.3.0.0

%dir %{_kf6_plugindir}/kwin
%dir %{_kf6_plugindir}/kwin/effects
%dir %{_kf6_plugindir}/kwin/effects/configs
%dir %{_kf6_plugindir}/kwin/effects/plugins

%{_kf6_plugindir}/kwin/effects/configs/kwin_lightlyshaders_blur_config.so
%{_kf6_plugindir}/kwin/effects/configs/kwin_lightlyshaders_config.so
%{_kf6_plugindir}/kwin/effects/plugins/kwin_effect_lightlyshaders.so
%{_kf6_plugindir}/kwin/effects/plugins/lightlyshaders_blur.so

# X11 files
%dir %{_kf6_plugindir}/kwin-x11
%dir %{_kf6_plugindir}/kwin-x11/effects
%dir %{_kf6_plugindir}/kwin-x11/effects/configs
%dir %{_kf6_plugindir}/kwin-x11/effects/plugins

%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_lightlyshaders_blur_config.so
%{_kf6_plugindir}/kwin-x11/effects/configs/kwin_lightlyshaders_config.so
%{_kf6_plugindir}/kwin-x11/effects/plugins/kwin_effect_lightlyshaders.so
%{_kf6_plugindir}/kwin-x11/effects/plugins/lightlyshaders_blur.so
openSUSE Build Service is sponsored by