%global commit a5c9826e6d7d8b504b07d1c02425e6f62b020791 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global git_date 20240320 # Version of the .so library %global abi_ver 13 Name: wlroots Version: 0.18.0^%{git_date}.g%{shortcommit} Release: %autorelease Summary: A modular Wayland compositor library # Source files/overall project licensed as MIT, but # - HPND-sell-variant # * protocol/drm.xml # * protocol/wlr-data-control-unstable-v1.xml # * protocol/wlr-foreign-toplevel-management-unstable-v1.xml # * protocol/wlr-gamma-control-unstable-v1.xml # * protocol/wlr-input-inhibitor-unstable-v1.xml # * protocol/wlr-layer-shell-unstable-v1.xml # * protocol/wlr-output-management-unstable-v1.xml # - LGPL-2.1-or-later # * protocol/server-decoration.xml # Those files are processed to C-compilable files by the # `wayland-scanner` binary during build and don't alter # the main license of the binaries linking with them by # the underlying licenses. License: MIT URL: https://github.com/Joshua-Ashton/wlroots Source0: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz Source1: examples.meson.build BuildRequires: gcc BuildRequires: glslang BuildRequires: gnupg2 BuildRequires: meson >= 0.59.0 BuildRequires: (pkgconfig(libdisplay-info) >= 0.1.1 with pkgconfig(libdisplay-info) < 0.2) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(gbm) >= 17.1.0 BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(hwdata) BuildRequires: pkgconfig(libdrm) >= 2.4.114 BuildRequires: pkgconfig(libinput) >= 1.21.0 BuildRequires: pkgconfig(libseat) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(pixman-1) >= 0.42.0 BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-protocols) >= 1.34 BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(wayland-server) >= 1.22 BuildRequires: pkgconfig(x11-xcb) BuildRequires: pkgconfig(xcb) BuildRequires: pkgconfig(xcb-errors) BuildRequires: pkgconfig(xcb-icccm) BuildRequires: pkgconfig(xcb-renderutil) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xwayland) %description %{summary}. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} == %{version}-%{release} # not required per se, so not picked up automatically by RPM Recommends: pkgconfig(xcb-icccm) # for examples Suggests: gcc Suggests: meson >= 0.59.0 Suggests: pkgconfig(wayland-egl) %description devel Development files for %{name}. %prep %autosetup -N -n %{name}-%{commit} %build MESON_OPTIONS=( # Disable options requiring extra/unpackaged dependencies -Dexamples=false -Dforce_fallback_for=[] ) %{meson} "${MESON_OPTIONS[@]}" %{meson_build} %install %{meson_install} install -pm0644 -D '%{SOURCE1}' '%{buildroot}/%{_pkgdocdir}/examples/meson.build' %if 0%{?fedora} && 0%{?releasever} >= 41 sed -i 's/Libs: -L${libdir} -lwlroots/Libs: -L${libdir} -lpixman-1 -lwlroots/' %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}/BUILDROOT/%{_libdir}/pkgconfig/%{name}.pc %else sed -i 's/Libs: -L${libdir} -lwlroots/Libs: -L${libdir} -lpixman-1 -lwlroots/' %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch}/%{_libdir}/pkgconfig/%{name}.pc %endif %check %{meson_test} %files %license LICENSE %doc README.md %{_libdir}/lib%{name}.so.%{abi_ver}{,.*} %files devel %doc %{_pkgdocdir}/examples %{_includedir}/wlr %{_libdir}/lib%{name}.so %{_libdir}/pkgconfig/%{name}.pc %changelog %autochangelog