gnu: python-llvmlite: Update to 0.34.0.
This is in preparation of updating the broken python-numba package. * gnu/packages/llvm.scm (python-llvmlite): Update to 0.34.0. [arguments]: Enable tests. [phases]{patch-reference-to-llvmlite, skip-failing-tests} {set-compiler/linker-flags}: New phases. [inputs]: Update custom LLVM input and associated patches. [home-page]: Use HTTPS.master
parent
9e4c24ef90
commit
8a34f29292
|
@ -16,6 +16,7 @@
|
|||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1044,48 +1045,96 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
|
|||
(define-public python-llvmlite
|
||||
(package
|
||||
(name "python-llvmlite")
|
||||
(version "0.30.0")
|
||||
(version "0.34.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "llvmlite" version))
|
||||
(sha256
|
||||
(base32
|
||||
"01wspdc0xhnydl66jyhyr4ii16h3fnw6mjihiwnnxdxg9j6kkajf"))))
|
||||
"0qqzs6h34002ig2jn31vk08q9hh5kn84lhmv4bljz3yakg8y0gph"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; FIXME: One test fails unable to find libm.so
|
||||
;; https://github.com/numba/llvmlite/issues/537
|
||||
`(#:tests? #f))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-reference-to-llvmlite.so
|
||||
;; ctypes.CDLL uses dlopen to load libllvmlite.so, which
|
||||
;; fails, so locate it by its absolute path. Change it in
|
||||
;; ffi.py, not utils.py, because setup.py relies on the
|
||||
;; output of get_library_name for proper installation.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(libllvmlite.so (string-append out "/lib/python"
|
||||
,(version-major+minor
|
||||
(package-version python))
|
||||
"/site-packages/llvmlite/"
|
||||
"binding/libllvmlite.so")))
|
||||
(substitute* "llvmlite/binding/ffi.py"
|
||||
(("_lib_name = get_library_name\\(\\)")
|
||||
(format #f "_lib_name = ~s" libllvmlite.so)))
|
||||
#t)))
|
||||
(add-after 'unpack 'skip-failing-tests
|
||||
(lambda _
|
||||
(substitute* "llvmlite/tests/test_binding.py"
|
||||
((" def test_libm\\(self\\).*" all)
|
||||
(string-append " @unittest.skip('Fails on Guix')\n" all)))
|
||||
#t))
|
||||
(add-before 'build 'set-compiler/linker-flags
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((llvm (assoc-ref inputs "llvm")))
|
||||
;; Refer to ffi/Makefile.linux.
|
||||
(setenv "CPPFLAGS" "-fPIC")
|
||||
(setenv "LDFLAGS" (string-append "-Wl,-rpath="
|
||||
llvm "/lib"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("llvm"
|
||||
,(let ((patches-commit "486edd5fb2a6667feb5c865f300c0da73785434a"))
|
||||
,(let* ((patches-commit "061ab39e1d4591f3aa842458252a19ad01858167")
|
||||
(patch-uri (lambda (name)
|
||||
(string-append
|
||||
"https://raw.githubusercontent.com/numba/"
|
||||
"llvmlite/" patches-commit "/conda-recipes/"
|
||||
name)))
|
||||
(patch-origin (lambda (name hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (patch-uri name))
|
||||
(sha256 (base32 hash)))))
|
||||
(arch-independent-patches
|
||||
(list
|
||||
(patch-origin
|
||||
"partial-testing.patch"
|
||||
"1cwy4jsmijd838q0bylxl77vrwrb7ksijfly5062ay32303jmj86")
|
||||
(patch-origin
|
||||
"0001-Revert-Limit-size-of-non-GlobalValue-name.patch"
|
||||
"0n4k7za0smx6qwdipsh6x5lm7bfvzzb3p9r8q1zq1dqi4na21295"))))
|
||||
(if (string=? "aarch64-linux" (%current-system))
|
||||
(package
|
||||
(inherit llvm-7)
|
||||
(inherit llvm-9)
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source llvm-7))
|
||||
(inherit (package-source llvm-9))
|
||||
(patches
|
||||
(list
|
||||
`(,(patch-origin
|
||||
"intel-D47188-svml-VF_LLVM9.patch"
|
||||
"1f9ld7wc8bn4gbvdsmk07w1rq371h42vy05rxsq9a22f57rljqbd")
|
||||
,@arch-independent-patches
|
||||
,@(origin-patches (package-source llvm-9)))))))
|
||||
(package
|
||||
(inherit llvm-10)
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://raw.githubusercontent.com/numba/"
|
||||
"llvmlite/" patches-commit "/conda-recipes/"
|
||||
"D47188-svml-VF.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wxhgb61k17f0zg2m0726sf3hppm41f8jar2kkg2n8sl5cnjj9mr")))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://raw.githubusercontent.com/numba/"
|
||||
"llvmlite/" patches-commit "/conda-recipes/"
|
||||
"twine_cfg_undefined_behavior.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"07h71n2m1mn9zcfgw04zglffknplb233zqbcd6pckq0wygkrxflp"))))))))))))
|
||||
(home-page "http://llvmlite.pydata.org")
|
||||
(inherit (package-source llvm-10))
|
||||
(patches
|
||||
`(,(patch-origin
|
||||
"intel-D47188-svml-VF.patch"
|
||||
"0n46qjwfl7i12bl7wp0cyxl277axfvaaz5lxx5kdlgwjcpa582dg")
|
||||
,(patch-origin
|
||||
"expect-fastmath-entrypoints-in-add-TLI-mappings.ll.patch"
|
||||
"0jxhjkkwwi1cy898l2n57l73ckpw0v73lqnrifp7r1mwpsh624nv")
|
||||
,@arch-independent-patches
|
||||
,@(origin-patches (package-source llvm-10))))))))))))
|
||||
(home-page "https://llvmlite.pydata.org")
|
||||
(synopsis "Wrapper around basic LLVM functionality")
|
||||
(description
|
||||
"This package provides a Python binding to LLVM for use in Numba.")
|
||||
|
|
Reference in New Issue