setup.py
changeset 2020 143c8e4dc22d
parent 1808 202ac6c94b7f
parent 2016 192c9f92148d
child 2036 2d9e7b936ee1
--- a/setup.py	Thu Feb 23 15:19:31 2017 +0100
+++ b/setup.py	Thu Mar 02 18:07:46 2017 +0100
@@ -1,24 +1,60 @@
+import os
 from distutils.core import setup
+from os.path import dirname, join
+
+def get_version(relpath):
+    '''Read version info from a file without importing it'''
+    for line in open(join(dirname(__file__), relpath), 'rb'):
+        # Decode to a fail-safe string for PY3
+        # (gives unicode object in PY2)
+        line = line.decode('utf8')
+        if '__version__' in line:
+          if "'" in line:
+            return line.split("'")[1]
+
+def min_hg_version(relpath):
+    '''Read version info from a file without importing it'''
+    for line in open(join(dirname(__file__), relpath), 'rb'):
+        # Decode to a fail-safe string for PY3
+        # (gives unicode object in PY2)
+        line = line.decode('utf8')
+        if 'testedwith' in line:
+          if "'" in line:
+            return min(line.split("'")[1].split())
+
+py_modules = [
+    'hgext3rd.evolve.serveronly',
+]
+py_packages = [
+    'hgext3rd',
+    'hgext3rd.topic',
+]
+
+if os.environ.get('INCLUDE_INHIBIT'):
+    py_modules.append('hgext3rd.evolve.hack.inhibit')
+    py_modules.append('hgext3rd.evolve.hack.directaccess')
+
+
+EVOLVE_PATH = 'hgext3rd/evolve/__init__.py'
 
 requires = []
 try:
     import mercurial
     mercurial.__all__
 except ImportError:
-    requires.append('mercurial')
+    requires.append('mercurial>=%s' % min_hg_version(EVOLVE_PATH))
 
 setup(
-    name='hg-topics',
-    version='1.0.0',
-    author='Augie Fackler',
-    maintainer='Augie Fackler',
-    maintainer_email='augie@google.com',
-    url='http://bitbucket.org/durin42/hg-topics/',
-    description=('Experimental tinkering with workflow ideas '
-                 'for topic branches.'),
-    long_description=open('README.md').read(),
+    name='hg-evolve',
+    version=get_version(EVOLVE_PATH),
+    author='Pierre-Yves David',
+    maintainer='Pierre-Yves David',
+    maintainer_email='pierre-yves.david@ens-lyon.org',
+    url='https://www.mercurial-scm.org/doc/evolution/',
+    description='Flexible evolution of Mercurial history.',
+    long_description=open('README').read(),
     keywords='hg mercurial',
     license='GPLv2+',
-    packages=['hgext3rd'],
-    install_requires=requires,
+    py_modules=py_modules,
+    packages=py_packages
 )