Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
barracuda156 opened this issue Aug 28, 2024 · 2 comments

Comments

@barracuda156
Copy link

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
Copy link
Author

UPD. Not even destroot, but build directory path.

@barracuda156
Copy link
Author

UPD2. Unfortunately, just patching gir file after the build does not suffice, since typelib still has a wrong path baked in.

Any solution to fix this?

barracuda156 added a commit to barracuda156/libayatana-appindicator that referenced this issue Nov 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant