From eb77de17d511938ac02752d5948e62c888cd0176 Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Wed, 12 Aug 2026 22:04:08 +0200 Subject: [PATCH 1/6] debian/control: Bump the wayland-protocols build dependency to 1.38 The build dependency was still at 1.23 while meson.build has required wayland-protocols >= 1.38 since xdg-system-bell-v1 was added, so the build dependency could be satisfied by apt and then fail at configure time. 1.38 is also the exact minimum for the protocols and interface versions currently used: xdg-system-bell-v1 first appeared in wayland-protocols 1.38, followed by xdg-dialog-v1 (1.34) and the stable linux-dmabuf-v1 bound at interface version 5 (1.33); every other protocol taken from wayland-protocols is older, xdg_wm_base 5 (1.26) and wp_single_pixel_buffer_manager_v1 (1.26) being the next ones. libwayland is left at 1.20 in both meson.build and debian/control because that is still the exact minimum: the newest core protocol interfaces bound are wl_output version 4 (name/description events) and wl_compositor/wl_surface version 5 (offset request), both introduced in wayland 1.20, and no libwayland function used by muffin is newer than that. The deprecated-since attribute used by the linux-dmabuf and xdg-output XML files since wayland-protocols 1.38 does not raise the requirement either, as older wayland-scanner releases silently ignore unknown attributes. Assisted-by: Claude Code:claude-opus-5 --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 8639c54cf..d0c34f778 100644 --- a/debian/control +++ b/debian/control @@ -62,7 +62,7 @@ Build-Depends: pkg-config (>= 0.22), systemd-dev [linux-any], udev [linux-any], - wayland-protocols (>= 1.23) [linux-any], + wayland-protocols (>= 1.38) [linux-any], xauth , xcvt [linux-any], xkb-data, From a8d156efca9dc37997e641876ece1c64003c6017 Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Wed, 12 Aug 2026 22:04:57 +0200 Subject: [PATCH 2/6] debian/control: Add the Homepage field The source stanza has no Homepage field, so the project URL is missing from the binary packages and from anything reading the package metadata. Point it at the upstream repository, as the Debian packaging already does. Assisted-by: Claude Code:claude-opus-5 --- debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/control b/debian/control index d0c34f778..1c9ba7db9 100644 --- a/debian/control +++ b/debian/control @@ -72,6 +72,7 @@ Build-Depends: zenity Rules-Requires-Root: no Standards-Version: 4.5.0 +Homepage: https://github.com/linuxmint/muffin Package: gir1.2-meta-muffin-0.0 Section: introspection From 5ef50001a836ab2bc7d721f6e6991fe1de3d323a Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Wed, 12 Aug 2026 22:08:34 +0200 Subject: [PATCH 3/6] debian/control: Let libmuffin-dev provide the introspection data libmuffin-dev ships the .gir files (usr/lib/*/muffin/*.gir) but never declares them, which lintian reports as gir-package-name-does-not-match because the package name does not follow the gir1.2-* convention. Only the field was missing: the substitution is filled in by dh_girepository, already run through dh-sequence-gir and the override in debian/rules. Same as the Debian packaging. Assisted-by: Claude Code:claude-opus-5 --- debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/control b/debian/control index 1c9ba7db9..649285c2c 100644 --- a/debian/control +++ b/debian/control @@ -181,6 +181,7 @@ Depends: gir1.2-meta-muffin-0.0 (= ${binary:Version}), libxi-dev, libxrandr-dev, ${misc:Depends} +Provides: ${gir:Provides} Description: window and compositing manager (development files) Muffin is a window manager performing compositing as well based on GTK+ and Clutter and used in Cinnamon desktop environment. From 34c78d387f53928b0ef1aef63dbbe18efd4d3029 Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Wed, 12 Aug 2026 22:11:30 +0200 Subject: [PATCH 4/6] debian/control: Build-Depend on dbus-daemon instead of dbus The only thing the build needs from dbus is dbus-run-session, used to run the test suite in debian/rules, and that binary is shipped by dbus-daemon. Build-Depending on the dbus metapackage instead drags in the session and system bus setup as well, which is what the Debian packaging stopped doing to avoid blocking dbus-broker adoption (Debian bug #1122680). The package is available on every currently supported target: Ubuntu 24.04 (Linux Mint 22.x) already ships dbus-daemon 1.14.10, with both /usr/bin/dbus-daemon and /usr/bin/dbus-run-session in it. Assisted-by: Claude Code:claude-opus-5 --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 649285c2c..788ab4f3c 100644 --- a/debian/control +++ b/debian/control @@ -8,7 +8,7 @@ Build-Depends: at-spi2-core , adwaita-icon-theme , cinnamon-desktop-data (>= 5.3.0), - dbus , + dbus-daemon , dmz-cursor-theme , gnome-pkg-tools (>= 0.10), cinnamon-settings-daemon , From e0fc4e90507c6a86b23195a458ae3cca4084d34b Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Wed, 12 Aug 2026 22:15:47 +0200 Subject: [PATCH 5/6] debian/control: Replace the obsolete pkg-config build-dep with pkgconf pkg-config is only a transitional package depending on pkgconf, so build-depending on it adds an indirection for nothing. The /usr/bin/pkg-config symlink meson looks for is shipped by pkgconf itself, so nothing changes for the build. Already the case on the oldest supported target: Ubuntu 24.04 (Linux Mint 22.x) has pkgconf 1.8.1 with pkg-config as a transitional package on top of it. The old >= 0.22 constraint goes away with the rename, being older than anything shipped anywhere by now. Same as the Debian packaging (commit 1e96ded1). Assisted-by: Claude Code:claude-opus-5 --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 788ab4f3c..bd5b51fae 100644 --- a/debian/control +++ b/debian/control @@ -59,7 +59,7 @@ Build-Depends: libxrender-dev, libxt-dev, meson (>= 1.0.0), - pkg-config (>= 0.22), + pkgconf, systemd-dev [linux-any], udev [linux-any], wayland-protocols (>= 1.38) [linux-any], From a03c3b98cea4869a06e1bfa10db4939ca7bc46eb Mon Sep 17 00:00:00 2001 From: Fabio Fantoni Date: Wed, 12 Aug 2026 22:19:50 +0200 Subject: [PATCH 6/6] debian/control: Replace libgirepository1.0-dev with the packages actually used libgirepository1.0-dev is a non multi-arch metapackage pulling in the whole introspection stack, while the build only needs three parts of it: - libgirepository-1.0-dev (multi-arch) for girepository.h, included by src/core/main.c for g_irepository_prepend_search_path() - gir1.2-freedesktop-dev for the cairo-1.0, GL-1.0, xlib-2.0 and xfixes-4.0 GIR XML listed in the generate_gir() calls of src/, cogl/ and clutter/ - gir1.2-glib-2.0-dev for GObject-2.0 The gobject-introspection-1.0.pc used by meson comes from gobject-introspection, which is already a build dependency. All three packages are available on the oldest supported target, Ubuntu 24.04 (Linux Mint 22.x), where libgirepository1.0-dev is already nothing but a metapackage depending on them. The >= 0.9.12 constraint goes away as meaningless, libgirepository-1.0-dev existing only since 1.80. Same change as the Debian packaging (commit baa4cad6, Debian bug #1118900). Assisted-by: Claude Code:claude-opus-5 --- debian/control | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/control b/debian/control index bd5b51fae..83d92d685 100644 --- a/debian/control +++ b/debian/control @@ -10,6 +10,8 @@ Build-Depends: cinnamon-desktop-data (>= 5.3.0), dbus-daemon , dmz-cursor-theme , + gir1.2-freedesktop-dev, + gir1.2-glib-2.0-dev, gnome-pkg-tools (>= 0.10), cinnamon-settings-daemon , gobject-introspection (>= 1.41.3), @@ -19,7 +21,7 @@ Build-Depends: libdrm-dev (>= 2.4.83) [linux-any], libegl1-mesa-dev (>= 17) [linux-any], libfribidi-dev (>= 1.0.0), - libgirepository1.0-dev (>= 0.9.12), + libgirepository-1.0-dev, libglib2.0-dev (>= 2.76.0), libglvnd-dev, libcinnamon-desktop-dev,