blob: 3fc7de55616e02b9c2bbca3e36a2d2f9a0b411f8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import os
class AbstractDependency:
def __init__(self, name):
self._name = name
def get_name(self):
return self._name
def check(self):
return False
class LibDependency(AbstractDependency):
def __init__(self, name, module):
AbstractDependency.__init__(self, name)
self._module = module
def check(self):
pid = os.fork()
if not pid:
os.execvp('pkg-config', [ 'pkg-config', '--exists', self._module ])
return os.wait()[1] == 0
def get_installed(dependencies):
installed = []
for dep in dependencies:
if dep.check():
installed.append(dep.get_name())
return installed
|