Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pyosys Wheels #4534

Merged
merged 8 commits into from
Oct 8, 2024
Merged

Pyosys Wheels #4534

merged 8 commits into from
Oct 8, 2024

Commits on Oct 7, 2024

  1. Pyosys Wheels

    * Created `setup.py`: Python package manifest to build `pyosys` wheels with a custom extension to build and include `libyosys.so` using Make
    * `.gitignore`: Added byproducts of the Python wheel build process
    * `Makefile`: Added `-undefined dynamic_lookup` to `libyosys.so` so missing symbols can be resolved by importing into a Python interpreter
    * `kernel/yosys.cc`: Gated `PyImport_AppendInittab` with `!Py_IsInitialized`; as of Python 3.12, the interpreter is already initialized and `PyImport_AppendInittab` would cause an exception to be raised
    * Created `wheels.yml`: CI workflow for building wheels for CPython on:
      * Linux (glibc, musl) and Darwin
      * x86-64 and arm64
    donn committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    407343a View commit details
    Browse the repository at this point in the history
  2. wheels: more compatibility

    * Update manylinux images
    * FFI now built as a per-platform static library
    * Explicitly set minimum macOS deployment target, use clang on macOS
    * Try enabling Windows (as an experiment)
    * Disable aarch64-linux, aarch64-windows
    donn committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    ab4ea84 View commit details
    Browse the repository at this point in the history
  3. Add test, shell for windows

    donn committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    ab84c10 View commit details
    Browse the repository at this point in the history
  4. wheels: symlink python3-config

    donn committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    67f17a1 View commit details
    Browse the repository at this point in the history
  5. wheels: skip musllinux for now

    donn committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    08c23b7 View commit details
    Browse the repository at this point in the history
  6. wheels: convert versions to match pypa spec, add uploading

    * wheel versions now replace `+` with `.post` to match spec at https://packaging.python.org/en/latest/specifications/version-specifiers/
    * CI updates:
      * Bump action versions
      * Disabled Windows for now and documented why
      * Added a new job to upload all wheels
      * Added new variable, `PYPI_INDEX`: fallback 'https://pypi.org/' if unset
      * Added new secret, `PYPI_TOKEN`
    * .editorconfig now uses 2 spaces for YML (it kept setting mine to tabs
      and GitHub Actions doesn't like that)
    donn committed Oct 7, 2024
    Configuration menu
    Copy the full SHA
    0bb1f89 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    43128f6 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d7cf023 View commit details
    Browse the repository at this point in the history