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()

```

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 = []

{"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"}]}