Opened 11 months ago

Last modified 4 months ago

#68884 assigned defect

py312-gobject3: Missing pkg-config file pygobject-3.0.pc required to build third party code like xpra

Reported by: gl-yziquel Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.8.99
Keywords: Cc: mascguy (Christopher Nielsen), diogob003 (Diogo)
Port: py-gobject3

Description

Hi.

First of all, all apologies if this ticket does not abide by guidelines: I just installed MacPorts a few days ago and am still discovering the userland.

My concern is the following: as far as I can tell, the py312-gobject port does not export the pkg-config pygobject-3.0.pc file. This file is required in order to build from source (not a port) the xpra software (some X tooling to spawn an application on one machine and have it displayed on... my shiny new mac with MacPorts).

I would appreciate 1. if someone could tell me if indeed this pck-config file is not exported 2. if it could be included in that port 3. or if some quick hints as to how this should be performed could be dumped in this ticket as that would help me move forward and, eventually, contribute.

Best regards.

Change History (3)

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

Cc: mascguy added
Milestone: MacPorts Future
Owner: set to dbevans
Port: py-gobject3 added; py312-gobject3 removed
Status: newassigned
Summary: Missing pkg-config file pygobject-3.0.pc required to build third party code like xprapy312-gobject3: Missing pkg-config file pygobject-3.0.pc required to build third party code like xpra

Looking at the port contents, it does install /opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/pkgconfig/pygobject-3.0.pc. Using PKG_CONFIG_PATH=/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/pkgconfig should work.

comment:2 Changed 4 months ago by diogob003 (Diogo)

Same problem here

The Meson build system
Version: 1.4.1
...
Program python3 found: YES (/opt/local/bin/python3)
Message: Python module lxml >= 4.5.0 found: YES 5.2.1 None
Message: Python module gi >= 3.38.0 found: YES 3.46.0 None
Message: Python module GLib >= 2.66.0 found: YES 2.78.3 None
Message: Python module Gtk >= 3.24.0 found: YES 3.24.41 3.0
Message: Python module Gtk >= 4.0.0 found: YES 4.14.3 4.0
Message: Python module GtkSource  found: YES 5.10.0 5
Found pkg-config: YES (/opt/local/bin/pkg-config) 0.29.2
Found CMake: /opt/local/bin/cmake (3.29.5)
Run-time dependency pygobject-3.0 found: NO (tried pkgconfig, framework and cmake)

meson.build:88:11: ERROR: Dependency "pygobject-3.0" not found, tried pkgconfig, framework and cmake
...
→ port contents py312-gobject3
Port py312-gobject3 contains:
  /opt/local/Library/Frameworks/Python.framework/Versions/3.12/include/pygobject-3.0/pygobject.h
  /opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/pkgconfig/pygobject-3.0.pc
  /opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyGObject-3.46.0-py3.12.egg-info/PKG-INFO
...

I suppose install script should move or symlink pygobject-3.0.pc to ${prefix}/lib/pkgconfig/

Something like:

post-destroot {
    ln -s ${python.prefix}/lib/pkgconfig/pygobject-3.0.pc ${destroot}${prefix}/lib/pkgconfig/
}

might fix this defect

comment:3 in reply to:  2 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: diogob003 added

Replying to diogob003:

Same problem here

When installing a port, or when building something manually?

I suppose install script should move or symlink pygobject-3.0.pc to ${prefix}/lib/pkgconfig/

That will cause all of the subports of py-gobject3 to conflict with one another, which is why we do it the way we do it instead. Set PKG_CONFIG_PATH as Joshua showed. If this problem happened while building a port, the port should be changed to do that using configure.pkg_config_path; if you're building something manually, you should do it manually in your environment.

Note: See TracTickets for help on using tickets.