Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to libpeas-2 #1501

Draft
wants to merge 21 commits into
base: master
Choose a base branch
from
Draft

Migrate to libpeas-2 #1501

wants to merge 21 commits into from

Conversation

jeremypw
Copy link
Collaborator

@jeremypw jeremypw commented Dec 25, 2024

Fixes #1498

  • Reproduces as far as possible current appearance and behaviour
  • Needed to ship a .vapi for libpeas-2 for now as is not currently supplied by the libpeas-2-dev package available (2.0.0) but it is supplied by 2.0.5 which is published in Ubuntu 24.10 (Oracular) and later. Not sure how to get it into elementary8 which is based on Ubuntu 24.04LTS.
  • Could not get Flatpak manifest to compile because of dependency issues so leaving that for now. Code does not currently work properly as a Flatpak anyway and is supplied as .deb

Used a ListBox bound to the Peas.Engine list_model for the Preferences Dialog, but as the model does not change while the ListBox in use may be simpler to construct and sort it manually.

@jeremypw jeremypw changed the title Migrate to libpease-2 Migrate to libpeas-2 Dec 25, 2024
@jeremypw jeremypw force-pushed the jeremypw/migrate-libpeas-2 branch from 6bb4cc6 to b8ef69a Compare December 25, 2024 18:50
@jeremypw jeremypw mentioned this pull request Dec 25, 2024
2 tasks
@kaixoo
Copy link

kaixoo commented Dec 25, 2024

Thanks for the work!

Needed to ship a .vapi for libpeas-2 as is not currently supplied by the libpeas-2-dev package available

Can we send this upstream?

@jeremypw
Copy link
Collaborator Author

jeremypw commented Dec 26, 2024

Can we send this upstream?

Probably, it should just be a matter of deb packaging but it won't solve the Flatpak issue I ran up against. I am not convinced libpeas-2 is the way to go - it provides a lot of stuff we don't need like loading JavaScript plugins which has to be included in the Flatpak (unless there are some compile options I haven't found yet). I am going to try to produce another PR removing libpeas altogether for comparison.

@jeremypw
Copy link
Collaborator Author

Libpeas may provide small advantages in code organization, but as far as I am aware the main point is to allow third-party plugins written in other languages and separately packaged in other projects to be used (they just need to be installed into the right directory).

@kaixoo
Copy link

kaixoo commented Dec 26, 2024

I don't see a problem in allowing to load Javascript plugins, but okay.

@jeremypw
Copy link
Collaborator Author

Its not a problem, just unnecessary. Need to identify functional advantages of libpeas to justify the extra dependencies.

@jeremypw
Copy link
Collaborator Author

@danirabbit Will it be possible to ship libpeas-2 version 2.0.5 in elementary 8 if it is not in Ubuntu 24.04?

@jeremypw
Copy link
Collaborator Author

jeremypw commented Dec 29, 2024

The main advantage of keeping the libpeas dependency for now, especially if we can lose the need for the .vapi, is the smaller diff. Even better if libpeas-2 can be absorbed in the elementary platform.

@jeremypw
Copy link
Collaborator Author

Hmm - as far as I can make out,, even Gnome is not using libpeas-2 for their gedit flatpak 😞

@jeremypw
Copy link
Collaborator Author

@leonardo-lemos Thanks! I forgot to check the CI file as everything worked locally.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor the plugin system to not use libpeas
3 participants