prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Build wheels for manylinux1
  
  
  </issue>
  <code>
  [start of setup.py]
  1 #!/usr/bin/env python
  2 
  3 # Copyright (c) Microsoft Corporation. All rights reserved.
  4 # Licensed under the MIT License. See LICENSE in the project root
  5 # for license information.
  6 
  7 import os
  8 import os.path
  9 import subprocess
  10 import sys
  11 
  12 from setuptools import setup
  13 
  14 import versioneer
  15 
  16 sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src'))
  17 import ptvsd
  18 import ptvsd._vendored
  19 del sys.path[0]
  20 
  21 
  22 PYDEVD_ROOT = ptvsd._vendored.project_root('pydevd')
  23 PTVSD_ROOT = os.path.dirname(os.path.abspath(ptvsd.__file__))
  24 
  25 
  26 def cython_build():
  27     print('Compiling extension modules (set SKIP_CYTHON_BUILD=1 to omit)')
  28     subprocess.call([
  29         sys.executable,
  30         os.path.join(PYDEVD_ROOT, 'setup_cython.py'),
  31         'build_ext',
  32         '-i',
  33     ])
  34 
  35 
  36 def iter_vendored_files():
  37     # Add pydevd files as data files for this package. They are not
  38     # treated as a package of their own, because we don't actually
  39     # want to provide pydevd - just use our own copy internally.
  40     for project in ptvsd._vendored.list_all():
  41         for filename in ptvsd._vendored.iter_packaging_files(project):
  42             yield filename
  43 
  44 
  45 with open('DESCRIPTION.md', 'r') as fh:
  46     long_description = fh.read()
  47 
  48 
  49 if __name__ == '__main__':
  50     if not os.getenv('SKIP_CYTHON_BUILD'):
  51         cython_build()
  52 
  53     setup(
  54         name='ptvsd',
  55         version=versioneer.get_version(),
  56         description='Remote debugging server for Python support in Visual Studio and Visual Studio Code', # noqa
  57         long_description=long_description,
  58         long_description_content_type='text/markdown',
  59         license='MIT',
  60         author='Microsoft Corporation',
  61         author_email='ptvshelp@microsoft.com',
  62         url='https://aka.ms/ptvs',
  63         python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',
  64         classifiers=[
  65             'Development Status :: 5 - Production/Stable',
  66             'Programming Language :: Python :: 2.7',
  67             'Programming Language :: Python :: 3.4',
  68             'Programming Language :: Python :: 3.5',
  69             'Programming Language :: Python :: 3.6',
  70             'Programming Language :: Python :: 3.7',
  71             'Topic :: Software Development :: Debuggers',
  72             'Operating System :: OS Independent',
  73             'License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)',
  74             'License :: OSI Approved :: MIT License',
  75         ],
  76         package_dir={'': 'src'},
  77         packages=[
  78             'ptvsd',
  79             'ptvsd._vendored',
  80         ],
  81         package_data={
  82             'ptvsd': ['ThirdPartyNotices.txt'],
  83             'ptvsd._vendored': list(iter_vendored_files()),
  84         },
  85         cmdclass=versioneer.get_cmdclass(),
  86     )
  87
  [end of setup.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -9,13 +9,23 @@
   import subprocess
   import sys
   
  -from setuptools import setup
  +pure = None
  +if '--pure' in sys.argv:
  +    pure = True
  +    sys.argv.remove('--pure')
  +elif '--universal' in sys.argv:
  +    pure = True
  +elif '--abi' in sys.argv:
  +    pure = False
  +    sys.argv.remove('--abi')
   
  -import versioneer
  +
  +from setuptools import setup  # noqa
  +import versioneer  # noqa
   
   sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src'))
  -import ptvsd
  -import ptvsd._vendored
  +import ptvsd  # noqa
  +import ptvsd._vendored  # noqa
   del sys.path[0]
   
   
  @@ -23,6 +33,11 @@
   PTVSD_ROOT = os.path.dirname(os.path.abspath(ptvsd.__file__))
   
   
  +def get_buildplatform():
  +    if '-p' in sys.argv:
  +        return sys.argv[sys.argv.index('-p') + 1]
  +    return None
  +
   def cython_build():
       print('Compiling extension modules (set SKIP_CYTHON_BUILD=1 to omit)')
       subprocess.call([
  @@ -46,10 +61,29 @@
       long_description = fh.read()
   
   
  +try:
  +    from wheel.bdist_wheel import bdist_wheel as _bdist_wheel
  +
  +    class bdist_wheel(_bdist_wheel):
  +        def finalize_options(self):
  +            _bdist_wheel.finalize_options(self)
  +            self.root_is_pure = pure
  +
  +except ImportError:
  +    bdist_wheel = None
  +
   if __name__ == '__main__':
       if not os.getenv('SKIP_CYTHON_BUILD'):
           cython_build()
   
  +    cmds = versioneer.get_cmdclass()
  +    cmds['bdist_wheel'] = bdist_wheel
  +
  +    extras = {}
  +    platforms = get_buildplatform()
  +    if platforms is not None:
  +        extras['platforms'] = platforms
  +
       setup(
           name='ptvsd',
           version=versioneer.get_version(),
  @@ -82,5 +116,6 @@
               'ptvsd': ['ThirdPartyNotices.txt'],
               'ptvsd._vendored': list(iter_vendored_files()),
           },
  -        cmdclass=versioneer.get_cmdclass(),
  +        cmdclass=cmds,
  +        **extras
       )
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -9,13 +9,23 @@\n import subprocess\n import sys\n \n-from setuptools import setup\n+pure = None\n+if '--pure' in sys.argv:\n+    pure = True\n+    sys.argv.remove('--pure')\n+elif '--universal' in sys.argv:\n+    pure = True\n+elif '--abi' in sys.argv:\n+    pure = False\n+    sys.argv.remove('--abi')\n \n-import versioneer\n+\n+from setuptools import setup  # noqa\n+import versioneer  # noqa\n \n sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src'))\n-import ptvsd\n-import ptvsd._vendored\n+import ptvsd  # noqa\n+import ptvsd._vendored  # noqa\n del sys.path[0]\n \n \n@@ -23,6 +33,11 @@\n PTVSD_ROOT = os.path.dirname(os.path.abspath(ptvsd.__file__))\n \n \n+def get_buildplatform():\n+    if '-p' in sys.argv:\n+        return sys.argv[sys.argv.index('-p') + 1]\n+    return None\n+\n def cython_build():\n     print('Compiling extension modules (set SKIP_CYTHON_BUILD=1 to omit)')\n     subprocess.call([\n@@ -46,10 +61,29 @@\n     long_description = fh.read()\n \n \n+try:\n+    from wheel.bdist_wheel import bdist_wheel as _bdist_wheel\n+\n+    class bdist_wheel(_bdist_wheel):\n+        def finalize_options(self):\n+            _bdist_wheel.finalize_options(self)\n+            self.root_is_pure = pure\n+\n+except ImportError:\n+    bdist_wheel = None\n+\n if __name__ == '__main__':\n     if not os.getenv('SKIP_CYTHON_BUILD'):\n         cython_build()\n \n+    cmds = versioneer.get_cmdclass()\n+    cmds['bdist_wheel'] = bdist_wheel\n+\n+    extras = {}\n+    platforms = get_buildplatform()\n+    if platforms is not None:\n+        extras['platforms'] = platforms\n+\n     setup(\n         name='ptvsd',\n         version=versioneer.get_version(),\n@@ -82,5 +116,6 @@\n             'ptvsd': ['ThirdPartyNotices.txt'],\n             'ptvsd._vendored': list(iter_vendored_files()),\n         },\n-        cmdclass=versioneer.get_cmdclass(),\n+        cmdclass=cmds,\n+        **extras\n     )\n", "issue": "Build wheels for manylinux1\n\n", "before_files": [{"content": "#!/usr/bin/env python\n\n# Copyright (c) Microsoft Corporation. All rights reserved.\n# Licensed under the MIT License. See LICENSE in the project root\n# for license information.\n\nimport os\nimport os.path\nimport subprocess\nimport sys\n\nfrom setuptools import setup\n\nimport versioneer\n\nsys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'src'))\nimport ptvsd\nimport ptvsd._vendored\ndel sys.path[0]\n\n\nPYDEVD_ROOT = ptvsd._vendored.project_root('pydevd')\nPTVSD_ROOT = os.path.dirname(os.path.abspath(ptvsd.__file__))\n\n\ndef cython_build():\n    print('Compiling extension modules (set SKIP_CYTHON_BUILD=1 to omit)')\n    subprocess.call([\n        sys.executable,\n        os.path.join(PYDEVD_ROOT, 'setup_cython.py'),\n        'build_ext',\n        '-i',\n    ])\n\n\ndef iter_vendored_files():\n    # Add pydevd files as data files for this package. They are not\n    # treated as a package of their own, because we don't actually\n    # want to provide pydevd - just use our own copy internally.\n    for project in ptvsd._vendored.list_all():\n        for filename in ptvsd._vendored.iter_packaging_files(project):\n            yield filename\n\n\nwith open('DESCRIPTION.md', 'r') as fh:\n    long_description = fh.read()\n\n\nif __name__ == '__main__':\n    if not os.getenv('SKIP_CYTHON_BUILD'):\n        cython_build()\n\n    setup(\n        name='ptvsd',\n        version=versioneer.get_version(),\n        description='Remote debugging server for Python support in Visual Studio and Visual Studio Code', # noqa\n        long_description=long_description,\n        long_description_content_type='text/markdown',\n        license='MIT',\n        author='Microsoft Corporation',\n        author_email='ptvshelp@microsoft.com',\n        url='https://aka.ms/ptvs',\n        python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*',\n        classifiers=[\n            'Development Status :: 5 - Production/Stable',\n            'Programming Language :: Python :: 2.7',\n            'Programming Language :: Python :: 3.4',\n            'Programming Language :: Python :: 3.5',\n            'Programming Language :: Python :: 3.6',\n            'Programming Language :: Python :: 3.7',\n            'Topic :: Software Development :: Debuggers',\n            'Operating System :: OS Independent',\n            'License :: OSI Approved :: Eclipse Public License 2.0 (EPL-2.0)',\n            'License :: OSI Approved :: MIT License',\n        ],\n        package_dir={'': 'src'},\n        packages=[\n            'ptvsd',\n            'ptvsd._vendored',\n        ],\n        package_data={\n            'ptvsd': ['ThirdPartyNotices.txt'],\n            'ptvsd._vendored': list(iter_vendored_files()),\n        },\n        cmdclass=versioneer.get_cmdclass(),\n    )\n", "path": "setup.py"}]}