Closed dbnicholson closed 2 years ago
Try declaring your relative recipe directory path through buildozer.spec
. Buildozer transforms it through os.path.realpath
to make things work.
I'm not using buildozer, but it should be easy enough to have p4a DTRT:
diff --git a/pythonforandroid/toolchain.py b/pythonforandroid/toolchain.py
index 9badb0d9..7d34891f 100644
--- a/pythonforandroid/toolchain.py
+++ b/pythonforandroid/toolchain.py
@@ -720,7 +720,7 @@ class ToolchainCL:
self._archs = args.arch
- self.ctx.local_recipes = args.local_recipes
+ self.ctx.local_recipes = realpath(args.local_recipes)
self.ctx.copy_libs = args.copy_libs
self.ctx.activity_class_name = args.activity_class_name
Just need to turn it into a proper PR.
Checklist
p4a.branch = develop
)Versions
Description
A patch with a relative path in a local recipe can't be applied because the patch can't be found:
The problem is that
-d
changes the directory before reading the patch passed with-i
. With a normal recipe, the path to-i
is absolute because it's derived fromContext.root_dir
, which is absolute. Unless the caller passes an absolute path to--local-recipes
, the local recipe patch path will also be relative.buildozer.spec
N/A
Logs