File qwlroots.spec of Package qwlroots
# Copyright (c) 2023-2024 rewine <lhongxu@outlook.com>
%define libname libqwlroots0
Name: qwlroots
Version: 0.2.0
Release: 0
Summary: A Qt style development interface
License: LGPL-3.0-only
URL: https://github.com/vioken/qwlroots/
Group: System/GUI/Other
Source0: %{name}-%{version}.tar.gz
BuildRequires: fdupes
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6Gui)
BuildRequires: pkgconfig(Qt6Test)
BuildRequires: pkgconfig(wlroots-0.18)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(wlr-protocols)
BuildRequires: pkgconfig(pixman-1)
%if 0%{?suse_version} < 1600
BuildRequires: gcc13-c++
%endif
%description
qwlroots is a binding of wlroots, which provides a Qt style development interface. It aims to simplify wlroots API calling methods with Qt, and serve the needs of calling wlroots within Qt projects. In qwlroots, each wlroots struct is wrapped as a C++ class with its corresponding functions. At the same time, wl_singals in Wayland are wrapped as Qt signals.
%package -n %{libname}
Summary: Qt and QML bindings for wlroots
Group: System/Libraries
%description -n %{libname}
qwlroots is a binding of wlroots, which provides a Qt style development interface
%package devel
Summary: Header files and developer docs for qwlroots
Group: Development/Libraries/C and C++
Requires: %{libname} = %{version}
%description devel
The qwlroots-devel package contains the header files and developer docs for qwlroots
%prep
%autosetup -p1 -n %{name}-%{version}
%build
%if 0%{?suse_version} < 1600
export CXX=g++-13
%endif
%cmake \
-DPREFER_QT_5:BOOL=OFF
%cmake_build
%install
%cmake_install
sed -i "s/\${wlr}/wlroots/" %{buildroot}%{_libdir}/cmake/QWlroots/QWlrootsConfig.cmake
%fdupes %{buildroot}%{_includedir}
%files devel
%license LICENSES/*
%doc README.md README.zh_CN.md
%{_includedir}/qwlroots/
%{_libdir}/pkgconfig/qwlroots.pc
%{_libdir}/cmake/QWlroots
%{_libdir}/libqwlroots.so
%files -n %{libname}
%{_libdir}/libqwlroots.so.*
%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig
%changelog