Example #1
0
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
Example #2
0
 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_)
Example #3
0
            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())