Showing the changes to python/lib/moresetuptools.py (1 of 4 files). Show all
Unified · Split
| @@ -4,92 +4,7 @@ import sys, os, glob, subprocess · 3 unmodified lines | ||
| 4 | 4 | import distutils, distutils.command.clean, distutils.dir_util |
| 5 | 5 | from .gen_external import generate_external, header, output_path |
| 6 | 6 | |
| 7 | −def get_aubio_version(): | |
| 8 | − # read from VERSION | |
| 9 | − this_file_dir = os.path.dirname(os.path.abspath(__file__)) | |
| 10 | − version_file = os.path.join(this_file_dir, '..', '..', 'VERSION') | |
| 11 | − | |
| 12 | − if not os.path.isfile(version_file): | |
| 13 | − raise SystemError("VERSION file not found.") | |
| 14 | − | |
| 15 | − for l in open(version_file).readlines(): | |
| 16 | − #exec (l.strip()) | |
| 17 | − if l.startswith('AUBIO_MAJOR_VERSION'): | |
| 18 | − AUBIO_MAJOR_VERSION = int(l.split('=')[1]) | |
| 19 | − if l.startswith('AUBIO_MINOR_VERSION'): | |
| 20 | − AUBIO_MINOR_VERSION = int(l.split('=')[1]) | |
| 21 | − if l.startswith('AUBIO_PATCH_VERSION'): | |
| 22 | − AUBIO_PATCH_VERSION = int(l.split('=')[1]) | |
| 23 | − if l.startswith('AUBIO_VERSION_STATUS'): | |
| 24 | − AUBIO_VERSION_STATUS = l.split('=')[1].strip()[1:-1] | |
| 25 | − | |
| 26 | − if AUBIO_MAJOR_VERSION is None or AUBIO_MINOR_VERSION is None \ | |
| 27 | − or AUBIO_PATCH_VERSION is None: | |
| 28 | − raise SystemError("Failed parsing VERSION file.") | |
| 29 | − | |
| 30 | − verstr = '.'.join(map(str, [AUBIO_MAJOR_VERSION, | |
| 31 | − AUBIO_MINOR_VERSION, | |
| 32 | − AUBIO_PATCH_VERSION])) | |
| 33 | − | |
| 34 | − | |
| 35 | − # append sha to version in alpha release | |
| 36 | − # MAJ.MIN.PATCH.{~git<sha> , ''} | |
| 37 | − if '~alpha' in AUBIO_VERSION_STATUS : | |
| 38 | − AUBIO_GIT_SHA = get_git_revision_hash() | |
| 39 | − if AUBIO_GIT_SHA: | |
| 40 | − AUBIO_VERSION_STATUS = '~git'+AUBIO_GIT_SHA | |
| 41 | − | |
| 42 | − if AUBIO_VERSION_STATUS is not None : | |
| 43 | − verstr += AUBIO_VERSION_STATUS | |
| 44 | − return verstr | |
| 45 | − | |
| 46 | −def get_aubio_pyversion(): | |
| 47 | − # convert to version for python according to pep 440 | |
| 48 | − # see https://www.python.org/dev/peps/pep-0440/ | |
| 49 | − verstr = get_aubio_version() | |
| 50 | − if '~alpha' in verstr or '~git' in verstr: | |
| 51 | − verstr = verstr.split('~')[0] + '+a1' | |
| 52 | − gitsha = get_git_revision_hash(short=True) | |
| 53 | − if gitsha: | |
| 54 | − verstr+='.git.'+gitsha | |
| 55 | − # TODO: add rc, .dev, and .post suffixes, add numbering | |
| 56 | − return verstr | |
| 57 | − | |
| 58 | − | |
| 59 | − | |
| 60 | −def get_git_revision_hash( short=True): | |
| 61 | − def which(program): | |
| 62 | − | |
| 63 | − def is_exe(fpath): | |
| 64 | − return os.path.isfile(fpath) and os.access(fpath, os.X_OK) | |
| 65 | − | |
| 66 | − fpath, fname = os.path.split(program) | |
| 67 | − if fpath: | |
| 68 | − if is_exe(program): | |
| 69 | − return program | |
| 70 | − else: | |
| 71 | − for path in os.environ["PATH"].split(os.pathsep): | |
| 72 | − path = path.strip('"') | |
| 73 | − exe_file = os.path.join(path, program) | |
| 74 | − if is_exe(exe_file): | |
| 75 | − return exe_file | |
| 76 | − | |
| 77 | − return None | |
| 78 | − if not which('git'): | |
| 79 | − print ('Version : no git found on this system : can\'t get sha') | |
| 80 | − return "" | |
| 81 | − | |
| 82 | − import subprocess | |
| 83 | − this_file_dir = os.path.dirname(os.path.abspath(__file__)) | |
| 84 | − aubio_dir = os.path.join(this_file_dir, '..', '..') | |
| 85 | − aubio_dir = os.path.abspath(aubio_dir) | |
| 86 | − if not os.path.exists(aubio_dir): | |
| 87 | − raise SystemError("git / root folder not found") | |
| 88 | − gitcmd = ['git','-C',aubio_dir ,'rev-parse'] | |
| 89 | − if short: | |
| 90 | − gitcmd.append('--short') | |
| 91 | − gitcmd.append('HEAD') | |
| 92 | − return subprocess.check_output(gitcmd).strip() | |
| 7 | +from Version import get_aubio_version | |
| 93 | 8 | |
| 94 | 9 | # inspired from https://gist.github.com/abergmeier/9488990 |
| 95 | 10 | def add_packages(packages, ext=None, **kw): |