3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-11-06 14:26:04 +00:00

pyosys: uv for non-wheel builds, update instructions

- add `uv` to dependencies: saves builder(s) from manually having to manage a venv for python build dependencies
  - when building wheels, pip automatically creates the environment with those dependencies, so no need for uv
  - when running simply `make ENABLE_PYOSYS=1`, this is not the case. people attempting to `pip3 install --upgrade pybind11 cxxheaderparser` to add it to their system packages will be met with a scare message about "breaking system packages"
- update installation instructions to drop boost and add uv instead
- update ci scripts to use `macos-15[-intel]` (`macos-13` sunset in early december)
This commit is contained in:
Mohamed Gaber 2025-10-18 14:58:56 +03:00
parent d0a41d4f58
commit e9733d681d
No known key found for this signature in database
9 changed files with 32 additions and 16 deletions

View file

@ -99,8 +99,8 @@ Installing all prerequisites for Ubuntu 22.04:
sudo apt-get install gperf build-essential clang lld bison flex libfl-dev \
libreadline-dev gawk tcl-dev libffi-dev git \
graphviz xdot pkg-config python3 libboost-system-dev \
libboost-python-dev libboost-filesystem-dev zlib1g-dev
graphviz xdot pkg-config python3-dev zlib1g-dev
curl -LsSf https://astral.sh/uv/install.sh | sh
Installing all prerequisites for macOS 13 (with Homebrew):
@ -141,7 +141,7 @@ For Cygwin use the following command to install all prerequisites, or select the
missing `strdup` function when using gcc. It is instead recommended to use
Windows Subsystem for Linux (WSL) and follow the instructions for Ubuntu.
..
..
For MSYS2 (MINGW64):
.. code:: console
@ -215,7 +215,7 @@ Running the build system
From the root ``yosys`` directory, call the following commands:
.. code:: console
make
sudo make install
@ -228,7 +228,7 @@ To use a separate (out-of-tree) build directory, provide a path to the Makefile.
Out-of-tree builds require a clean source tree.
.. seealso::
.. seealso::
Refer to :doc:`/yosys_internals/extending_yosys/test_suites` for details on
testing Yosys once compiled.

View file

@ -28,6 +28,14 @@ methods:
``yosys -y ./my_pyosys_script.py``
Do note this requires some build-time dependencies to be available to Python,
namely, ``pybind11`` and ``cxxheaderparser``. By default, the required
``uv`` package will be used to create an ephemeral environment with the
correct versions of the tools installed.
You can force use of your current Python environment by passing the Makefile
flag ``PYOSYS_USE_UV=0``.
2. Installing the Pyosys wheels
On macOS and GNU/Linux you can install pre-built wheels of Yosys using