Repository navigation
Conversation
The flow writes its GDS file and runs its DRC and LVS decks with KLayout's Python module, from the installer's Python packages, so the installer no longer installs the KLayout application. Deleted: - etc/DependencyInstaller.sh: klayoutVersion, and the KLayout install for each OS: the CentOS 7, CentOS 8 and Rocky Linux 9 RPMs with their version check and reinstall, the Ubuntu .deb with its md5 table per release and the "Unsupported Ubuntu version" exit, the build from source on Ubuntu aarch64 with its Qt, Ruby and libgit2 build dependencies, `klayout` from apt on rodete and the Homebrew cask on macOS. - env.sh: the KLayout.app PATH entry on macOS. - flow/scripts/variables.mk: the lookup of a KLayout built into tools/install/klayout, which nothing installs. KLAYOUT_CMD is the klayout on PATH unless set, and is exported bare. - docs/user/BuildWithPrebuilt.md: the KLayout version note and the LD_LIBRARY_PATH line for a KLayout built from source. A deprecated Ruby DRC/LVS deck, the gallery and the viewers still need the KLayout application, installed by those who use them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018PFLaCzFtFbnWE4nPTDwpC Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
There was a problem hiding this comment.
Code Review
This pull request simplifies the KLayout installation process by removing custom build and dependency management logic from the installation scripts and Makefiles, relying instead on system-provided packages. The review comment identifies a performance issue in the Makefile where the use of a deferred shell expansion for the KLayout command causes unnecessary shell spawning; it suggests a more efficient way to define the variable.
|
Folded into #4757 as its last commit, |
🔍 QoR checkMetrics reflect the PR merge build — i.e. what will land on the target branch. Commit 62 design(s) checked — 0 with regression(s), 62 without a comparable baseline. |
Before: the installer installed the KLayout application on every OS, because the flow wrote its GDS file and ran its DRC/LVS decks with it.
Now: the installer installs no KLayout application; the flow needs only KLayout's Python module, which #4757 brings in with the other Python packages.
Draft, and red until #4757 merges. This pull request does not contain #4757: on master the GDS merge still runs under the KLayout application, so without it the flow stops at the merge. Once #4757 is in master, pr-merge runs this on top of it and goes green; then this comes out of draft. It merges cleanly on top of #4757 (
git merge-tree).Deleted
etc/DependencyInstaller.sh:klayoutVersionand the KLayout install for each OS:.debdownload, its md5 table per release, and the "Unsupported Ubuntu version" exit, so KLayout's packaging no longer limits which Ubuntu releases the installer supports;klayoutfrom apt on rodete, and the Homebrew cask on macOS.env.sh: the KLayout.appPATHentry on macOS.flow/scripts/variables.mk: the lookup of a KLayout intools/install/klayout, which nothing installs.KLAYOUT_CMDis theklayoutonPATHunless set.docs/user/BuildWithPrebuilt.md: the KLayout version note and theLD_LIBRARY_PATHline for a KLayout built from source; it now says the GDS file, DRC and LVS use the Python module.Still needing the KLayout application
A deprecated Ruby DRC/LVS deck (unsupported after 2027-02-06, #4757), the gallery and the viewers. Whoever uses them installs it; without it they stop at
check-klayout, as on master.Tests
bash -n etc/DependencyInstaller.sh;make -nparses on asap7/gcd.🤖 Generated with Claude Code
https://claude.ai/code/session_018PFLaCzFtFbnWE4nPTDwpC