Opened 12 months ago

Last modified 4 months ago

#68749 assigned enhancement

geocode-glib @3.26.4: support API version 2

Reported by: oleaamot (Ole Aamot) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: dbevans (David B. Evans)
Port: geocode-glib

Description

geocode-glib-2.0

From https://gitlab.gnome.org/GNOME/geocode-glib

While geocode-glib can be compiled against libsoup version 2.x or version 3.x, as those versions can't cohabit in the same binary, you will need to choose which one your application will support, especially if geocode-glib isn't a direct dependency. Version 1.0 of the geocode-glib API only supports libsoup 2.x, version 2.0 (and later) of the API will only support libsoup 3.x.

Change History (10)

comment:1 Changed 12 months ago by jmroot (Joshua Root)

Milestone: MacPorts Future
Owner: set to dbevans
Status: newassigned

comment:2 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

What is the purpose of this ticket? The geocode-glib (3.26.4) port does depend on the libsoup (3.4.3) port. Are you asking for that to change?

comment:3 Changed 12 months ago by oleaamot (Ole Aamot)

I just observe that geocode-glib-2.0 dependent packages such as gtk-internet-radio-locator requires geocode-glib-2.0.pc and it is not currently installed on macports 2.8.1.

From https://github.com/macports/macports-ports/pull/21484/checks

No package 'geocode-glib-2.0' found

See https://gitlab.gnome.org/GNOME/geocode-glib/-/issues/32

Last edited 12 months ago by oleaamot (Ole Aamot) (previous) (diff)

comment:4 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)

Summary: Regarding geocode-glib-2.0geocode-glib @3.26.4: support API version 2
Type: defectenhancement

Oh.

I looked a little further, and although geocode-glib does depend on libsoup which is at version 3.4.3 as I noted above, which should mean according to what you wrote that it is providing API 2, in fact when I configure geocode-glib I see this:

Run-time dependency libsoup-2.4 found: YES 2.74.3

And I see, surprisingly, that libsoup depends on the libsoup-2.4 port which is at version 2.74.3. So evidently geocode-glib prefers to use libsoup 2 if available, and thus API 1.

If geocode-glib can only support version 1 or 2 API but not both, then we can't make everybody happy all the time. If we keep geocode-glib providing API 1, then you cannot install gtk-internet-radio-locator; if we change geocode-glib to provide API 2, then the ports that are already using geocode-glib today will stop working unless they also support API 2. I haven't tried to find out if they do.

If they don't, then the solution probably has to be that we provide two geocode-glib ports (or one port with two subports), one which uses libsoup-2.4 and provides API 1 and one which uses libsoup 3.x and provides API 2. And ideally these ports should not conflict with one another. I haven't tried to find out to what extent the geocode-glib build system is designed to accommodate this.

comment:5 Changed 10 months ago by oleaamot (Ole Aamot)

comment:6 Changed 8 months ago by oleaamot (Ole Aamot)

The solution must be to build geocode-glib-2 with support for geocode-glib-2.0 and leave geocode-glib as it is.

comment:7 Changed 8 months ago by mascguy (Christopher Nielsen)

Cc: dbevans added
Owner: changed from dbevans to mascguy

I'll take a look, as some of these dependencies are still a bit in flux.

comment:8 in reply to:  6 ; Changed 7 months ago by mascguy (Christopher Nielsen)

Replying to oleaamot:

The solution must be to build geocode-glib-2 with support for geocode-glib-2.0 and leave geocode-glib as it is.

Agreed, and the simplest approach might be to simply add a subport for v2. I'll add this to my to-do list.

comment:9 in reply to:  8 Changed 7 months ago by oleaamot (Ole Aamot)

Replying to mascguy:

Replying to oleaamot:

The solution must be to build geocode-glib-2 with support for geocode-glib-2.0 and leave geocode-glib as it is.

Agreed, and the simplest approach might be to simply add a subport for v2. I'll add this to my to-do list.

OK. Any progress on building geocode-glib-2 with support for geocode-glib-2.0? I keep editing locally to build .pkg, but it would be nice to have this officially fixed in MacPorts.

comment:10 in reply to:  7 Changed 4 months ago by barracuda156

Replying to mascguy:

I'll take a look, as some of these dependencies are still a bit in flux.

Also need geocode-glib-2.0 to update gnome-weather to a working version, since the existing one is broken: it installs, but does not work due to https://gitlab.gnome.org/GNOME/gnome-weather/-/issues/165 However gnome-weather 41.0 requires a newer libgweather, and the current libgweather 4.4.2 requires geocode-glib-2.0:

Run-time dependency geocode-glib-2.0 found: NO (tried pkgconfig, framework and cmake)

libgweather/meson.build:115:21: ERROR: Dependency "geocode-glib-2.0" not found, tried pkgconfig, framework and cmake

A full log can be found at /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libgweather/libgweather/work/build/meson-logs/meson-log.txt
Command failed:  cd "/opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libgweather/libgweather/work/libgweather-4.4.2" && /opt/local/bin/meson setup --prefix=/opt/local -Dintrospection=true -Dgtk_doc=true -Dzoneinfo_dir=/opt/local/share/zoneinfo /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libgweather/libgweather/work/libgweather-4.4.2 /opt/local/var/macports/build/_opt_svacchanda_SonomaPorts_net_libgweather/libgweather/work/build --wrap-mode=default 
Exit code: 1
Note: See TracTickets for help on using tickets.