diff --git a/setup.py b/setup.py index d3113d2..75a61c3 100755 --- a/setup.py +++ b/setup.py @@ -24,7 +24,6 @@ import re import sys import runpy import subprocess -from distutils.spawn import find_executable from setuptools import find_packages, setup @@ -32,17 +31,18 @@ os.chdir(os.path.split(os.path.abspath(__file__))[0]) PKG = "hy" VERSIONFILE = os.path.join(PKG, "version.py") -if os.path.exists('.git') and find_executable('git'): +try: __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__)) -elif os.path.exists(VERSIONFILE): - __version__ = runpy.run_path(VERSIONFILE)['__version__'] -else: - __version__ = "unknown" +except (subprocess.CalledProcessError, OSError): + if os.path.exists(VERSIONFILE): + __version__ = runpy.run_path(VERSIONFILE)['__version__'] + else: + __version__ = "unknown" long_description = """Hy is a Python <--> Lisp layer. It helps make things work nicer, and lets Python and the Hy lisp variant play