commit: 1de88f44b3baf872c87b30912ab646389dcc48bd Author: YiyangWu <xgreenlandforwyy <AT> gmail <DOT> com> AuthorDate: Sun Jan 16 06:55:22 2022 +0000 Commit: Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org> CommitDate: Sun Jan 16 09:38:18 2022 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=1de88f44
dev-python/llvmlite: bump version to 0.38.0 The llvm max slot is 11. >11 will cause compilation error Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Yiyang Wu <xgreenlandforwyy <AT> gmail.com> Closes: https://github.com/gentoo/sci/pull/1136 Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org> dev-python/llvmlite/llvmlite-0.38.0.ebuild | 60 ++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/dev-python/llvmlite/llvmlite-0.38.0.ebuild b/dev-python/llvmlite/llvmlite-0.38.0.ebuild new file mode 100644 index 000000000..cadbc5407 --- /dev/null +++ b/dev-python/llvmlite/llvmlite-0.38.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2022 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 +}
