[MacPorts] #68749: geocode-glib @3.26.4: support API version 2

MacPorts noreply at macports.org
Tue Mar 18 09:43:36 UTC 2025


#68749: geocode-glib @3.26.4: support API version 2
---------------------------+----------------------
  Reporter:  oleaamot      |      Owner:  mascguy
      Type:  enhancement   |     Status:  assigned
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.8.1
Resolution:                |   Keywords:
      Port:  geocode-glib  |
---------------------------+----------------------

Comment (by aamotsoftware):

 **Solution for MacPorts Issue: geocode-glib-2.0 Support**

 ### Problem Statement
 The current version of `geocode-glib` in MacPorts (version 3.26.4)
 defaults to using `libsoup-2.4`, which means it only provides API version
 1. However, some packages such as `gtk-internet-radio-locator`, `gnome-
 weather`, and `libgweather` require `geocode-glib-2.0`, which is only
 available when built against `libsoup-3.x` (API version 2). The inability
 to install `geocode-glib-2.0` leads to dependency conflicts, preventing
 the proper installation and functionality of these packages.

 ### Proposed Solution
 The best approach to resolving this issue is to provide separate versions
 of `geocode-glib` for API 1 and API 2. This can be achieved by introducing
 a subport for `geocode-glib-2.0`, ensuring compatibility with packages
 requiring API version 2 while maintaining the existing `geocode-glib` for
 API version 1.

 ### Steps to Implement
 1. **Create a Subport for geocode-glib-2.0**
    - Modify the `Portfile` for `geocode-glib` to introduce a subport
 `geocode-glib-2.0`.
    - Ensure `geocode-glib-2.0` is built with `libsoup-3.x`.
    - Keep the existing `geocode-glib` port linked to `libsoup-2.4`.

 2. **Avoid Conflict Between Versions**
    - Ensure that `geocode-glib-2.0` installs files in a way that avoids
 conflicts with `geocode-glib`.
    - Use a `pkgnamesuffix` for differentiation (`geocode-glib-2.0`).
    - Adjust `pkg-config` files to allow both versions to coexist.

 3. **Update Dependencies**
    - Modify dependent packages (`gtk-internet-radio-locator`, `gnome-
 weather`, `libgweather`) to use `geocode-glib-2.0` when necessary.
    - Validate package configurations to ensure correct linking against
 `geocode-glib-2.0`.

 4. **Testing and Validation**
    - Perform test builds of affected packages to confirm compatibility.
    - Ensure installation works on both macOS 12 and macOS 13.
    - Verify that both `geocode-glib` (API 1) and `geocode-glib-2.0` (API
 2) work correctly without breaking existing dependencies.

 ### Expected Outcome
 - `geocode-glib` (API 1) remains available for older dependencies.
 - `geocode-glib-2.0` (API 2) enables the installation of packages
 requiring `libsoup-3.x`.
 - The changes provide a smooth transition without breaking existing
 installations.
 - MacPorts users can install and use applications like `gnome-weather` and
 `gtk-internet-radio-locator` without manual intervention.

 ### Next Steps
 - Implement and submit the `Portfile` modification.
 - Conduct review and testing with MacPorts maintainers.
 - Merge changes into MacPorts and ensure continuous support for both API
 versions.

 This approach ensures compatibility, stability, and long-term
 maintainability for `geocode-glib` within MacPorts.

-- 
Ticket URL: <https://trac.macports.org/ticket/68749#comment:11>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list