%global commitdate 20231104 %global commit 1fbbf174734dd485102357ae1a169fc487844c97 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global wlr_protocols_commit 4264185db3b7e961e7f157e1cc4fd0ab75137568 %global xlib_minver 1.6.7 %global glib2_minver 2.68.0 %global gtk3_minver 3.24.0 %global gdk_pixbuf_minver 2.40.0 %global wnck_minver 3.14 %global wl_minver 1.15 %global api_majorver 0 Name: libxfce4windowing Version: 4.19.2%{?commitdate:^git%{commitdate}.%{shortcommit}} Release: 1%{?dist} Summary: Windowing concept abstraction library for X11 and Wayland License: LGPL-2.1-or-later URL: https://gitlab.xfce.org/xfce/libxfce4windowing Source0: %{url}/-/archive/%{commit}/%{name}-%{commit}.tar.bz2 # Used exclusively at build-time Source1: https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/archive/%{wlr_protocols_commit}/wlr-protocols-%{wlr_protocols_commit}.tar.bz2 BuildRequires: bzip2 BuildRequires: gcc BuildRequires: git-core BuildRequires: make BuildRequires: tar BuildRequires: xfce4-dev-tools >= 4.18.1 # Generic deps BuildRequires: pkgconfig(glib-2.0) >= %{glib2_minver} BuildRequires: pkgconfig(gobject-2.0) >= %{glib2_minver} BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib2_minver} BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_minver} BuildRequires: pkgconfig(gdk-3.0) >= %{gtk3_minver} BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_minver} BuildRequires: pkgconfig(gtk-doc) >= 1.30 BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.66.0 # Wayland deps BuildRequires: pkgconfig(gdk-wayland-3.0) >= %{gtk3_minver} BuildRequires: pkgconfig(wayland-scanner) >= %{wl_minver} BuildRequires: pkgconfig(wayland-client) >= %{wl_minver} # X11 deps BuildRequires: pkgconfig(x11) >= %{xlib_minver} BuildRequires: pkgconfig(gdk-x11-3.0) >= %{gtk3_minver} BuildRequires: pkgconfig(libwnck-3.0) >= %{wnck_minver} %description Libxfce4windowing is an abstraction library that attempts to present windowing concepts (screens, toplevel windows, workspaces, etc.) in a windowing-system-independent manner. Currently, X11 is fully supported, via libwnck. Wayland is partially supported, through various Wayland protocol extensions. However, the full range of operations available on X11 is not available on Wayland, due to missing features in these protocol extensions. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %autosetup -S git_am -n %{name}-%{commit} # Extract wlr-protocols to replace missing submodule mkdir -p protocols/wlr-protocols tar -C protocols/wlr-protocols -xf %{SOURCE1} --strip-components=1 %build %{?commitdate:NOCONFIGURE=1 xdt-autogen} %configure --disable-static %{?commitdate:--enable-maintainer-mode} %make_build %install %make_install find %{buildroot} -name '*.la' -exec rm -f {} ';' %find_lang %{name} %files -f %{name}.lang %license COPYING %doc NEWS %{_libdir}/%{name}*.so.%{api_majorver}{,.*} %{_libdir}/girepository-1.0/Libxfce4windowing*-%{api_majorver}.0.typelib %files devel # Co-own the directory for now %dir %{_includedir}/xfce4 %{_includedir}/xfce4/%{name}*/ %{_libdir}/%{name}*.so %{_libdir}/pkgconfig/%{name}*.pc %{_datadir}/gir-1.0/Libxfce4windowing*-%{api_majorver}.0.gir %changelog * Sat Dec 02 2023 Neal Gompa - 4.19.2^git20231104.1fbbf17-1 - Initial package