From 439d61050e0291d58a875b08f64d33562250a1be Mon Sep 17 00:00:00 2001 From: Markus Holzer <markus.holzer@fau.de> Date: Mon, 15 Mar 2021 09:42:14 +0000 Subject: [PATCH] Fix installation from git --- doc/version_from_git.py | 27 +++++++++++++++------------ setup.py | 12 +++++++++--- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/doc/version_from_git.py b/doc/version_from_git.py index 67cbcb3f8..2964f6d1c 100644 --- a/doc/version_from_git.py +++ b/doc/version_from_git.py @@ -18,17 +18,20 @@ def version_number_from_git(tag_prefix='release/', sha_length=10, version_format version_strings = get_released_versions() version_strings.sort(key=StrictVersion) - latest_release = version_strings[-1] - commits_since_tag = subprocess.getoutput('git rev-list {}..HEAD --count'.format(tag_from_version(latest_release))) - sha = subprocess.getoutput('git rev-parse HEAD')[:sha_length] - is_dirty = len(subprocess.getoutput("git status --untracked-files=no -s")) > 0 + if len(version_strings) > 0: + latest_release = version_strings[-1] + commits_since_tag = subprocess.getoutput('git rev-list {}..HEAD --count'.format(tag_from_version(latest_release))) + sha = subprocess.getoutput('git rev-parse HEAD')[:sha_length] + is_dirty = len(subprocess.getoutput("git status --untracked-files=no -s")) > 0 - if int(commits_since_tag) == 0: - version_string = latest_release - else: - next_version = increment_version(latest_release) - version_string = version_format.format(version=next_version, commits=commits_since_tag, sha=sha) + if int(commits_since_tag) == 0: + version_string = latest_release + else: + next_version = increment_version(latest_release) + version_string = version_format.format(version=next_version, commits=commits_since_tag, sha=sha) - if is_dirty: - version_string += ".dirty" - return version_string + if is_dirty: + version_string += ".dirty" + return version_string + else: + return "development" diff --git a/setup.py b/setup.py index 3b200addd..50950ea62 100644 --- a/setup.py +++ b/setup.py @@ -59,12 +59,18 @@ def readme(): def cython_extensions(*extensions): from distutils.extension import Extension - ext = '.pyx' if USE_CYTHON else '.c' - result = [Extension(e, [e.replace('.', '/') + ext]) for e in extensions] if USE_CYTHON: + ext = '.pyx' + result = [Extension(e, [os.path.join(*e.split(".")) + ext]) for e in extensions] from Cython.Build import cythonize result = cythonize(result, language_level=3) - return result + return result + elif all([os.path.exists(os.path.join(*e.split(".")) + '.c') for e in extensions]): + ext = '.c' + result = [Extension(e, [os.path.join(*e.split(".")) + ext]) for e in extensions] + return result + else: + return None try: -- GitLab