We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Pin pyjnius version
This pull request adds a version pin for pyjnius as requested here: #1415 

Please note I am proposing this as a **permanent measure** because this is such a core component - not this specific version of course, but that it is always pinned.

Even if you just randomly bump the version up in any random commit without checking, this is a huge improvement: it will prevent p4a master builds from randomly failing out of the blue *when not even changing the commit*, and people will be able to go back to an earlier p4a master commit to avoid sudden pyjnius breakages instead of patching around in the recipes folder (which depending on the build pipeline might be quite a time waster to do, especially compared to just going back to a known working p4a master commit).

Summed up, please pin this, carelessly bump it whenever, and have less unhappy users. :smile:

(And I'm not proposing pinning *everything*, I know you have way too many recipes and people would forget to bump it, I understand - but at least the core components like pyjnius, would that possibly sound feasible?)

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `pythonforandroid/recipes/pyjnius/__init__.py`
Content:
```
1 from pythonforandroid.recipe import CythonRecipe
2 from pythonforandroid.toolchain import shprint, current_directory, info
3 from pythonforandroid.patching import will_build
4 import sh
5 from os.path import join
6 
7 
8 class PyjniusRecipe(CythonRecipe):
9     version = 'master'
10     url = 'https://github.com/kivy/pyjnius/archive/{version}.zip'
11     name = 'pyjnius'
12     depends = [('python2', 'python3crystax'), ('genericndkbuild', 'sdl2', 'sdl'), 'six']
13     site_packages_name = 'jnius'
14 
15     patches = [('sdl2_jnienv_getter.patch', will_build('sdl2')),
16                ('genericndkbuild_jnienv_getter.patch', will_build('genericndkbuild'))]
17 
18     def postbuild_arch(self, arch):
19         super(PyjniusRecipe, self).postbuild_arch(arch)
20         info('Copying pyjnius java class to classes build dir')
21         with current_directory(self.get_build_dir(arch.arch)):
22             shprint(sh.cp, '-a', join('jnius', 'src', 'org'), self.ctx.javaclass_dir)
23 
24 
25 recipe = PyjniusRecipe()
26
```
--- 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/pythonforandroid/recipes/pyjnius/__init__.py b/pythonforandroid/recipes/pyjnius/__init__.py
--- a/pythonforandroid/recipes/pyjnius/__init__.py
+++ b/pythonforandroid/recipes/pyjnius/__init__.py
@@ -6,7 +6,7 @@
 
 
 class PyjniusRecipe(CythonRecipe):
-    version = 'master'
+    version = '1.1.3'
     url = 'https://github.com/kivy/pyjnius/archive/{version}.zip'
     name = 'pyjnius'
     depends = [('python2', 'python3crystax'), ('genericndkbuild', 'sdl2', 'sdl'), 'six']

{"golden_diff": "diff --git a/pythonforandroid/recipes/pyjnius/__init__.py b/pythonforandroid/recipes/pyjnius/__init__.py\n--- a/pythonforandroid/recipes/pyjnius/__init__.py\n+++ b/pythonforandroid/recipes/pyjnius/__init__.py\n@@ -6,7 +6,7 @@\n \n \n class PyjniusRecipe(CythonRecipe):\n-    version = 'master'\n+    version = '1.1.3'\n     url = 'https://github.com/kivy/pyjnius/archive/{version}.zip'\n     name = 'pyjnius'\n     depends = [('python2', 'python3crystax'), ('genericndkbuild', 'sdl2', 'sdl'), 'six']\n", "issue": "Pin pyjnius version\nThis pull request adds a version pin for pyjnius as requested here: #1415 \r\n\r\nPlease note I am proposing this as a **permanent measure** because this is such a core component - not this specific version of course, but that it is always pinned.\r\n\r\nEven if you just randomly bump the version up in any random commit without checking, this is a huge improvement: it will prevent p4a master builds from randomly failing out of the blue *when not even changing the commit*, and people will be able to go back to an earlier p4a master commit to avoid sudden pyjnius breakages instead of patching around in the recipes folder (which depending on the build pipeline might be quite a time waster to do, especially compared to just going back to a known working p4a master commit).\r\n\r\nSummed up, please pin this, carelessly bump it whenever, and have less unhappy users. :smile:\r\n\r\n(And I'm not proposing pinning *everything*, I know you have way too many recipes and people would forget to bump it, I understand - but at least the core components like pyjnius, would that possibly sound feasible?)\n", "before_files": [{"content": "from pythonforandroid.recipe import CythonRecipe\nfrom pythonforandroid.toolchain import shprint, current_directory, info\nfrom pythonforandroid.patching import will_build\nimport sh\nfrom os.path import join\n\n\nclass PyjniusRecipe(CythonRecipe):\n    version = 'master'\n    url = 'https://github.com/kivy/pyjnius/archive/{version}.zip'\n    name = 'pyjnius'\n    depends = [('python2', 'python3crystax'), ('genericndkbuild', 'sdl2', 'sdl'), 'six']\n    site_packages_name = 'jnius'\n\n    patches = [('sdl2_jnienv_getter.patch', will_build('sdl2')),\n               ('genericndkbuild_jnienv_getter.patch', will_build('genericndkbuild'))]\n\n    def postbuild_arch(self, arch):\n        super(PyjniusRecipe, self).postbuild_arch(arch)\n        info('Copying pyjnius java class to classes build dir')\n        with current_directory(self.get_build_dir(arch.arch)):\n            shprint(sh.cp, '-a', join('jnius', 'src', 'org'), self.ctx.javaclass_dir)\n\n\nrecipe = PyjniusRecipe()\n", "path": "pythonforandroid/recipes/pyjnius/__init__.py"}], "after_files": [{"content": "from pythonforandroid.recipe import CythonRecipe\nfrom pythonforandroid.toolchain import shprint, current_directory, info\nfrom pythonforandroid.patching import will_build\nimport sh\nfrom os.path import join\n\n\nclass PyjniusRecipe(CythonRecipe):\n    version = '1.1.3'\n    url = 'https://github.com/kivy/pyjnius/archive/{version}.zip'\n    name = 'pyjnius'\n    depends = [('python2', 'python3crystax'), ('genericndkbuild', 'sdl2', 'sdl'), 'six']\n    site_packages_name = 'jnius'\n\n    patches = [('sdl2_jnienv_getter.patch', will_build('sdl2')),\n               ('genericndkbuild_jnienv_getter.patch', will_build('genericndkbuild'))]\n\n    def postbuild_arch(self, arch):\n        super(PyjniusRecipe, self).postbuild_arch(arch)\n        info('Copying pyjnius java class to classes build dir')\n        with current_directory(self.get_build_dir(arch.arch)):\n            shprint(sh.cp, '-a', join('jnius', 'src', 'org'), self.ctx.javaclass_dir)\n\n\nrecipe = PyjniusRecipe()\n", "path": "pythonforandroid/recipes/pyjnius/__init__.py"}]}