@ -1,35 +1,86 @@
@@ -1,35 +1,86 @@
%global commit0 4b87bf9e647f26136a86b7cf15c9a8db0d313226
%global date 20231107
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
%global tag %{version}
Name: muffin
Version: 5.2.0
Release: 1%{?dist}
Version: 6.0.0
Release: 2%{!?tag:.%{date}git%{shortcommit0}}%{?dist}
Summary: Window and compositing manager based on Clutter
License: GPLv2+
URL: https://github.com/linuxmint/%{name}
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
Source1: muffin-adwaita.txt
%if 0%{?tag:1}
Source0: %url/archive/%{version}/%{name}-%{version}.tar.gz
%else
Source0: %url/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz
%endif
Patch0: libinput.patch
ExcludeArch: %{ix86}
BuildRequires: make
BuildRequires: desktop-file-utils
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(cinnamon-desktop) >= 5.2.0
BuildRequires: pkgconfig(gnome-doc-utils)
BuildRequires: meson
BuildRequires: gcc
BuildRequires: cvt
BuildRequires: pkgconfig(graphene-gobject-1.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(cairo-gobject)
BuildRequires: pkgconfig(pangocairo)
BuildRequires: pkgconfig(fribidi)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gmodule-no-export-2.0)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(cinnamon-desktop) >= 6.0.0
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xkeyboard-config)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbcommon-x11)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(xcb-randr)
BuildRequires: pkgconfig(xcb-res)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(atk)
BuildRequires: pkgconfig(libcanberra)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(xwayland)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(gl)
BuildRequires: mesa-libEGL-devel
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(libinput)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(libwacom)
BuildRequires: pkgconfig(libstartup-notification-1.0)
BuildRequires: pkgconfig(pangoft2)
BuildRequires: zenity
# Bootstrap requirements
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: gnome-common
BuildRequires: intltool
Requires: dbus-x11
Requires: zenity
Recommends: xorg-x11-server-Xwayland
%description
Muffin is a window and compositing manager that displays and manages
@ -44,6 +95,7 @@ management behaviors to meet the needs of the environment.
@@ -44,6 +95,7 @@ management behaviors to meet the needs of the environment.
%package devel
Summary: Development package for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: mesa-libEGL-devel
%description devel
@ -51,81 +103,137 @@ Header files and libraries for developing Muffin plugins. Also includes
@@ -51,81 +103,137 @@ Header files and libraries for developing Muffin plugins. Also includes
utilities for testing Metacity/Muffin themes.
%prep
%if 0%{?tag:1}
%autosetup -p1
NOCONFIGURE=1 ./autogen.sh
%else
%autosetup -p1 -n %{name}-%{commit0}
%endif
%build
# gobject introspection does not work with LTO. There is an effort to fix this
# in the appropriate project upstreams, so hopefully LTO can be enabled someday
# Disable LTO.
%define _lto_cflags %{nil}
%configure --disable-static \
--enable-startup-notification=yes \
--disable-silent-rules \
--enable-gtk-doc \
--disable-clutter-doc \
--disable-wayland-egl-platform \
--disable-wayland-egl-server \
--disable-kms-egl-platform \
--disable-wayland \
--disable-native-backend
%make_build V=1
%meson \
-Degl_device=true
%meson_build
%install
%make_install
%meson_install
# Create a dummy themes directory so that cinnamon settings will see
# the Adwaita fallback theme which has been removed from gnome-themes-standard
mkdir -p %{buildroot}/%{_datadir}/themes/Adwaita/metacity-1/
cp %{SOURCE1} %{buildroot}/%{_datadir}/themes/Adwaita/metacity-1/
#Remove libtool archives.
find %{buildroot} -name '*.la' -exec rm -f {} ';'
desktop-file-install --delete-original \
--dir %{buildroot}%{_datadir}/applications \
--add-only-show-in X-Cinnamon \
%{buildroot}%{_datadir}/applications/muffin.desktop
rm -rf %{buildroot}%{_bindir}/
rm -rf %{buildroot}%{_mandir}/man1/
rm -rf %{buildroot}%{_datadir}/applications/
%find_lang %{name}
%ldconfig_scriptlets
%files -f %{name}.lang
%doc README AUTHORS NEWS HACKING doc/theme-format.txt
%doc README.md NEWS
%license COPYING
%{_bindir}/muffin
%{_libdir}/libmuffin.so.*
%{_libdir}/libmuffin-clutter-0.so
%{_libdir}/libmuffin-cogl-0.so
%{_libdir}/libmuffin-cogl-pango-0.so
%{_libdir}/libmuffin-cogl-path-0.so
%{_libdir}/muffin/
%{_libexecdir}/muffin-restart-helper
%exclude %{_libdir}/muffin/*.gir
%{_datadir}/applications/muffin.desktop
%dir %{_datadir}/muffin/
%{_datadir}/muffin/theme/
%{_datadir}/glib-2.0/schemas/org.cinnamon.muffin.gschema.xml
%{_datadir}/themes/Adwaita/metacity-1/
%{_mandir}/man1/muffin.1.*
%{_datadir}/glib-2.0/schemas/org.cinnamon.muffin.*.xml
%files devel
%{_bindir}/muffin-message
%{_bindir}/muffin-theme-viewer
%{_bindir}/muffin-window-demo
%{_datadir}/muffin/icons/
%{_datadir}/gtk-doc/html/muffin/
%{_includedir}/muffin/
%{_libdir}/libmuffin.so
%{_libdir}/muffin/*.gir
%{_libdir}/pkgconfig/*
%{_mandir}/man1/muffin-*
%changelog
* Mon Dec 04 2023 Leigh Scott <leigh123linux@gmail.com> - 6.0.0-2
- Drop eglstreams support
* Sun Nov 19 2023 Leigh Scott <leigh123linux@gmail.com> - 6.0.0-1
- Update to 6.0.0 release
* Wed Nov 08 2023 Leigh Scott <leigh123linux@gmail.com> - 5.9.0-1.20231107git4b87bf9
- Update to git snapshot
* Mon Jul 24 2023 Leigh Scott <leigh123linux@gmail.com> - 5.8.1-1
- Update to 5.8.1 release
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.8.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Jun 02 2023 Leigh Scott <leigh123linux@gmail.com> - 5.8.0-1
- Update to 5.8.0 release
* Thu May 18 2023 Leigh Scott <leigh123linux@gmail.com> - 5.6.4-4
- Fix the last commit
* Thu May 18 2023 Leigh Scott <leigh123linux@gmail.com> - 5.6.4-3
- Patch to fix issue with new libinput on f38+
* Sat May 06 2023 Leigh Scott <leigh123linux@gmail.com> - 5.6.4-2
- Patch to fix issue with new zenity on f38+
* Fri Mar 17 2023 Leigh Scott <leigh123linux@gmail.com> - 5.6.4-1
- Update to 5.6.4 release
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sun Jan 08 2023 Leigh Scott <leigh123linux@gmail.com> - 5.6.3-1
- Update to 5.6.3 release
* Tue Dec 13 2022 Leigh Scott <leigh123linux@gmail.com> - 5.6.2-1
- Update to 5.6.2 release
* Wed Nov 30 2022 Leigh Scott <leigh123linux@gmail.com> - 5.6.1-1
- Update to 5.6.1 release
* Mon Nov 28 2022 Leigh Scott <leigh123linux@gmail.com> - 5.6.0-2
- Readd lost window placement modes
* Fri Nov 18 2022 Leigh Scott <leigh123linux@gmail.com> - 5.6.0-1
- Update to 5.6.0 release
* Tue Sep 06 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.7-1
- Update to 5.4.7 release
* Thu Sep 01 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.6-2
- Remove muffin binary
* Sun Aug 21 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.6-1
- Update to 5.4.6 release
* Tue Aug 02 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.5-1
- Update to 5.4.5 release
* Mon Jul 25 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.4-1
- Update to 5.4.4 release
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 20 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.3-1
- Update to 5.4.3 release
* Sun Jul 17 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.2-1
- Update to 5.4.2 release
* Mon Jun 20 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.1-1
- Update to 5.4.1 release
* Sat Jun 11 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.0-3
- Clean up
* Sat Jun 11 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.0-2
- Add requires mesa-libEGL-devel to devel sub-package
* Fri Jun 10 2022 Leigh Scott <leigh123linux@gmail.com> - 5.4.0-1
- Update to 5.4.0 release
* Sat May 28 2022 Leigh Scott <leigh123linux@gmail.com> - 5.2.1-1
- Update to 5.2.1 release
* Sun Feb 13 2022 Jeff Law <jeffreyalaw@gmail.com> - 5.2.0-3
- Re-enable LTO
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Nov 19 2021 Leigh Scott <leigh123linux@gmail.com> - 5.2.0-1
- Update to 5.2.0 release