Something went wrong. Try again.
Nix Packages collection & NixOS github.com/NixOS/nixpkgs
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364{ lib, buildPythonPackage, llvmPackages, setuptools, writeText, pytestCheckHook,}:
let libclang = llvmPackages.libclang;
pyproject_toml = writeText "pyproject.toml" '' [build-system] requires = ["setuptools>=42", "wheel"] build-backend = "setuptools.build_meta" '';
setup_cfg = writeText "setup.cfg" '' [metadata] name = clang version = ${libclang.version}
[options] packages = clang '';inbuildPythonPackage { pname = "clang"; pyproject = true;
inherit (libclang) version src;
buildInputs = [ setuptools ];
postUnpack = '' # set source root to python bindings if [ -e "$sourceRoot/clang/bindings/python" ]; then # LLVM 13+ puts clang sources in subdirectory instead of plain tarball sourceRoot="$sourceRoot/clang/bindings/python" else sourceRoot="$sourceRoot/bindings/python" fi '';
postPatch = '' # link in our own build info to build as a python package ln -s ${pyproject_toml} ./pyproject.toml ln -s ${setup_cfg} ./setup.cfg
# set passed libclang for runtime echo 'Config.set_library_path("${lib.getLib libclang}/lib")' >>./clang/cindex.py '';
nativeCheckInputs = [ pytestCheckHook ];
meta = libclang.meta // { description = "Python bindings for the C language family frontend for LLVM"; maintainers = [ ]; };}