ubuntu / gnome-sdk

GNOME SDK/Platform snap
22 stars 21 forks source link

feat: update for the gnome 46 release #198

Closed soumyaDghosh closed 4 months ago

soumyaDghosh commented 5 months ago
  1. removed all the deprecated part environment variables
  2. meson => 1.4.0
  3. libtool => 2.4.6 (downgrade due to build issues in vala, clashing with local installations)
  4. glib => 2.78.4 (2.79+ is advised to be avoided due to circular dependencies in the gnome discourse)
  5. pixman => pixman-0.43.4
  6. vala => 0.56.16
  7. harfbuzz => 8.3.1
  8. pango => 1.52.1
  9. libpsl => 0.21.5
  10. wayland-protocols => 1.34
  11. gtk3 => 3.24.41
  12. gtk4 => 4.14.1 (gnome team says 4.14.1 is the release, but we avoided odd minor, so skipped it)
  13. poppler => poppler-24.03.0
  14. libadwaita => 1.5.0 (also updated the patch from the ubuntu patch in debian salsa)
  15. mm-common => 1.0.6
  16. libwacom => libawacom-2.10.0
  17. libinput => 1.25.0
  18. pycairo => v1.26.0
  19. pygobject => 3.48.1
  20. libhandy => 1.8.3
  21. p11-kit => 0.25.3
  22. libsecret => 0.21.4
  23. webp-pixbuf-loaders => 0.2.7
  24. libva => 2.21.0
  25. intel-gmm => intel-gmmlib-22.3.18
  26. libgweather => 4.4.2
  27. gjs => 1.76.3

Added builds from source:

needed by gtk4 4.14.1

  1. shaderc
  2. vulkan-loaders
  3. vulkan-headers

needed by webp-pixbuf-loaders

  1. freeglut
  2. libwebp

Requested by Nickvision Apps, Mousam and Dosage Tracker.

Closes #161

soumyaDghosh commented 5 months ago

@sergio-costas requesting your review here. Thank you :-)

sergio-costas commented 5 months ago

@soumyaDghosh "gtk4 => 4.14.0 (gnome team says 4.14.1 is the release, but we avoided odd minor, so skipped it)" Mmm... but the one is the "revision" number... the "minor" is 14...

soumyaDghosh commented 5 months ago

Mmm... but the one is the "revision" number... the "minor" is 14...

Oops.. sorry, okay, ammending the commit, and adding 4.14.1. I don't think it'll need anything extra.

sergio-costas commented 5 months ago

Also, glib can be updated to 2.78.4; gtk3 can be updated to 3.24.41; pangomm to 2.46.4; atkmm to 2.28.4; gjs to 1.76.3; vulkan headers to v1.3.281; vulkan-loaders to v.1.3.281; and libgweather to 4.4.2.

I'll do a full compilation with these extra changes and will do a test.

soumyaDghosh commented 5 months ago

Also, glib can be updated to 2.78.4; gtk3 can be updated to 3.24.41; pangomm to 2.46.4; atkmm to 2.28.4; gjs to 1.76.3; vulkan headers to v1.3.281; vulkan-loaders to v.1.3.281; and libgweather to 4.4.2.

Okay.. but, if you want I can add these in this existing PR. And you can test it.

soumyaDghosh commented 5 months ago

pangomm to 2.46.4; atkmm to 2.28.4

These two are commented as maximum version needed for gtkmm?

sergio-costas commented 5 months ago

First I'll try to build it and test it. If it works, I'll notify you to add them here (last time I tried to add a commit to a PR from another user, broke everything 😅 )

sergio-costas commented 5 months ago

That "maximum version" is for major and minor; revision can be updated.

soumyaDghosh commented 5 months ago

That "maximum version" is for major and minor; revision can be updated.

Uhh.. okay. got it. But, I have a request to update gtkmm also. Timeshift gtk4 needs those. Can it be done?

sergio-costas commented 5 months ago

I presume that you mean to include gtkmm for 4.0... Is it possible to have both gtkmm for 3.0 and 4.0 coexisting? In that case, a new entry should be added, called gtkmm4 with all things needed for it.

soumyaDghosh commented 5 months ago

I presume that you mean to include gtkmm for 4.0... Is it possible to have both gtkmm for 3.0 and 4.0 coexisting? In that case, a new entry should be added, called gtkmm4 with all things needed for it.

Yes, that what I requested. But, is gtkmm version 3 still needed? Are there multiple edge cases where the app is still using gtkmm 3?

sergio-costas commented 5 months ago

Ok, tested with Drawing, Chromium, mattermost, mahjongg, cheese, discord, epiphany, firefox, kicad and transporter. It seems to run OK with all.

sergio-costas commented 5 months ago

@kenvandine What do you think?

soumyaDghosh commented 5 months ago

Ok, tested with Drawing, Chromium, mattermost, mahjongg, cheese, discord, epiphany, firefox, kicad and transporter. It seems to run OK with all.

I have pushed the update.

sergio-costas commented 5 months ago

About gtkmm4, I personally think that it would be better to put it in gnome-46-2404. Adding it into gnme-42-2204 requires adding sigc++ 3 and other changes that, personally, I think would be risky.

soumyaDghosh commented 5 months ago

Hi, @kenvandine please look into this PR. I guess we can merge this.

kenvandine commented 5 months ago

i think minor updates are ok for gnome-42-2204, we should really avoid as much churn as possible and focus on gnome-46-2404-sdk at this point. We don't want to risk breaking existing snaps, safer to let packages choose when to consume those newer versions.

soumyaDghosh commented 5 months ago

i think minor updates are ok for gnome-42-2204, we should really avoid as much churn as possible and focus on gnome-46-2404-sdk at this point. We don't want to risk breaking existing snaps, safer to let packages choose when to consume those newer versions.

But, doesn't that mean that we'll have to wait until core24 releases for the gnome 46 related libraries. Willn't it be a very long time?

kenvandine commented 5 months ago

i think minor updates are ok for gnome-42-2204, we should really avoid as much churn as possible and focus on gnome-46-2404-sdk at this point. We don't want to risk breaking existing snaps, safer to let packages choose when to consume those newer versions.

But, doesn't that mean that we'll have to wait until core24 releases for the gnome 46 related libraries. Willn't it be a very long time?

No, not long at all. core24 should be released next month and the updated gnome extension to support it has already been merged into snapcraft. It's coming really soon, certainly not worth risking stability issues for millions of users. If we rely on the new content snap, snap publishers can gradually migrate to it when they need to, opt-in.

soumyaDghosh commented 5 months ago

@kenvandine Okay.. I'll try to push these changes to the new sdk and content snap then.

kenvandine commented 5 months ago

My biggest concern here is introducing the new things we need to build from source, like for example the vulkan parts. This could can issues that's hard to prepare for, and we have the responsibility to provide a stable base for 1000s of other snaps. I think any changes at this point that makes us add more parts that build from source, we should push to land those in gnome-46-2404-sdk instead. I think the primary exception to that rule is if we need to update something to fix a critical security issue, we could consider it.