chipfoundry-cli 2.7.0__tar.gz → 2.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chipfoundry-cli
3
- Version: 2.7.0
3
+ Version: 2.7.1
4
4
  Summary: CLI tool to automate ChipFoundry project submission to SFTP server
5
5
  License: Apache-2.0
6
6
  License-File: LICENSE
@@ -1,2 +1,2 @@
1
1
  """ChipFoundry CLI package: Automate project submission to SFTP."""
2
- __version__ = "2.7.0"
2
+ __version__ = "2.7.1"
@@ -3661,8 +3661,13 @@ def setup(project_root, repo_owner, repo_name, branch, pdk, caravel_lite,
3661
3661
  )
3662
3662
  # Install from GitHub source (workaround: PyPI package is under efabless, we use chipfoundry repo)
3663
3663
  env = os.environ.copy()
3664
- if sys.platform == 'darwin':
3665
- env['LDSHARED'] = 'clang++ -dynamiclib -undefined dynamic_lookup'
3664
+ # cocotb 1.9.2 rewrites -bundle to -dynamiclib on the stdlib distutils
3665
+ # config, but an isolated pip build links with setuptools' vendored
3666
+ # distutils and never sees that change. Python 3.12+ has no stdlib
3667
+ # distutils, so this only applies to older interpreters. The venv is
3668
+ # created with sys.executable, so sys.version_info matches it.
3669
+ if sys.platform == 'darwin' and sys.version_info < (3, 12):
3670
+ env['SETUPTOOLS_USE_DISTUTILS'] = 'stdlib'
3666
3671
  subprocess.run(
3667
3672
  [
3668
3673
  venv_python, '-m', 'pip', 'install', '--upgrade', '--no-cache-dir',
@@ -3710,9 +3715,22 @@ def setup(project_root, repo_owner, repo_name, branch, pdk, caravel_lite,
3710
3715
  except subprocess.CalledProcessError as e:
3711
3716
  maybe_abort_no_space(e, "Cocotb setup")
3712
3717
  had_errors = True
3713
- console.print(f"[red]✗[/red] Failed to set up Cocotb: {e}")
3714
- if e.stderr:
3715
- console.print(f"[dim]{e.stderr}[/dim]")
3718
+ cmd_parts = e.cmd if isinstance(e.cmd, (list, tuple)) else [str(e.cmd)]
3719
+ is_cocotb_install = any(
3720
+ "caravel-sim-infrastructure" in str(part) for part in cmd_parts
3721
+ )
3722
+ if is_cocotb_install:
3723
+ console.print("[red]✗[/red] Failed to set up Cocotb")
3724
+ stderr = e.stderr or b""
3725
+ if isinstance(stderr, bytes):
3726
+ stderr = stderr.decode(errors="replace")
3727
+ tail = "\n".join(stderr.splitlines()[-25:])
3728
+ if tail:
3729
+ console.print(f"[dim]{tail}[/dim]")
3730
+ else:
3731
+ console.print(f"[red]✗[/red] Failed to set up Cocotb: {e}")
3732
+ if e.stderr:
3733
+ console.print(f"[dim]{e.stderr}[/dim]")
3716
3734
  except Exception as e:
3717
3735
  maybe_abort_no_space(e, "Cocotb setup")
3718
3736
  had_errors = True
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "chipfoundry-cli"
3
- version = "2.7.0"
3
+ version = "2.7.1"
4
4
  description = "CLI tool to automate ChipFoundry project submission to SFTP server"
5
5
  authors = ["ChipFoundry <marwan.abbas@chipfoundry.io>"]
6
6
  readme = "README.md"
File without changes