Comment 3 for bug 1629749

Revision history for this message
luke (lukefromdc) wrote : Re: [Bug 1629749] Re: window-decorator cannot build with libmetacity 3.22

I haven't spoken with the GNOME people about this, I don't think they would
consider the failure of any non-GNOME package to build against a GNOME
package other than GTK to be a bug, or the report to be a feature request.

It would be possible to fork and rename libmetacity 3.20. It would be complex
to drop it directly into the compiz source as compiz uses cmake and GNOME
packages use automake. To port compiz to 3.22 would not bring back metacity
theme support I'm pretty sure, instead giving support for using the GTK CSD
theme as Metacity itself has done for a couple releases now. GNOME simply
does not use this code anymore and does not even ship metacity themes.

My advice: the compiz package depends on Emerald for now,

On 10/21/2016 at 10:01 AM, "Cyril Brulebois" <email address hidden> wrote:
>
>Thanks for sharing your findings.
>
>FWIW I was looking at reintroducing compiz into Debian (that is:
>via
>unstable), and while it compiled mostly OK 2-3 weeks ago, I've just
>stumbled upon this FTBFS due to the (lib)metacity bump for GNOME
>3.22.
>
>Just out of curiosity, did you get in touch with GNOME people to
>mention
>this regression and to get advice on how to go forward on the
>compiz
>side?
>
>--
>You received this bug notification because you are subscribed to
>the bug
>report.
>https://bugs.launchpad.net/bugs/1629749
>
>Title:
> window-decorator cannot build with libmetacity 3.22
>
>Status in Compiz:
> New
>
>Bug description:
> This is with compiz source
> compiz_0.9.13.0+16.10.20160818.2.orig.tar.gz
> build on Debian Unstable (not Ubuntu) and GTK 3.22 and Metacity
>3.22. Will become an issue for Ubuntu post-yakkety unless Ubuntu
>pins Metacity at version 3.20.
>
> Metacity/libmetacity 3.22 introduced radical changes that totally
> break compiz's gtk-window-decorator,which can neither build nor
>run
> against it. I played with it, a whole bunch of things compiz
>needed to
> link against were removed. This was the first error resulting
>from an
> attempt to build against Metacity 3.22:
>
> error: unknown type name ‘MetaButtonLayout’
> MetaButtonLayout button_layout;
>
>
> The possible killer for Metacity theme support:
>
>
>https://github.com/GNOME/metacity/commit/d7f2445ec7e70274c7501586a5
>37c699f6628335
> libmetacity: switch from .ssd to .csd
>
> and some of the changes probably behind breaking the build:
>
>
>https://github.com/GNOME/metacity/commit/2ee0ffbee0b52cb8fc3112906b
>ea1eaa737559f7
> libmetacity: don't expose MetaButton struct
>
>
>
>https://github.com/GNOME/metacity/commit/eee199e3b7ce87cbd08b4b6e4c
>9c55c804c6ff5f
> libmetacity: rename MetaButtonFunction to MetaButtonType
>
> Not sure a port to 3.22 would even still give the ability to read
> Metacity themes anyway, given the first commit listed above.
>
> Meanwhile, building gtk-window-decorator without metacity
>support at
> all was broken accidently in changes to support metacity 3.20 by
>using
> metacity version selectors but not checking to see if Metacity
>support
> is being used at all.
>
> I build compiz for use in Debian Unstable (and offer my builds
>for
> public use) so I saw this a couple days ago. All I could so was
>switch
> decorators to Emerald (which compiz-reloaded has ported to GTK3)
>and
> use the Emerald pixmap engine to write an Emerald theme matched
>to my
> metacity theme. Ubuntu MATE may have to do the same post-Yakkety
> unless Ubuntu either pins Metacity, gets a 3.22 port to work and
>finds
> it handles metacity themes, or modified gtk-window-decorator to
>read
> metacity themes directly without using libmetacity.
>
>To manage notifications about this bug go to:
>https://bugs.launchpad.net/compiz/+bug/1629749/+subscriptions