diff options
author | Igor Gnatenko <i.gnatenko.brain@gmail.com> | 2015-03-21 00:30:12 +0300 |
---|---|---|
committer | Igor Gnatenko <i.gnatenko.brain@gmail.com> | 2015-03-21 00:50:21 +0300 |
commit | 953edd9fc908c162869e51c0bb191c303166220e (patch) | |
tree | 45a6f169c8bfa24ec2b34d3a340b15e42270d5cf /modules/rpm.py | |
parent | b8b77e7ccc78ad038f255f5833daed52ea35cfcc (diff) | |
download | meson-953edd9fc908c162869e51c0bb191c303166220e.zip meson-953edd9fc908c162869e51c0bb191c303166220e.tar.gz meson-953edd9fc908c162869e51c0bb191c303166220e.tar.bz2 |
modules/rpm: add compilers to BuildRequires automatically
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Diffstat (limited to 'modules/rpm.py')
-rw-r--r-- | modules/rpm.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/rpm.py b/modules/rpm.py index bb81d66..257c3d0 100644 --- a/modules/rpm.py +++ b/modules/rpm.py @@ -16,6 +16,7 @@ functionality such as generating RPM spec file.''' import build +import compilers import datetime import mlog import os @@ -23,6 +24,24 @@ import os class RPMModule: def generate_spec_template(self, state, args, kwargs): + compiler_deps = set() + for compiler in state.compilers: + if isinstance(compiler, compilers.ValaCompiler): + compiler_deps.add('vala') + elif isinstance(compiler, compilers.GnuFortranCompiler): + compiler_deps.add('gcc-gfortran') + elif isinstance(compiler, compilers.GnuObjCCompiler): + compiler_deps.add('gcc-objc') + elif compiler == compilers.GnuObjCPPCompiler: + compiler_deps.add('gcc-objc++') + elif isinstance(compiler, compilers.GnuCCompiler) or \ + isinstance(compiler, compilers.GnuCPPCompiler): + # Installed by default + pass + else: + mlog.log('RPM spec file will not created, generating not allowed for:', + mlog.bold(compiler.get_id())) + return proj = state.project_name.replace(' ', '_').replace('\t', '_') so_installed = False devel_subpkg = False @@ -50,6 +69,8 @@ class RPMModule: 'w+') fn.write('Name: %s\n' % proj) fn.write('\n') + for compiler in compiler_deps: + fn.write('BuildRequires: %s\n' % compiler) for dep in state.environment.coredata.deps: fn.write('BuildRequires: pkgconfig(%s)\n' % dep) for lib in state.environment.coredata.ext_libs.values(): |