summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Griffis <pgriffis@igalia.com>2021-09-23 14:58:36 -0500
committerPatrick Griffis <pgriffis@igalia.com>2021-09-23 15:15:33 -0500
commit2bca87a7f7ee96319f472ed8ed6340e629331d59 (patch)
treeff994fbcc72293275f63fbfcdc2c9699075a8103
parent1af594505c22427f92a91436c8de05729b560842 (diff)
downloadlibsoup-pgriffis/pygobject-overridedir.tar.gz
Fix pygobject override dir on multiarchpgriffis/pygobject-overridedir
-rw-r--r--libsoup/meson.build17
1 files 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)