Unset and forward user's LD_LIBRARY_PATH in cocotb

- If LD_LIBRARY_PATH is set in the environment, it overrides our path
  from extra_env which we use to help Verilator find the VPI libraries,
  so remove it from the environment.
- Add the LD_LIBRARY_PATH (if any) that was in the env already to our
  new LD_LIBRARY_PATH -- should avoid breakage on systems with fun
  configs.

Change-Id: Icdf712034db7c2e37c9c8f3d9bdee731f10091db
diff --git a/external/0006-Separate-build-from-test-for-Verilator.patch b/external/0006-Separate-build-from-test-for-Verilator.patch
index cfc36c4..85ba457 100644
--- a/external/0006-Separate-build-from-test-for-Verilator.patch
+++ b/external/0006-Separate-build-from-test-for-Verilator.patch
@@ -1,4 +1,4 @@
-From 30c00282d60839706f72e21aa5903f6443286af2 Mon Sep 17 00:00:00 2001
+From 4e7de9e20892973b46be2fb9761a670cf0509003 Mon Sep 17 00:00:00 2001
 From: Alex Van Damme <atv@google.com>
 Date: Thu, 10 Jul 2025 16:03:33 -0700
 Subject: [PATCH 6/6] Separate build from test for Verilator
@@ -6,8 +6,8 @@
 ---
  cocotb/BUILD.bazel       |  2 +-
  cocotb/cocotb.bzl        |  9 ++++++++-
- cocotb/cocotb_wrapper.py | 16 +++++++++++++++-
- 3 files changed, 24 insertions(+), 3 deletions(-)
+ cocotb/cocotb_wrapper.py | 17 ++++++++++++++++-
+ 3 files changed, 25 insertions(+), 3 deletions(-)
 
 diff --git a/cocotb/BUILD.bazel b/cocotb/BUILD.bazel
 index ed8a3a0..72b19fb 100644
@@ -55,7 +55,7 @@
          doc = "Verilog parameters or VHDL generics",
          default = {},
 diff --git a/cocotb/cocotb_wrapper.py b/cocotb/cocotb_wrapper.py
-index ce392a9..fce1b6e 100644
+index ce392a9..1703e4f 100644
 --- a/cocotb/cocotb_wrapper.py
 +++ b/cocotb/cocotb_wrapper.py
 @@ -165,6 +165,11 @@ def cocotb_argument_parser():
@@ -70,7 +70,7 @@
  
      return parser
  
-@@ -188,7 +193,16 @@ if __name__ == "__main__":
+@@ -188,7 +193,17 @@ if __name__ == "__main__":
  
      cocotb_tools.runner.MAX_PARALLEL_BUILD_JOBS = 32
      runner = get_runner(args.sim)
@@ -82,7 +82,8 @@
 +        r = runfiles.Create()
 +        sim_build = os.path.dirname(r.Rlocation(f"kelvin_hw/{args.model}"))
 +        test_flags['build_dir'] = sim_build
-+        test_flags['extra_env']['LD_LIBRARY_PATH'] = r.Rlocation("kelvin_hw/external/kelvin_pip_deps_cocotb/cocotb/libs")
++        test_flags['extra_env']['LD_LIBRARY_PATH'] = "{}:{}".format(r.Rlocation("kelvin_hw/external/kelvin_pip_deps_cocotb/cocotb/libs"), os.environ.get("LD_LIBRARY_PATH", ""))
++        os.environ.pop('LD_LIBRARY_PATH', None)
 +    else:
 +        runner.build(**build_flags)
      results_xml = runner.test(**test_flags)