prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  "diff" files are ignored during "pip install ."
  in `setup.py` the "diff" is not listed: 
  https://github.com/kivy/python-for-android/blob/develop/setup.py
  ```python
  package_data = {'': ['*.tmpl',
                       '*.patch', ], }
  ```
  
  and therefore this `diff` patch:
  https://github.com/kivy/python-for-android/blob/develop/pythonforandroid/recipes/python3/patches/reproducible-buildinfo.diff
  
  is not installed during `pip` invocation:
  ```sh
  cd /tmp
  git clone --depth 1 https://github.com/kivy/python-for-android.git
  cd python-for-android
  pip install .
  ```
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 
  2 import glob
  3 from io import open  # for open(..,encoding=...) parameter in python 2
  4 from os import walk
  5 from os.path import join, dirname, sep
  6 import re
  7 from setuptools import setup, find_packages
  8 
  9 # NOTE: All package data should also be set in MANIFEST.in
  10 
  11 packages = find_packages()
  12 
  13 package_data = {'': ['*.tmpl',
  14                      '*.patch', ], }
  15 
  16 data_files = []
  17 
  18 
  19 # must be a single statement since buildozer is currently parsing it, refs:
  20 # https://github.com/kivy/buildozer/issues/722
  21 install_reqs = [
  22     'appdirs', 'colorama>=0.3.3', 'jinja2', 'six',
  23     'enum34; python_version<"3.4"', 'sh>=1.10; sys_platform!="nt"',
  24     'pep517<0.7.0', 'toml',
  25 ]
  26 # (pep517 and toml are used by pythonpackage.py)
  27 
  28 
  29 # By specifying every file manually, package_data will be able to
  30 # include them in binary distributions. Note that we have to add
  31 # everything as a 'pythonforandroid' rule, using '' apparently doesn't
  32 # work.
  33 def recursively_include(results, directory, patterns):
  34     for root, subfolders, files in walk(directory):
  35         for fn in files:
  36             if not any(glob.fnmatch.fnmatch(fn, pattern) for pattern in patterns):
  37                 continue
  38             filename = join(root, fn)
  39             directory = 'pythonforandroid'
  40             if directory not in results:
  41                 results[directory] = []
  42             results[directory].append(join(*filename.split(sep)[1:]))
  43 
  44 
  45 recursively_include(package_data, 'pythonforandroid/recipes',
  46                     ['*.patch', 'Setup*', '*.pyx', '*.py', '*.c', '*.h',
  47                      '*.mk', '*.jam', ])
  48 recursively_include(package_data, 'pythonforandroid/bootstraps',
  49                     ['*.properties', '*.xml', '*.java', '*.tmpl', '*.txt', '*.png',
  50                      '*.mk', '*.c', '*.h', '*.py', '*.sh', '*.jpg', '*.aidl',
  51                      '*.gradle', '.gitkeep', 'gradlew*', '*.jar', "*.patch", ])
  52 recursively_include(package_data, 'pythonforandroid/bootstraps',
  53                     ['sdl-config', ])
  54 recursively_include(package_data, 'pythonforandroid/bootstraps/webview',
  55                     ['*.html', ])
  56 recursively_include(package_data, 'pythonforandroid',
  57                     ['liblink', 'biglink', 'liblink.sh'])
  58 
  59 with open(join(dirname(__file__), 'README.md'),
  60           encoding="utf-8",
  61           errors="replace",
  62          ) as fileh:
  63     long_description = fileh.read()
  64 
  65 init_filen = join(dirname(__file__), 'pythonforandroid', '__init__.py')
  66 version = None
  67 try:
  68     with open(init_filen,
  69               encoding="utf-8",
  70               errors="replace"
  71              ) as fileh:
  72         lines = fileh.readlines()
  73 except IOError:
  74     pass
  75 else:
  76     for line in lines:
  77         line = line.strip()
  78         if line.startswith('__version__ = '):
  79             matches = re.findall(r'["\'].+["\']', line)
  80             if matches:
  81                 version = matches[0].strip("'").strip('"')
  82                 break
  83 if version is None:
  84     raise Exception('Error: version could not be loaded from {}'.format(init_filen))
  85 
  86 setup(name='python-for-android',
  87       version=version,
  88       description='Android APK packager for Python scripts and apps',
  89       long_description=long_description,
  90       long_description_content_type='text/markdown',
  91       python_requires=">=3.6.0",
  92       author='The Kivy team',
  93       author_email='kivy-dev@googlegroups.com',
  94       url='https://github.com/kivy/python-for-android',
  95       license='MIT',
  96       install_requires=install_reqs,
  97       entry_points={
  98           'console_scripts': [
  99               'python-for-android = pythonforandroid.entrypoints:main',
  100               'p4a = pythonforandroid.entrypoints:main',
  101               ],
  102           'distutils.commands': [
  103               'apk = pythonforandroid.bdistapk:BdistAPK',
  104               'aar = pythonforandroid.bdistapk:BdistAAR',
  105               ],
  106           },
  107       classifiers=[
  108           'Development Status :: 5 - Production/Stable',
  109           'Intended Audience :: Developers',
  110           'License :: OSI Approved :: MIT License',
  111           'Operating System :: Microsoft :: Windows',
  112           'Operating System :: OS Independent',
  113           'Operating System :: POSIX :: Linux',
  114           'Operating System :: MacOS :: MacOS X',
  115           'Operating System :: Android',
  116           'Programming Language :: C',
  117           'Programming Language :: Python :: 3',
  118           'Programming Language :: Python :: 3.6',
  119           'Programming Language :: Python :: 3.7',
  120           'Programming Language :: Python :: 3.8',
  121           'Topic :: Software Development',
  122           'Topic :: Utilities',
  123           ],
  124       packages=packages,
  125       package_data=package_data,
  126       )
  127
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -11,7 +11,8 @@
   packages = find_packages()
   
   package_data = {'': ['*.tmpl',
  -                     '*.patch', ], }
  +                     '*.patch',
  +                     '*.diff', ], }
   
   data_files = []
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -11,7 +11,8 @@\n packages = find_packages()\n \n package_data = {'': ['*.tmpl',\n-                     '*.patch', ], }\n+                     '*.patch',\n+                     '*.diff', ], }\n \n data_files = []\n", "issue": "\"diff\" files are ignored during \"pip install .\"\nin `setup.py` the \"diff\" is not listed: \r\nhttps://github.com/kivy/python-for-android/blob/develop/setup.py\r\n```python\r\npackage_data = {'': ['*.tmpl',\r\n                     '*.patch', ], }\r\n```\r\n\r\nand therefore this `diff` patch:\r\nhttps://github.com/kivy/python-for-android/blob/develop/pythonforandroid/recipes/python3/patches/reproducible-buildinfo.diff\r\n\r\nis not installed during `pip` invocation:\r\n```sh\r\ncd /tmp\r\ngit clone --depth 1 https://github.com/kivy/python-for-android.git\r\ncd python-for-android\r\npip install .\r\n```\r\n\n", "before_files": [{"content": "\nimport glob\nfrom io import open  # for open(..,encoding=...) parameter in python 2\nfrom os import walk\nfrom os.path import join, dirname, sep\nimport re\nfrom setuptools import setup, find_packages\n\n# NOTE: All package data should also be set in MANIFEST.in\n\npackages = find_packages()\n\npackage_data = {'': ['*.tmpl',\n                     '*.patch', ], }\n\ndata_files = []\n\n\n# must be a single statement since buildozer is currently parsing it, refs:\n# https://github.com/kivy/buildozer/issues/722\ninstall_reqs = [\n    'appdirs', 'colorama>=0.3.3', 'jinja2', 'six',\n    'enum34; python_version<\"3.4\"', 'sh>=1.10; sys_platform!=\"nt\"',\n    'pep517<0.7.0', 'toml',\n]\n# (pep517 and toml are used by pythonpackage.py)\n\n\n# By specifying every file manually, package_data will be able to\n# include them in binary distributions. Note that we have to add\n# everything as a 'pythonforandroid' rule, using '' apparently doesn't\n# work.\ndef recursively_include(results, directory, patterns):\n    for root, subfolders, files in walk(directory):\n        for fn in files:\n            if not any(glob.fnmatch.fnmatch(fn, pattern) for pattern in patterns):\n                continue\n            filename = join(root, fn)\n            directory = 'pythonforandroid'\n            if directory not in results:\n                results[directory] = []\n            results[directory].append(join(*filename.split(sep)[1:]))\n\n\nrecursively_include(package_data, 'pythonforandroid/recipes',\n                    ['*.patch', 'Setup*', '*.pyx', '*.py', '*.c', '*.h',\n                     '*.mk', '*.jam', ])\nrecursively_include(package_data, 'pythonforandroid/bootstraps',\n                    ['*.properties', '*.xml', '*.java', '*.tmpl', '*.txt', '*.png',\n                     '*.mk', '*.c', '*.h', '*.py', '*.sh', '*.jpg', '*.aidl',\n                     '*.gradle', '.gitkeep', 'gradlew*', '*.jar', \"*.patch\", ])\nrecursively_include(package_data, 'pythonforandroid/bootstraps',\n                    ['sdl-config', ])\nrecursively_include(package_data, 'pythonforandroid/bootstraps/webview',\n                    ['*.html', ])\nrecursively_include(package_data, 'pythonforandroid',\n                    ['liblink', 'biglink', 'liblink.sh'])\n\nwith open(join(dirname(__file__), 'README.md'),\n          encoding=\"utf-8\",\n          errors=\"replace\",\n         ) as fileh:\n    long_description = fileh.read()\n\ninit_filen = join(dirname(__file__), 'pythonforandroid', '__init__.py')\nversion = None\ntry:\n    with open(init_filen,\n              encoding=\"utf-8\",\n              errors=\"replace\"\n             ) as fileh:\n        lines = fileh.readlines()\nexcept IOError:\n    pass\nelse:\n    for line in lines:\n        line = line.strip()\n        if line.startswith('__version__ = '):\n            matches = re.findall(r'[\"\\'].+[\"\\']', line)\n            if matches:\n                version = matches[0].strip(\"'\").strip('\"')\n                break\nif version is None:\n    raise Exception('Error: version could not be loaded from {}'.format(init_filen))\n\nsetup(name='python-for-android',\n      version=version,\n      description='Android APK packager for Python scripts and apps',\n      long_description=long_description,\n      long_description_content_type='text/markdown',\n      python_requires=\">=3.6.0\",\n      author='The Kivy team',\n      author_email='kivy-dev@googlegroups.com',\n      url='https://github.com/kivy/python-for-android',\n      license='MIT',\n      install_requires=install_reqs,\n      entry_points={\n          'console_scripts': [\n              'python-for-android = pythonforandroid.entrypoints:main',\n              'p4a = pythonforandroid.entrypoints:main',\n              ],\n          'distutils.commands': [\n              'apk = pythonforandroid.bdistapk:BdistAPK',\n              'aar = pythonforandroid.bdistapk:BdistAAR',\n              ],\n          },\n      classifiers=[\n          'Development Status :: 5 - Production/Stable',\n          'Intended Audience :: Developers',\n          'License :: OSI Approved :: MIT License',\n          'Operating System :: Microsoft :: Windows',\n          'Operating System :: OS Independent',\n          'Operating System :: POSIX :: Linux',\n          'Operating System :: MacOS :: MacOS X',\n          'Operating System :: Android',\n          'Programming Language :: C',\n          'Programming Language :: Python :: 3',\n          'Programming Language :: Python :: 3.6',\n          'Programming Language :: Python :: 3.7',\n          'Programming Language :: Python :: 3.8',\n          'Topic :: Software Development',\n          'Topic :: Utilities',\n          ],\n      packages=packages,\n      package_data=package_data,\n      )\n", "path": "setup.py"}], "after_files": [{"content": "\nimport glob\nfrom io import open  # for open(..,encoding=...) parameter in python 2\nfrom os import walk\nfrom os.path import join, dirname, sep\nimport re\nfrom setuptools import setup, find_packages\n\n# NOTE: All package data should also be set in MANIFEST.in\n\npackages = find_packages()\n\npackage_data = {'': ['*.tmpl',\n                     '*.patch',\n                     '*.diff', ], }\n\ndata_files = []\n\n\n# must be a single statement since buildozer is currently parsing it, refs:\n# https://github.com/kivy/buildozer/issues/722\ninstall_reqs = [\n    'appdirs', 'colorama>=0.3.3', 'jinja2', 'six',\n    'enum34; python_version<\"3.4\"', 'sh>=1.10; sys_platform!=\"nt\"',\n    'pep517<0.7.0', 'toml',\n]\n# (pep517 and toml are used by pythonpackage.py)\n\n\n# By specifying every file manually, package_data will be able to\n# include them in binary distributions. Note that we have to add\n# everything as a 'pythonforandroid' rule, using '' apparently doesn't\n# work.\ndef recursively_include(results, directory, patterns):\n    for root, subfolders, files in walk(directory):\n        for fn in files:\n            if not any(glob.fnmatch.fnmatch(fn, pattern) for pattern in patterns):\n                continue\n            filename = join(root, fn)\n            directory = 'pythonforandroid'\n            if directory not in results:\n                results[directory] = []\n            results[directory].append(join(*filename.split(sep)[1:]))\n\n\nrecursively_include(package_data, 'pythonforandroid/recipes',\n                    ['*.patch', 'Setup*', '*.pyx', '*.py', '*.c', '*.h',\n                     '*.mk', '*.jam', ])\nrecursively_include(package_data, 'pythonforandroid/bootstraps',\n                    ['*.properties', '*.xml', '*.java', '*.tmpl', '*.txt', '*.png',\n                     '*.mk', '*.c', '*.h', '*.py', '*.sh', '*.jpg', '*.aidl',\n                     '*.gradle', '.gitkeep', 'gradlew*', '*.jar', \"*.patch\", ])\nrecursively_include(package_data, 'pythonforandroid/bootstraps',\n                    ['sdl-config', ])\nrecursively_include(package_data, 'pythonforandroid/bootstraps/webview',\n                    ['*.html', ])\nrecursively_include(package_data, 'pythonforandroid',\n                    ['liblink', 'biglink', 'liblink.sh'])\n\nwith open(join(dirname(__file__), 'README.md'),\n          encoding=\"utf-8\",\n          errors=\"replace\",\n         ) as fileh:\n    long_description = fileh.read()\n\ninit_filen = join(dirname(__file__), 'pythonforandroid', '__init__.py')\nversion = None\ntry:\n    with open(init_filen,\n              encoding=\"utf-8\",\n              errors=\"replace\"\n             ) as fileh:\n        lines = fileh.readlines()\nexcept IOError:\n    pass\nelse:\n    for line in lines:\n        line = line.strip()\n        if line.startswith('__version__ = '):\n            matches = re.findall(r'[\"\\'].+[\"\\']', line)\n            if matches:\n                version = matches[0].strip(\"'\").strip('\"')\n                break\nif version is None:\n    raise Exception('Error: version could not be loaded from {}'.format(init_filen))\n\nsetup(name='python-for-android',\n      version=version,\n      description='Android APK packager for Python scripts and apps',\n      long_description=long_description,\n      long_description_content_type='text/markdown',\n      python_requires=\">=3.6.0\",\n      author='The Kivy team',\n      author_email='kivy-dev@googlegroups.com',\n      url='https://github.com/kivy/python-for-android',\n      license='MIT',\n      install_requires=install_reqs,\n      entry_points={\n          'console_scripts': [\n              'python-for-android = pythonforandroid.entrypoints:main',\n              'p4a = pythonforandroid.entrypoints:main',\n              ],\n          'distutils.commands': [\n              'apk = pythonforandroid.bdistapk:BdistAPK',\n              'aar = pythonforandroid.bdistapk:BdistAAR',\n              ],\n          },\n      classifiers=[\n          'Development Status :: 5 - Production/Stable',\n          'Intended Audience :: Developers',\n          'License :: OSI Approved :: MIT License',\n          'Operating System :: Microsoft :: Windows',\n          'Operating System :: OS Independent',\n          'Operating System :: POSIX :: Linux',\n          'Operating System :: MacOS :: MacOS X',\n          'Operating System :: Android',\n          'Programming Language :: C',\n          'Programming Language :: Python :: 3',\n          'Programming Language :: Python :: 3.6',\n          'Programming Language :: Python :: 3.7',\n          'Programming Language :: Python :: 3.8',\n          'Topic :: Software Development',\n          'Topic :: Utilities',\n          ],\n      packages=packages,\n      package_data=package_data,\n      )\n", "path": "setup.py"}]}