mate-desktop / eom

An image viewer for MATE
http://www.mate-desktop.org
GNU General Public License v2.0
57 stars 32 forks source link

libpeas-2 comes with API and ABI changes and and removal of the GTK interfaces. #344

Open raveit65 opened 10 months ago

raveit65 commented 10 months ago

From libpeas migration guide https://gitlab.gnome.org/GNOME/libpeas/-/commit

Peas 2 is a major new version of Peas that breaks both API and ABI compared to
Peas 1.0. Changes to the API, such as removal of the GTK interfaces and
adoption of `GListModel`, make it easier to adapt to broader changes in the
platform and modern UX patterns.

After migrating to Peas 2, applications can take advantage of the
[new list widgets][gtk4-listwidgets] if using GTK4, or continue using GTK 3
with the existing widgets like [`Gtk.ListBox`][gtk3-listbox].

Expected behaviour

A working plugin system with libpeas-2.0.0

Actual behaviour

Building failed, see https://app.travis-ci.com/github/mate-desktop/eom/jobs/613603821#L1018

checking for gtk+-3.0 >= 3.22.0              glib-2.0 >= 2.52.0              gmodule-2.0              gio-2.0 >= 2.52.0              gio-unix-2.0 >= 2.52.0              gthread-2.0 >= 2.52.0              mate-desktop-2.0 >= 1.17.0              gdk-pixbuf-2.0 >= 2.36.5              gio-2.0 >= 2.50.0              gtk+-unix-print-3.0 >= 3.22.0              shared-mime-info >= 0.20              libpeas-1.0 >= 1.8.0              libpeas-gtk-1.0 >= 1.8.0 libexif >= 0.6.14 lcms2 exempi-2.0 >= 1.99.5 librsvg-2.0 >= 2.36.2... no

configure: error: Package requirements (gtk+-3.0 >= 3.22.0              glib-2.0 >= 2.52.0              gmodule-2.0              gio-2.0 >= 2.52.0              gio-unix-2.0 >= 2.52.0              gthread-2.0 >= 2.52.0              mate-desktop-2.0 >= 1.17.0              gdk-pixbuf-2.0 >= 2.36.5              gio-2.0 >= 2.50.0              gtk+-unix-print-3.0 >= 3.22.0              shared-mime-info >= 0.20              libpeas-1.0 >= 1.8.0              libpeas-gtk-1.0 >= 1.8.0 libexif >= 0.6.14 lcms2 exempi-2.0 >= 1.99.5 librsvg-2.0 >= 2.36.2) were not met:

Package 'libpeas-1.0', required by 'virtual:world', not found

Package 'libpeas-gtk-1.0', required by 'virtual:world', not found

Steps to reproduce the behaviour

Buildig against libpeas-2.0.0

MATE general version

1.26 and 1.27

Package version

1.26 and 1.27

Linux Distribution

Stable fedora 39 comes with 2 versions of libpeas. libpeas-1.36.0-2.fc39 and libpeas-2.0.0-3.fc40 Building with libpeas2 is broken

Link to bugreport of your Distribution (requirement)

I am sure people will file some rhbz reports the next weeks.

raveit65 commented 10 months ago

@mate-desktop/core-team ^^^^

cwendling commented 10 months ago

My first reaction is that Fedora is kind of pushy by not providing 1.0 whereas 2.0 seems to have been released for only 2 months… but well. IIUC if we want to support 2.0, we'll have to re-do (possibly copy over) all the interface code, and adjust for the differences. This might not be a trivial task though.

cwendling commented 10 months ago

Actually, seems like you could just update the dependency to libpeas1-devel, at least for now.

raveit65 commented 10 months ago

Ahh, i didn't saw that early in the morning that my distro ships 2 version for f39 libpeas-1.36.0-2.fc39 and libpeas-2.0.0-3.fc40

I was also wondering that libpeas-2 was used for f39 stable.....i need to drink more coffee :-) Ok, i will update CI.

lukefromdc commented 10 months ago

Are libpeas-1 and libpeas-2 coinstallable? Note that "modern UX patterns" is what we are NOT using for the most part