mirror of
git://git.savannah.gnu.org/guix.git
synced 2023-12-14 03:33:07 +01:00
gnu: Add python-clang.
* gnu/packages/llvm.scm (clang-python-bindings): New procedure. (python-clang-10, python-clang-11, python-clang-12): New variables.
This commit is contained in:
parent
dd55ad7ff8
commit
f44fe1d5bf
1 changed files with 40 additions and 1 deletions
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
|
||||
;;; Copyright © 2016, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
|
@ -1258,6 +1258,45 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
|
|||
"This package provides a Python binding to LLVM for use in Numba.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public (clang-python-bindings clang)
|
||||
"Return a package for the Python bindings of CLANG."
|
||||
(package
|
||||
(inherit clang)
|
||||
(name "python-clang")
|
||||
(build-system python-build-system)
|
||||
(outputs '("out"))
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-before 'build 'change-directory
|
||||
(lambda _
|
||||
(chdir "bindings/python")))
|
||||
(add-before 'build 'create-setup-py
|
||||
(lambda _
|
||||
;; Generate a basic "setup.py", enough so it can be
|
||||
;; built and installed.
|
||||
(with-output-to-file "setup.py"
|
||||
(lambda ()
|
||||
(display "from setuptools import setup
|
||||
setup(name=\"clang\", packages=[\"clang\"])\n")))))
|
||||
(add-before 'build 'set-libclang-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Record the absolute file name of libclang.so.
|
||||
(let ((clang (assoc-ref inputs "clang")))
|
||||
(substitute* "clang/cindex.py"
|
||||
(("libclang\\.so")
|
||||
(string-append clang "/lib/libclang.so")))))))))
|
||||
(inputs `(("clang" ,clang)))
|
||||
(synopsis "Python bindings to libclang")))
|
||||
|
||||
(define-public python-clang-10
|
||||
(clang-python-bindings clang-10))
|
||||
|
||||
(define-public python-clang-11
|
||||
(clang-python-bindings clang-11))
|
||||
|
||||
(define-public python-clang-12
|
||||
(clang-python-bindings clang-12))
|
||||
|
||||
(define-public emacs-clang-format
|
||||
(package
|
||||
(inherit clang)
|
||||
|
|
Loading…
Reference in a new issue