aboutsummaryrefslogtreecommitdiff
path: root/modules/rpm.py
diff options
context:
space:
mode:
authorIgor Gnatenko <i.gnatenko.brain@gmail.com>2015-03-21 00:30:12 +0300
committerIgor Gnatenko <i.gnatenko.brain@gmail.com>2015-03-21 00:50:21 +0300
commit953edd9fc908c162869e51c0bb191c303166220e (patch)
tree45a6f169c8bfa24ec2b34d3a340b15e42270d5cf /modules/rpm.py
parentb8b77e7ccc78ad038f255f5833daed52ea35cfcc (diff)
downloadmeson-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.py21
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():