capstone-engine / capstone

Capstone disassembly/disassembler framework for ARM, ARM64 (ARMv8), Alpha, BPF, Ethereum VM, HPPA, LoongArch, M68K, M680X, Mips, MOS65XX, PPC, RISC-V(rv32G/rv64G), SH, Sparc, SystemZ, TMS320C64X, TriCore, Webassembly, XCore and X86.
http://www.capstone-engine.org
7.18k stars 1.52k forks source link

Create pyproject.toml and add python 3.12 to CI #2377

Closed twizmwazin closed 1 day ago

twizmwazin commented 1 month ago

Your checklist for this pull request

Detailed description

Right now installation fails on python 3.12 because distutils was removed. distutils are currently provided through the setuptools package. Using a pyproject.toml will tell modern python build tools to install setuptools prior to building capstone. I saw there is a separate PR to remove distutils, this is mostly orthogonal to that.

Once merged, I would like this cherry-picked to the v5 branch as well.

...

Test plan

Test that it builds and installs correctly on python 3.12. I've added an entry to the CI to ensure this.

...

Closing issues

Closes #2223 ...

XVilka commented 1 month ago

A duplicate of https://github.com/capstone-engine/capstone/pull/2369 ?

twizmwazin commented 1 day ago

Closing in favor of #2369