diff -r 4ee906aa7b60 -r 715d3220ac4f contrib/packaging/hgpackaging/py2exe.py --- a/contrib/packaging/hgpackaging/py2exe.py Wed Mar 27 18:26:54 2019 +0100 +++ b/contrib/packaging/hgpackaging/py2exe.py Wed Mar 20 13:18:37 2019 -0400 @@ -25,7 +25,8 @@ python_exe: pathlib.Path, build_name: str, venv_requirements_txt: pathlib.Path, extra_packages=None, extra_excludes=None, - extra_dll_excludes=None): + extra_dll_excludes=None, + extra_packages_script=None): """Build Mercurial with py2exe. Build files will be placed in ``build_dir``. @@ -105,6 +106,16 @@ env['DISTUTILS_USE_SDK'] = '1' env['MSSdk'] = '1' + if extra_packages_script: + more_packages = set(subprocess.check_output( + extra_packages_script, + cwd=build_dir).split(b'\0')[-1].strip().decode('utf-8').splitlines()) + if more_packages: + if not extra_packages: + extra_packages = more_packages + else: + extra_packages |= more_packages + if extra_packages: env['HG_PY2EXE_EXTRA_PACKAGES'] = ' '.join(sorted(extra_packages)) if extra_excludes: