AyatanaIndicators / libayatana-appindicator

Ayatana Application Indicators Shared Library
GNU Lesser General Public License v3.0
58 stars 14 forks source link

AyatanaAppIndicator3-0.1.gir bakes in a wrong path (destroot instead of install one) #81

Open barracuda156 opened 2 months ago

barracuda156 commented 2 months ago

Could someone advise me how to fix this? For some reason gir file bakes in destroot path:

<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GObject" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <c:include name="libayatana-appindicator/app-indicator.h"/>
  <namespace name="AyatanaAppIndicator3"
             version="0.1"
             shared-library="/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libayatana-appindicator/libayatana-appindicator/work/build/src/libayatana-appindicator3.1.dylib"
             c:identifier-prefixes="App"
             c:symbol-prefixes="app">

Of course, the library is not present there after destroot is wiped, so when some dependent uses gir to find libayatana-appindicator, it fails. As an example, gajim:

36-25% gajim

** (gajim:60365): WARNING **: 00:54:27.401: expected enumeration type void, but got PyGLibOptionArg instead
2024-08-29T00:54:27 (W) gajim                      AV dependency test failed: Namespace Farstream not available

** (org.gajim.Gajim:60365): WARNING **: 00:54:30.474: Failed to load shared library '/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libayatana-appindicator/libayatana-appindicator/work/build/src/libayatana-appindicator3.1.dylib' referenced by the typelib: dlopen(/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libayatana-appindicator/libayatana-appindicator/work/build/src/libayatana-appindicator3.1.dylib, 9): image not found
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gajim/gtk/application.py", line 382, in _handle_local_options
    self._startup()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gajim/gtk/application.py", line 246, in _startup
    self.systray = StatusIcon()
                   ^^^^^^^^^^^^
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gajim/gtk/status_icon.py", line 57, in __init__
    self._backend = AppIndicatorIcon()
                    ^^^^^^^^^^^^^^^^^^
  File "/opt/local/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/gajim/gtk/status_icon.py", line 296, in __init__
    self._status_icon = AppIndicator.Indicator.new(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
gi.repository.GLib.GError: g-invoke-error-quark: Could not locate app_indicator_new: dlopen(/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_devel_libayatana-appindicator/libayatana-appindicator/work/build/src/libayatana-appindicator3.1.dylib, 9): image not found (1)

At the same time everything else has correct paths (dylib itself and pkgconfig file).

barracuda156 commented 2 months ago

UPD. Not even destroot, but build directory path.