diff options
Diffstat (limited to 'dev-python/llvmlite/llvmlite-0.28.0.ebuild')
-rw-r--r-- | dev-python/llvmlite/llvmlite-0.28.0.ebuild | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/dev-python/llvmlite/llvmlite-0.28.0.ebuild b/dev-python/llvmlite/llvmlite-0.28.0.ebuild new file mode 100644 index 000000000000..a66288e9c0a7 --- /dev/null +++ b/dev-python/llvmlite/llvmlite-0.28.0.ebuild @@ -0,0 +1,63 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6,3_7} ) + +inherit distutils-r1 llvm + +DESCRIPTION="Python wrapper around the llvm C++ library" +HOMEPAGE="http://llvmlite.pydata.org/" +SRC_URI="https://github.com/numba/llvmlite/archive/v${PV/_/}.tar.gz -> ${P/_/}.gh.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="examples" + +LLVM_MAX_SLOT=7 + +RDEPEND=" + dev-python/six[${PYTHON_USEDEP}] + sys-devel/llvm:${LLVM_MAX_SLOT} + sys-libs/zlib:0= + virtual/python-enum34[${PYTHON_USEDEP}] +" +DEPEND="${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] +" + +S=${WORKDIR}/${P/_/} + +PATCHES=( + "${FILESDIR}"/llvmlite-0.15.0-use-system-six.patch +) + +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 +} + +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 +} |