Opened 19 months ago

Last modified 11 months ago

#65859 assigned defect

gnome cpp libs: all are outdated; update to latest compatible releases

Reported by: mascguy (Christopher Nielsen) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: Cc: kencu (Ken), dbevans (David B. Evans)
Port: atkmm glibmm cairomm pangomm libsoup

Description (last modified by mascguy (Christopher Nielsen))

Presently the various libs related to C++ bindings for glib2, gtk2/gtk3, etc - along with related ones like cairomm and pangomm - are all outdated. Update them to the latest possible releases, based on the current version of glib2 (presently 2.70.x).

In addition to bringing them up to parity with upstream, these updates may also fix existing issues with some ports. And CherryTree in particular may benefit, per issue:65743

Of note, since the latest releases of these have bumped the API version - from 2.4 to 2.68 for glibmm, for example - that may require creation and support of legacy releases using the previous API rev. Particularly for old or outdated ports, which simply won't work with the newest APIs.

Net-Net, this rollout will have to be carefully coordinated and choreographed. And to avoid potential widespread breakage, all dependents will need to be well-tested - and updated, if necessary - prior to rollout.

Change History (5)

comment:1 Changed 19 months ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:2 Changed 19 months ago by Christopher Nielsen <mascguy@…>

In e3acbf11db244fce43a5488b150a47d1675339cc/macports-ports (master):

mm-common: update to 1.0.4; use Python 3.10

  • Also ensure all Python scripts are properly patched

See: #65859

comment:3 Changed 11 months ago by mascguy (Christopher Nielsen)

Four of these libs are now updated, as of this writing: atkmm, glibmm, cairomm, and pangomm. In addition, new ports have also been created, to provide legacy bindings: atkmm-1.6, glibmm-2.4, cairomm-1.0, and pangomm-1.4. (The latter ports provide drop-in API/ABI compatibility, to avoid breaking any existing binaries.)

The remaining ones, such as gtkmm3 et. al., are next on the list. Those will be tackled soon, as time allows.

comment:4 Changed 11 months ago by mascguy (Christopher Nielsen)

Cc: dbevans added
Port: libsoup added; gtkmm gtkmm3 removed

libsoup has now been updated as well, with legacy bindings provided by libsoup-2.4. The same approach was used vis-a-vis the other ports, with the latter being pulled in automatically.

Longer-term, we'll update the new versions with their upstream designation - such as libsoup-3.0, glibmm-2.68, etc - and stop pulling in the legacy bindings. That will require that we also update all dependents, to pull in their required version.

@dbevans and I will collaborate on all of this, as time allows. Definitely making progress though!

comment:5 Changed 11 months ago by Christopher Nielsen <mascguy@…>

In 712c0740383bf2f33c6196e5d4eb62d642196a55/macports-ports (master):

gtkmm3: update to 3.24.7
See: #65859

Note: See TracTickets for help on using tickets.