prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  fix setup.py
  at least hy.extra is missing from package data
  
  </issue>
  <code>
  [start of setup.py]
  1 #!/usr/bin/env python
  2 # Copyright (c) 2012, 2013 Paul Tagliamonte <paultag@debian.org>
  3 #
  4 # Permission is hereby granted, free of charge, to any person obtaining a
  5 # copy of this software and associated documentation files (the "Software"),
  6 # to deal in the Software without restriction, including without limitation
  7 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
  8 # and/or sell copies of the Software, and to permit persons to whom the
  9 # Software is furnished to do so, subject to the following conditions:
  10 #
  11 # The above copyright notice and this permission notice shall be included in
  12 # all copies or substantial portions of the Software.
  13 #
  14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  17 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  19 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  20 # DEALINGS IN THE SOFTWARE.
  21 
  22 import os
  23 import re
  24 import sys
  25 import subprocess
  26 
  27 from setuptools import find_packages, setup
  28 
  29 os.chdir(os.path.split(os.path.abspath(__file__))[0])
  30 
  31 PKG = "hy"
  32 VERSIONFILE = os.path.join(PKG, "version.py")
  33 try:
  34     __version__ = (subprocess.check_output
  35         (["git", "describe", "--tags", "--dirty"])
  36         .decode('ASCII').strip()
  37         .replace('-', '+', 1).replace('-', '.'))
  38     with open(VERSIONFILE, "wt") as o:
  39         o.write("__version__ = {!r}\n".format(__version__))
  40 except subprocess.CalledProcessError:
  41     __version__ = "unknown"
  42 
  43 long_description = """Hy is a Python <--> Lisp layer. It helps
  44 make things work nicer, and lets Python and the Hy lisp variant play
  45 nice together. """
  46 
  47 install_requires = ['rply>=0.7.0', 'astor>=0.5', 'clint>=0.4']
  48 if sys.version_info[:2] < (2, 7):
  49     install_requires.append('argparse>=1.2.1')
  50     install_requires.append('importlib>=1.0.2')
  51 if os.name == 'nt':
  52     install_requires.append('pyreadline>=2.1')
  53 
  54 ver = sys.version_info[0]
  55 
  56 setup(
  57     name=PKG,
  58     version=__version__,
  59     install_requires=install_requires,
  60     entry_points={
  61         'console_scripts': [
  62             'hy = hy.cmdline:hy_main',
  63             'hy%d = hy.cmdline:hy_main' % ver,
  64             'hyc = hy.cmdline:hyc_main',
  65             'hyc%d = hy.cmdline:hyc_main' % ver,
  66             'hy2py = hy.cmdline:hy2py_main',
  67             'hy2py%d = hy.cmdline:hy2py_main' % ver,
  68         ]
  69     },
  70     packages=find_packages(exclude=['tests*']),
  71     package_data={
  72         'hy.contrib': ['*.hy'],
  73         'hy.core': ['*.hy'],
  74     },
  75     author="Paul Tagliamonte",
  76     author_email="tag@pault.ag",
  77     long_description=long_description,
  78     description='Lisp and Python love each other.',
  79     license="Expat",
  80     url="http://hylang.org/",
  81     platforms=['any'],
  82     classifiers=[
  83         "Development Status :: 4 - Beta",
  84         "Intended Audience :: Developers",
  85         "License :: DFSG approved",
  86         "License :: OSI Approved :: MIT License",  # Really "Expat". Ugh.
  87         "Operating System :: OS Independent",
  88         "Programming Language :: Lisp",
  89         "Programming Language :: Python",
  90         "Programming Language :: Python :: 2",
  91         "Programming Language :: Python :: 2.6",
  92         "Programming Language :: Python :: 2.7",
  93         "Programming Language :: Python :: 3",
  94         "Programming Language :: Python :: 3.3",
  95         "Programming Language :: Python :: 3.4",
  96         "Programming Language :: Python :: 3.5",
  97         "Topic :: Software Development :: Code Generators",
  98         "Topic :: Software Development :: Compilers",
  99         "Topic :: Software Development :: Libraries",
  100     ]
  101 )
  102
  [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
  @@ -71,6 +71,7 @@
       package_data={
           'hy.contrib': ['*.hy'],
           'hy.core': ['*.hy'],
  +        'hy.extra': ['*.hy'],
       },
       author="Paul Tagliamonte",
       author_email="tag@pault.ag",
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -71,6 +71,7 @@\n     package_data={\n         'hy.contrib': ['*.hy'],\n         'hy.core': ['*.hy'],\n+        'hy.extra': ['*.hy'],\n     },\n     author=\"Paul Tagliamonte\",\n     author_email=\"tag@pault.ag\",\n", "issue": "fix setup.py\nat least hy.extra is missing from package data\n", "before_files": [{"content": "#!/usr/bin/env python\n# Copyright (c) 2012, 2013 Paul Tagliamonte <paultag@debian.org>\n#\n# Permission is hereby granted, free of charge, to any person obtaining a\n# copy of this software and associated documentation files (the \"Software\"),\n# to deal in the Software without restriction, including without limitation\n# the rights to use, copy, modify, merge, publish, distribute, sublicense,\n# and/or sell copies of the Software, and to permit persons to whom the\n# Software is furnished to do so, subject to the following conditions:\n#\n# The above copyright notice and this permission notice shall be included in\n# all copies or substantial portions of the Software.\n#\n# THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL\n# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n# DEALINGS IN THE SOFTWARE.\n\nimport os\nimport re\nimport sys\nimport subprocess\n\nfrom setuptools import find_packages, setup\n\nos.chdir(os.path.split(os.path.abspath(__file__))[0])\n\nPKG = \"hy\"\nVERSIONFILE = os.path.join(PKG, \"version.py\")\ntry:\n    __version__ = (subprocess.check_output\n        ([\"git\", \"describe\", \"--tags\", \"--dirty\"])\n        .decode('ASCII').strip()\n        .replace('-', '+', 1).replace('-', '.'))\n    with open(VERSIONFILE, \"wt\") as o:\n        o.write(\"__version__ = {!r}\\n\".format(__version__))\nexcept subprocess.CalledProcessError:\n    __version__ = \"unknown\"\n\nlong_description = \"\"\"Hy is a Python <--> Lisp layer. It helps\nmake things work nicer, and lets Python and the Hy lisp variant play\nnice together. \"\"\"\n\ninstall_requires = ['rply>=0.7.0', 'astor>=0.5', 'clint>=0.4']\nif sys.version_info[:2] < (2, 7):\n    install_requires.append('argparse>=1.2.1')\n    install_requires.append('importlib>=1.0.2')\nif os.name == 'nt':\n    install_requires.append('pyreadline>=2.1')\n\nver = sys.version_info[0]\n\nsetup(\n    name=PKG,\n    version=__version__,\n    install_requires=install_requires,\n    entry_points={\n        'console_scripts': [\n            'hy = hy.cmdline:hy_main',\n            'hy%d = hy.cmdline:hy_main' % ver,\n            'hyc = hy.cmdline:hyc_main',\n            'hyc%d = hy.cmdline:hyc_main' % ver,\n            'hy2py = hy.cmdline:hy2py_main',\n            'hy2py%d = hy.cmdline:hy2py_main' % ver,\n        ]\n    },\n    packages=find_packages(exclude=['tests*']),\n    package_data={\n        'hy.contrib': ['*.hy'],\n        'hy.core': ['*.hy'],\n    },\n    author=\"Paul Tagliamonte\",\n    author_email=\"tag@pault.ag\",\n    long_description=long_description,\n    description='Lisp and Python love each other.',\n    license=\"Expat\",\n    url=\"http://hylang.org/\",\n    platforms=['any'],\n    classifiers=[\n        \"Development Status :: 4 - Beta\",\n        \"Intended Audience :: Developers\",\n        \"License :: DFSG approved\",\n        \"License :: OSI Approved :: MIT License\",  # Really \"Expat\". Ugh.\n        \"Operating System :: OS Independent\",\n        \"Programming Language :: Lisp\",\n        \"Programming Language :: Python\",\n        \"Programming Language :: Python :: 2\",\n        \"Programming Language :: Python :: 2.6\",\n        \"Programming Language :: Python :: 2.7\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.3\",\n        \"Programming Language :: Python :: 3.4\",\n        \"Programming Language :: Python :: 3.5\",\n        \"Topic :: Software Development :: Code Generators\",\n        \"Topic :: Software Development :: Compilers\",\n        \"Topic :: Software Development :: Libraries\",\n    ]\n)\n", "path": "setup.py"}]}