[PATCH] setup: use setuptools on Windows (issue5400)

Matt Harbison mharbison72 at gmail.com
Sun Apr 9 00:30:53 UTC 2017


On Thu, 09 Mar 2017 23:06:34 -0500, Gregory Szorc  
<gregory.szorc at gmail.com> wrote:

> # HG changeset patch
> # User Gregory Szorc <gregory.szorc at gmail.com>
> # Date 1489118392 28800
> #      Thu Mar 09 19:59:52 2017 -0800
> # Node ID b51f9adb41e68d9f3d88582f044d2742ae29ce09
> # Parent  cd29673cebdbe2d998009322e4c3657389d6aed0
> setup: use setuptools on Windows (issue5400)
>
> We've had a long, complicated history with setuptools. We want to
> make it the universal default. But when we do, it breaks things.
>
> `python setup.py build` is broken on Windows today. Forcing
> the use of setuptools via FORCE_SETUPTOOLS=1 unbreaks things.
>
> Since the previous bustage with making setuptools the default
> was on !Windows, it seems safe to move ahead with the setuptools
> transition on Windows. So this patch does that.

I'm not sure why, or what we should do about it, but test-hghave.t fails  
with this on Windows.  I can get a similar failure on Linux with  
FORCE_SETUPTOOLS=1.  Is this an expected diff with setuptools (and  
deserving a '(glob) (?)'?

--- c:/Users/Matt/Projects/hg/tests/test-hghave.t
+++ c:/Users/Matt/Projects/hg/tests/test-hghave.t.err
@@ -19,7 +19,11 @@
    >   foo
    > EOF
    $ run-tests.py $HGTEST_RUN_TESTS_PURE test-hghaveaddon.t
+  warning: Testing with unexpected mercurial lib:  
C:\Users\Matt\AppData\Local\Temp\hgtests.ie8k3minstall\lib\python\mercurial-4.1.1-py2.7-win-amd64.egg\mercurial
+           (expected  
C:\Users\Matt\AppData\Local\Temp\hgtests.ie8k3m\install\lib\python\mercurial)
    .
+  warning: Tested with unexpected mercurial lib:  
C:\Users\Matt\AppData\Local\Temp\hgtests.ie8k3minstall\lib\python\mercurial-4.1.1-py2.7-win-amd64.egg\mercurial
+           (expected  
C:\Users\Matt\AppData\Local\Temp\hgtests.ie8k3m\install\lib\python\mercurial)
    # Ran 1 tests, 0 skipped, 0 warned, 0 failed.


> diff --git a/setup.py b/setup.py
> --- a/setup.py
> +++ b/setup.py
> @@ -63,7 +63,10 @@ import re
>  import shutil
>  import tempfile
>  from distutils import log
> -if 'FORCE_SETUPTOOLS' in os.environ:
> +# We have issues with setuptools on some platforms and builders. Until
> +# those are resolved, setuptools is opt-in except for platforms where
> +# we don't have issues.
> +if os.name == 'nt' or 'FORCE_SETUPTOOLS' in os.environ:
>      from setuptools import setup
>  else:
>      from distutils.core import setup
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list