firmware/bin/apply_patches.py
2022-06-10 20:38:56 +02:00

27 lines
834 B
Python

from os.path import join, isfile
Import("env")
LIBRARY_DIR = join (env["PROJECT_LIBDEPS_DIR"], env["PIOENV"], "RadioLib")
patchflag_path = join(LIBRARY_DIR, ".patching-done")
patch = join(env["PROJECT_DIR"], "bin", "patch_ng.py")
# patch file only if we didn't do it before
if not isfile(join(LIBRARY_DIR, ".patching-done")):
original_path = join(LIBRARY_DIR)
patch_file = join(env["PROJECT_DIR"], "patches", "0001-RadioLib-SPItransfer-virtual.patch")
assert isfile(patch_file)
env.Execute(
env.VerboseAction(
"$PYTHONEXE %s -p 1 --directory=%s %s" % (patch, original_path, patch_file)
, "Applying patch to RadioLib"
)
)
def _touch(path):
with open(path, "w") as fp:
fp.write("")
env.Execute(lambda *args, **kwargs: _touch(patchflag_path))