Skip to content

symengine: add build-symengine.yml for riscv64 wheels - #1752

Open
luhenry wants to merge 2 commits into
mainfrom
symengine
Open

symengine: add build-symengine.yml for riscv64 wheels#1752
luhenry wants to merge 2 commits into
mainfrom
symengine

Conversation

@luhenry

@luhenry luhenry commented Sep 11, 2026

Copy link
Copy Markdown
Member

Cython wrappers around the SymEngine C++ symbolic-manipulation library, compiled from a from-source CMake build. Upstream publishes no riscv64 wheel.

Mirrors symengine-wheels' conda recipe, the actual process that builds the published PyPI wheels; symengine.py's own ci.yml tests against a system-installed SymEngine and never packages a wheel.

Differs from upstream

  • INTEGER_CLASS=gmp (default) instead of flint - flint-devel has no Rocky 10 package on any arch
  • WITH_LLVM stays off (default) - Rocky 10 only carries llvm-devel 21.x against upstream's llvmdev<17 pin; JIT is an optional backend
  • gmp/mpfr/libmpc come from Rocky 10's repos instead of conda-forge builds - build/link-time only

Testing

  • symengine.test(), upstream's own bin/test_python.py entry point, run against the installed wheel
  • adds sympy/numpy to exercise the optional SymPy-conversion and Lambdify tests

License: Wheel bundles libgmp (dual LGPL-3.0-or-later/GPL-2.0-or-later), libmpfr and libmpc (both LGPL-3.0-or-later); their licence texts are added alongside symengine.py's own MIT LICENSE.

Built on cp312; pending CI.

luhenry added a commit that referenced this pull request Sep 11, 2026
… build

SymEngineConfig.cmake declares cmake_minimum_required(VERSION 2.8.12) with no
upper bound; CMake 4 in the manylinux image refuses anything below 3.5 (gotcha 257).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant