diff --git a/pkgs/development/embedded/platformio/builder-prioritize-python-env-in-path.patch b/pkgs/development/embedded/platformio/builder-prioritize-python-env-in-path.patch new file mode 100644 index 000000000000..f9e60ce91a20 --- /dev/null +++ b/pkgs/development/embedded/platformio/builder-prioritize-python-env-in-path.patch @@ -0,0 +1,11 @@ +--- a/platformio/builder/main.py ++++ b/platformio/builder/main.py +@@ -46,6 +46,8 @@ clivars.AddVariables( + ("PROGRAM_ARGS",), + ) + ++os.environ["PATH"] = os.pathsep.join([os.path.dirname(get_pythonexe_path()), os.environ.get("PATH")]) ++ + DEFAULT_ENV_OPTIONS = dict( + tools=[ + "ar", diff --git a/pkgs/development/embedded/platformio/core.nix b/pkgs/development/embedded/platformio/core.nix index e4dfae81386d..541c119f3051 100644 --- a/pkgs/development/embedded/platformio/core.nix +++ b/pkgs/development/embedded/platformio/core.nix @@ -32,7 +32,7 @@ buildPythonApplication rec { patches = [ (replaceVars ./interpreter.patch { - interpreter = (python3Packages.python.withPackages (_: propagatedBuildInputs)).interpreter; + interpreter = (python3Packages.python.withPackages (_: dependencies)).interpreter; }) (replaceVars ./use-local-spdx-license-list.patch { spdx_license_list_data = spdx-license-list-data.json; @@ -45,6 +45,7 @@ buildPythonApplication rec { hash = "sha256-yq+/QHCkhAkFND11MbKFiiWT3oF1cHhgWj5JkYjwuY0="; revert = true; }) + ./builder-prioritize-python-env-in-path.patch ]; postPatch = '' @@ -57,13 +58,14 @@ buildPythonApplication rec { nativeBuildInputs = [ installShellFiles - setuptools udevCheckHook ]; + build-system = [ setuptools ]; + pythonRelaxDeps = true; - propagatedBuildInputs = [ + dependencies = [ aiofiles ajsonrpc bottle @@ -71,10 +73,13 @@ buildPythonApplication rec { click-completion colorama git + intelhex lockfile marshmallow + pip pyelftools pyserial + pyyaml requests semantic-version setuptools @@ -82,6 +87,7 @@ buildPythonApplication rec { starlette tabulate uvicorn + wheel wsproto zeroconf ]