[libsoup/pgriffis/pygobject-overridedir] Fix pygobject override dir on multiarch




commit 2bca87a7f7ee96319f472ed8ed6340e629331d59
Author: Patrick Griffis <pgriffis igalia com>
Date:   Thu Sep 23 14:58:36 2021 -0500

    Fix pygobject override dir on multiarch

 libsoup/meson.build | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)
---
diff --git a/libsoup/meson.build b/libsoup/meson.build
index a05f5752..1915259d 100644
--- a/libsoup/meson.build
+++ b/libsoup/meson.build
@@ -297,17 +297,22 @@ python3 = pymod.find_installation('python3')
 get_overridedir = '''
 import os
 import sysconfig
-libdir = sysconfig.get_config_var('LIBDIR')
-if not libdir:
-  libdir = '/usr/lib'
+
 try:
   import gi
   overridedir = gi._overridesdir
 except ImportError:
   purelibdir = sysconfig.get_path('purelib')
   overridedir = os.path.join(purelibdir, 'gi', 'overrides')
-if overridedir.startswith(libdir): # Should always be True..
-  overridedir = overridedir[len(libdir) + 1:]
+
+# We need to strip the libdir from the path so files we install
+# are in our own prefix'd libdir.
+libdir = sysconfig.get_config_var('LIBDIR').removesuffix(sysconfig.get_config_var('MULTIARCH'))
+if not libdir:
+  libdir = '/usr/lib/'
+
+overridedir = overridedir.removeprefix(libdir).lstrip('/')
+
 print(overridedir)
 '''
 
@@ -318,4 +323,6 @@ else
   pygobject_override_dir = join_paths(get_option('libdir'), ret.stdout().strip())
 endif
 
+message('Found pygobject overridedir: @0@'.format(pygobject_override_dir))
+
 install_data('Soup.py', install_dir: pygobject_override_dir)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]