def default_prefix(common = True): paths = [] # # We have two paths to work around an issue in MSYS2 and the # conversion of Windows paths to shell paths. # if 'PKG_CONFIG_DEFAULT_PATH' in os.environ: for p in os.environ['PKG_CONFIG_DEFAULT_PATH'].split(os.pathsep): paths += [path.shell(p)] if 'PKG_CONFIG_PATH' in os.environ: for p in os.environ['PKG_CONFIG_PATH'].split(os.pathsep): paths += [path.shell(p)] if common: defaults = ['/usr', '/usr/share', '/lib', '/lib64', '/usr/lib', '/usr/lib64', '/usr/local'] for d in defaults: for cp in package.config_prefixes: prefix = path.join(d, cp, 'pkgconfig') if path.exists(prefix): paths += [prefix] return paths
def __init__(self, name = None, prefix = None, libs_scan = False, output = None, src = None): self._clean() self.name_ = name self.libs_scan = libs_scan self.output = output self.src = src self.prefix = None self.paths = [] if prefix is None: prefix = default_prefix() if prefix: self._log('prefix: %s' % (prefix)) if type(prefix) is str: self.prefix = [] for p in prefix.split(os.pathsep): self.prefix += [path.shell(p)] elif type(prefix) is list: self.prefix = prefix else: raise error('invalid type of prefix: %s' % (type(prefix))) for p in self.prefix: if path.exists(p): self.paths += [p] self._log('paths: %s' % (', '.join(self.paths))) if 'sysroot' in self.defines: self._log('sysroot: %s' % (self.defines['sysroot'])) if 'top_builddir' in self.defines: self._log('top_builddir: %s' % (self.defines['top_builddir'])) if self.name_: self.load(self.name_)
return _email return None def head(self): hash = '' ec, output = self._run(['log', '-n', '1']) if ec == 0: l1 = output.split('\n')[0] if l1.startswith('commit '): hash = l1[len('commit '):] return hash if __name__ == '__main__': import os.path import sys from . import options defaults = path.join(path.dirname(path.dirname(path.shell(sys.argv[0]))), 'defaults.mc') opts = options.load(sys.argv, defaults=defaults) g = repo('.', opts) print('g.git_version():', g.git_version()) print('g.valid():', g.valid()) print('g.submodules():', g.submodules()) print('g.status():', g.status()) print('g.status():', g.status(True)) print('g.dirty():', g.dirty()) print('g.remotes():', g.remotes()) print('g.email():', g.email()) print('g.head():', g.head())