| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 140b84d commit 65b75b5
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,4 +1,6 @@ | |||
| 1 | 1 | #!/usr/bin/env python | |
| 2 | + | ||
| 3 | + import errno | ||
| 2 | 4 | import optparse | |
| 3 | 5 | import os | |
| 4 | 6 | import pprint | |
@@ -400,19 +402,16 @@ def b(value): | |||
| 400 | 402 | ||
| 401 | 403 | def pkg_config(pkg): | |
| 402 | 404 | pkg_config = os.environ.get('PKG_CONFIG', 'pkg-config') | |
| 403 | - args = '--silence-errors' | ||
| 404 | 405 | retval = () | |
| 405 | 406 | for flag in ['--libs-only-l', '--cflags-only-I', '--libs-only-L']: | |
| 406 | 407 | try: | |
| 407 | - val = subprocess.check_output([pkg_config, args, flag, pkg]) | ||
| 408 | - # check_output returns bytes | ||
| 409 | - val = val.encode().strip().rstrip('\n') | ||
| 410 | - except subprocess.CalledProcessError: | ||
| 411 | - # most likely missing a .pc-file | ||
| 412 | - val = None | ||
| 413 | - except OSError: | ||
| 414 | - # no pkg-config/pkgconf installed | ||
| 415 | - return (None, None, None) | ||
| 408 | + proc = subprocess.Popen( | ||
| 409 | + shlex.split(pkg_config) + ['--silence-errors', flag, pkg], | ||
| 410 | + stdout=subprocess.PIPE) | ||
| 411 | + val = proc.communicate()[0].strip() | ||
| 412 | + except OSError, e: | ||
| 413 | + if e.errno != errno.ENOENT: raise e # Unexpected error. | ||
| 414 | + return (None, None, None) # No pkg-config/pkgconf installed. | ||
| 416 | 415 | retval += (val,) | |
| 417 | 416 | return retval | |
| 418 | 417 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments