aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/gnome.py16
-rw-r--r--modules/rpm.py5
-rw-r--r--test cases/frameworks/7 gnome/gir/meson.build3
-rw-r--r--test cases/frameworks/7 gnome/installed_files.txt3
4 files changed, 22 insertions, 5 deletions
diff --git a/modules/gnome.py b/modules/gnome.py
index c0e391f..80ee5fb 100644
--- a/modules/gnome.py
+++ b/modules/gnome.py
@@ -63,14 +63,18 @@ class GnomeModule:
scankwargs = {'output' : girfile,
'input' : libsources,
'command' : scan_command}
- scan_target = build.CustomTarget(scan_name, state.subdir, scankwargs)
+ if kwargs.get('install'):
+ scankwargs['install'] = kwargs['install']
+ scankwargs['install_dir'] = os.path.join(state.environment.get_datadir(), 'gir-1.0')
+ scan_target = GirTarget(scan_name, state.subdir, scankwargs)
typelib_name = girtarget.name + '-typelib'
typelib_output = '%s-%s.typelib' % (ns, nsversion)
typelib_cmd = ['g-ir-compiler', scan_target, '--output', '@OUTPUT@']
kwargs['output'] = typelib_output
kwargs['command'] = typelib_cmd
- typelib_target = build.CustomTarget(typelib_name, state.subdir, kwargs)
+ kwargs['install_dir'] = os.path.join(state.environment.get_libdir(), 'girepository-1.0')
+ typelib_target = TypelibTarget(typelib_name, state.subdir, kwargs)
return [scan_target, typelib_target]
def compile_schemas(self, state, args, kwargs):
@@ -111,3 +115,11 @@ def initialize():
mlog.log('Warning, glib compiled dependencies will not work until this upstream issue is fixed:',
mlog.bold('https://bugzilla.gnome.org/show_bug.cgi?id=745754'))
return GnomeModule()
+
+class GirTarget(build.CustomTarget):
+ def __init__(self, name, subdir, kwargs):
+ super().__init__(name, subdir, kwargs)
+
+class TypelibTarget(build.CustomTarget):
+ def __init__(self, name, subdir, kwargs):
+ super().__init__(name, subdir, kwargs)
diff --git a/modules/rpm.py b/modules/rpm.py
index 4ae1cc6..19f69f2 100644
--- a/modules/rpm.py
+++ b/modules/rpm.py
@@ -19,6 +19,7 @@ import build
import compilers
import datetime
import mlog
+import modules.gnome
import os
class RPMModule:
@@ -62,6 +63,10 @@ class RPMModule:
to_delete.add('%%{buildroot}%%{_libdir}/%s' % target.get_filename())
mlog.log('Warning, removing', mlog.bold(target.get_filename()),
'from package because packaging static libs not recommended')
+ elif isinstance(target, modules.gnome.GirTarget) and target.should_install():
+ files_devel.add('%%{_datadir}/gir-1.0/%s' % target.get_filename()[0])
+ elif isinstance(target, modules.gnome.TypelibTarget) and target.should_install():
+ files.add('%%{_libdir}/girepository-1.0/%s' % target.get_filename()[0])
for header in state.headers:
if len(header.get_install_subdir()) > 0:
files_devel.add('%%{_includedir}/%s/' % header.get_install_subdir())
diff --git a/test cases/frameworks/7 gnome/gir/meson.build b/test cases/frameworks/7 gnome/gir/meson.build
index 115631e..cb3308e 100644
--- a/test cases/frameworks/7 gnome/gir/meson.build
+++ b/test cases/frameworks/7 gnome/gir/meson.build
@@ -8,8 +8,7 @@ gnome.generate_gir(girexe,
sources : libsources,
nsversion : '1.0',
namespace : 'Meson',
-install : true,
-install_dir : 'typelibdir',
+install : true
)
test('gobject introspection', girexe)
diff --git a/test cases/frameworks/7 gnome/installed_files.txt b/test cases/frameworks/7 gnome/installed_files.txt
index 019b81a..8464839 100644
--- a/test cases/frameworks/7 gnome/installed_files.txt
+++ b/test cases/frameworks/7 gnome/installed_files.txt
@@ -1,2 +1,3 @@
-usr/typelibdir/Meson-1.0.typelib
+usr/lib/girepository-1.0/Meson-1.0.typelib
+usr/share/gir-1.0/Meson-1.0.gir
usr/share/glib-2.0/schemas/com.github.meson.gschema.xml