From 6e7e94dd8e79203729f8fd74fa5a1406264fcdeb Mon Sep 17 00:00:00 2001 From: Kodi Arfer Date: Sun, 27 Nov 2016 09:22:31 -0800 Subject: [PATCH] Tweak __version__ handling in setup.py --- setup.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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