diff --git a/Changelog.md b/Changelog.md index a4e2625e..02476787 100644 --- a/Changelog.md +++ b/Changelog.md @@ -14,6 +14,18 @@ ## Documentation --> +# 2.2.2 + +## Steps + +* `Odb.*` + * Fixed OpenROAD dropping user-set `PYTHONPATH` values. + +## Tool Updates + +* Use `NIX_PYTHONPATH` instead of `PYTHONPATH` in Docker and devshells + to avoid collisions with user-set `PYTHONPATH` variables. + # 2.2.1 This patch has no functional changes to OpenLane proper. diff --git a/nix/create-shell.nix b/nix/create-shell.nix index 31acb412..57f5fc49 100644 --- a/nix/create-shell.nix +++ b/nix/create-shell.nix @@ -59,7 +59,7 @@ in devshell.packages = packages; env = [ { - name = "PYTHONPATH"; + name = "NIX_PYTHONPATH"; value = "${openlane-env-sitepackages}"; } ]; diff --git a/nix/docker.nix b/nix/docker.nix index bfd0a33f..2737074f 100644 --- a/nix/docker.nix +++ b/nix/docker.nix @@ -72,7 +72,7 @@ in "LC_ALL=C.UTF-8" "LC_CTYPE=C.UTF-8" "EDITOR=nvim" - "PYTHONPATH=${openlane-env-sitepackages}" + "NIX_PYTHONPATH=${openlane-env-sitepackages}" "TMPDIR=/tmp" ]; image-config-extra-path = [ diff --git a/openlane/steps/odb.py b/openlane/steps/odb.py index b2e62735..121fff6b 100644 --- a/openlane/steps/odb.py +++ b/openlane/steps/odb.py @@ -83,7 +83,9 @@ def run(self, state_in, **kwargs) -> Tuple[ViewsUpdate, MetricsUpdate]: str(state_in[DesignFormat.ODB]), ] - env["PYTHONPATH"] = os.path.join(get_script_dir(), "odbpy") + env["PYTHONPATH"] = ( + f'{os.path.join(get_script_dir(), "odbpy")}:{env.get("PYTHONPATH")}' + ) subprocess_result = self.run_subprocess( command, diff --git a/pyproject.toml b/pyproject.toml index 04e54440..17f1b712 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "openlane" -version = "2.2.1" +version = "2.2.2" description = "An infrastructure for implementing chip design flows" authors = ["Efabless Corporation and Contributors "] readme = "Readme.md"