summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Dower <steve.dower@microsoft.com>2016-12-19 22:31:27 (GMT)
committerSteve Dower <steve.dower@microsoft.com>2016-12-19 22:31:27 (GMT)
commita535d68ba7c9089f85ddfbf37215fa7612a16993 (patch)
tree8b7c070974e9016403e4db88d1fafdaf7e68da24
parentf6447e006587fcb632b80ca7e5888cefc1a26d58 (diff)
downloadcpython-a535d68ba7c9089f85ddfbf37215fa7612a16993.zip
cpython-a535d68ba7c9089f85ddfbf37215fa7612a16993.tar.gz
cpython-a535d68ba7c9089f85ddfbf37215fa7612a16993.tar.bz2
Fixes the 2.7 nuget packages to include a shim bdist_wininst
-rw-r--r--Tools/nuget/distutils.command.bdist_wininst.py20
-rw-r--r--Tools/nuget/make_zip.py12
2 files changed, 30 insertions, 2 deletions
diff --git a/Tools/nuget/distutils.command.bdist_wininst.py b/Tools/nuget/distutils.command.bdist_wininst.py
new file mode 100644
index 0000000..d586e34
--- /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 af64323c..20fadf2 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: