diff --git a/setup.py b/setup.py index a64cb7b..d3113d2 100755 --- a/setup.py +++ b/setup.py @@ -22,7 +22,9 @@ import os import re import sys +import runpy import subprocess +from distutils.spawn import find_executable from setuptools import find_packages, setup @@ -30,14 +32,16 @@ os.chdir(os.path.split(os.path.abspath(__file__))[0]) PKG = "hy" VERSIONFILE = os.path.join(PKG, "version.py") -try: +if os.path.exists('.git') and find_executable('git'): __version__ = (subprocess.check_output (["git", "describe", "--tags", "--dirty"]) .decode('ASCII').strip() .replace('-', '+', 1).replace('-', '.')) with open(VERSIONFILE, "wt") as o: o.write("__version__ = {!r}\n".format(__version__)) -except subprocess.CalledProcessError: +elif os.path.exists(VERSIONFILE): + __version__ = runpy.run_path(VERSIONFILE)['__version__'] +else: __version__ = "unknown" long_description = """Hy is a Python <--> Lisp layer. It helps