diff options
author | 2021-11-30 14:22:59 +0100 | |
---|---|---|
committer | 2021-11-30 14:22:59 +0100 | |
commit | 0d75713d0f438263bb8fcbee0662e6ffe0a77159 (patch) | |
tree | 486b9aea51a199cac33805df21b2723f706f8b50 | |
parent | dev-java/lucene: switch to icu4j slot 52 (diff) | |
download | sci-0d75713d0f438263bb8fcbee0662e6ffe0a77159.tar.gz sci-0d75713d0f438263bb8fcbee0662e6ffe0a77159.tar.bz2 sci-0d75713d0f438263bb8fcbee0662e6ffe0a77159.zip |
dev-python/llvmlite: last-rites from ::gentoo
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
-rw-r--r-- | dev-python/llvmlite/Manifest | 1 | ||||
-rw-r--r-- | dev-python/llvmlite/llvmlite-0.37.0.ebuild | 60 | ||||
-rw-r--r-- | dev-python/llvmlite/metadata.xml | 18 |
3 files changed, 79 insertions, 0 deletions
diff --git a/dev-python/llvmlite/Manifest b/dev-python/llvmlite/Manifest new file mode 100644 index 000000000..317bf1f96 --- /dev/null +++ b/dev-python/llvmlite/Manifest @@ -0,0 +1 @@ +DIST llvmlite-0.37.0.gh.tar.gz 223602 BLAKE2B 74f975d5ac1782528f60f1c0d5c6230a02953e0d494d8323e4caa6651f642ad791ad51df44f6593da41edc5c34bd883f144e95b16f9b8962393d16de013fdbc5 SHA512 665f486fd38c9cc4ee91b15fc75f33451ada6391fc9f1b371091ece844693e0cd8e23766400bf76d9879e8f10f53f4e21f8bb19f3ff1e01c4a95ce9004b0884a diff --git a/dev-python/llvmlite/llvmlite-0.37.0.ebuild b/dev-python/llvmlite/llvmlite-0.37.0.ebuild new file mode 100644 index 000000000..d76175444 --- /dev/null +++ b/dev-python/llvmlite/llvmlite-0.37.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit distutils-r1 llvm + +DESCRIPTION="Python wrapper around the llvm C++ library" +HOMEPAGE="https://llvmlite.pydata.org/" +SRC_URI="https://github.com/numba/llvmlite/archive/v${PV/_/}.tar.gz -> ${P/_/}.gh.tar.gz" +S="${WORKDIR}/${P/_/}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="examples" + +LLVM_MAX_SLOT=11 + +RDEPEND=" + sys-devel/llvm:${LLVM_MAX_SLOT} + sys-libs/zlib:0= +" +DEPEND="${RDEPEND}" + +src_prepare() { + sed -i -e '/max_python/s:3\.10:3.11:' setup.py || die + distutils-r1_src_prepare +} + +python_configure_all() { + # upstream's build system is just horrible, and they ignored the PR + # fixing it, so let's build the shared lib properly using implicit + # make rules + + export LDLIBS=$(llvm-config --libs all) + export CXXFLAGS="$(llvm-config --cxxflags) -fPIC ${CXXFLAGS}" + export LDFLAGS="$(llvm-config --ldflags) ${LDFLAGS}" + + local files=( ffi/*.cpp ) + emake -f - <<EOF +ffi/libllvmlite.so: ${files[*]/.cpp/.o} + \$(CXX) -shared \$(CXXFLAGS) \$(LDFLAGS) -o \$@ \$^ \$(LDLIBS) +EOF + + export LLVMLITE_SKIP_LLVM_VERSION_CHECK=1 +} + +python_test() { + "${EPYTHON}" runtests.py -v || die "Tests failed under ${EPYTHON}" +} + +python_install_all() { + distutils-r1_python_install_all + if use examples; then + dodoc -r examples + docompress -x /usr/share/doc/${PF}/examples + fi +} diff --git a/dev-python/llvmlite/metadata.xml b/dev-python/llvmlite/metadata.xml new file mode 100644 index 000000000..0983f7a41 --- /dev/null +++ b/dev-python/llvmlite/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription> + llvmlite uses the LLVM library for JIT (just-in-time) compilation of + Python code into native machine instructions during runtime. Instead + of exposing large parts of the LLVM C++ API for direct calls into the + LLVM library, llvmlite follows a lightweight multi-layered approach. + </longdescription> + <upstream> + <remote-id type="pypi">llvmlite</remote-id> + <remote-id type="github">numba/llvmlite</remote-id> + </upstream> +</pkgmetadata> |