From a535d68ba7c9089f85ddfbf37215fa7612a16993 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Mon, 19 Dec 2016 14:31:27 -0800 Subject: [PATCH] Fixes the 2.7 nuget packages to include a shim bdist_wininst --- .../nuget/distutils.command.bdist_wininst.py | 20 +++++++++++++++++++ Tools/nuget/make_zip.py | 12 +++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 Tools/nuget/distutils.command.bdist_wininst.py diff --git a/Tools/nuget/distutils.command.bdist_wininst.py b/Tools/nuget/distutils.command.bdist_wininst.py new file mode 100644 index 0000000000..d586e34fec --- /dev/null +++ b/Tools/nuget/distutils.command.bdist_wininst.py @@ -0,0 +1,20 @@ +"""distutils.command.bdist_wininst + +Suppresses the 'bdist_wininst' command, while still allowing +setuptools to import it without breaking.""" + +from distutils.core import Command +from distutils.errors import DistutilsPlatformError + +class bdist_wininst(Command): + description = "create an executable installer for MS Windows" + + def initialize_options(self): + pass + + def finalize_options(self): + pass + + def run(self): + raise DistutilsPlatformError("bdist_wininst is not supported " + "in this Python distribution") diff --git a/Tools/nuget/make_zip.py b/Tools/nuget/make_zip.py index af64323c9b..20fadf2dda 100644 --- a/Tools/nuget/make_zip.py +++ b/Tools/nuget/make_zip.py @@ -9,6 +9,7 @@ import stat import os import tempfile +from itertools import chain from pathlib import Path from zipfile import ZipFile, ZIP_DEFLATED import subprocess @@ -203,8 +204,15 @@ def main(): try: for t, s, p, c in layout: - s = source / s.replace("$arch", arch) - copied = copy_to_layout(temp / t.rstrip('/'), rglob(s, p, c)) + fs = source / s.replace("$arch", arch) + files = rglob(fs, p, c) + extra_files = [] + if s == 'Lib' and p == '**/*': + extra_files.append(( + source / 'tools' / 'nuget' / 'distutils.command.bdist_wininst.py', + Path('distutils') / 'command' / 'bdist_wininst.py' + )) + copied = copy_to_layout(temp / t.rstrip('/'), chain(files, extra_files)) print('Copied {} files'.format(copied)) if out: -- 2.50.1