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,7 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2014, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.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 Dennis Mungai <dmngaie@gmail.com>
|
||||||
;;; Copyright © 2016, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2016, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||||
|
@ -1258,6 +1258,45 @@ (define-public python-llvmlite
|
||||||
"This package provides a Python binding to LLVM for use in Numba.")
|
"This package provides a Python binding to LLVM for use in Numba.")
|
||||||
(license license:bsd-3)))
|
(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
|
(define-public emacs-clang-format
|
||||||
(package
|
(package
|
||||||
(inherit clang)
|
(inherit clang)
|
||||||
|
|
Loading…
Reference in a new issue