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
openSUSE Build Service is sponsored by