Date: Sat, 3 Sep 2016 19:56:55 +0000 (UTC) From: Kurt Jaeger <pi@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r421299 - in head/devel: . py-llvmlite Message-ID: <201609031956.u83JutcM018441@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: pi Date: Sat Sep 3 19:56:55 2016 New Revision: 421299 URL: https://svnweb.freebsd.org/changeset/ports/421299 Log: New port: devel/py-llvmlite A lightweight LLVM python binding for writing JIT compilers The old llvmpy binding exposes a lot of LLVM APIs but the mapping of C++-style memory management to Python is error prone. Numba and many JIT compilers do not need a full LLVM API. Only the IR builder, optimizer, and JIT compiler APIs are necessary. llvmlite is a project originally tailored for Numba's needs, using the following approach: - A small C wrapper around the parts of the LLVM C++ API we need that are not already exposed by the LLVM C API. - A ctypes Python wrapper around the C API. - A pure Python implementation of the subset of the LLVM IR builder that we need for Numba. WWW: https://github.com/numba/llvmlite PR: 211346 Submitted by: David Kalliecharan <dave@dal.ca> Added: head/devel/py-llvmlite/ head/devel/py-llvmlite/Makefile (contents, props changed) head/devel/py-llvmlite/distinfo (contents, props changed) head/devel/py-llvmlite/pkg-descr (contents, props changed) Modified: head/devel/Makefile Modified: head/devel/Makefile ============================================================================== --- head/devel/Makefile Sat Sep 3 19:40:56 2016 (r421298) +++ head/devel/Makefile Sat Sep 3 19:56:55 2016 (r421299) @@ -4229,6 +4229,7 @@ SUBDIR += py-libzfs SUBDIR += py-ll-core SUBDIR += py-llfuse + SUBDIR += py-llvmlite SUBDIR += py-lock_file SUBDIR += py-lockfile SUBDIR += py-log4py Added: head/devel/py-llvmlite/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/py-llvmlite/Makefile Sat Sep 3 19:56:55 2016 (r421299) @@ -0,0 +1,36 @@ +# Created by: David Kalliecharan <dave@dal.ca> +# $FreeBSD$ + +PORTNAME= llvmlite +PORTVERSION= 0.13.0 +CATEGORIES= devel python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= dave@dal.ca +COMMENT= Lightweight LLVM python binding for writing JIT compilers + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BROKEN_FreeBSD_9= llvm38 does not find include cmath + +# Python 2.7,3.4+ +USES= python +USE_PYTHON= distutils autoplist + +.include <bsd.port.pre.mk> + +# llvmlite-0.13.0 requires devel/llvm38 +LLVM_VER= 38 + +# Python 2.7 requires enum34, unnecessary for Python 3.4+ +.if ${PYTHON_REL} < 3400 +BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}enum34>0:devel/py-enum34 +.endif + +BUILD_DEPENDS+= llvm-config${LLVM_VER}:devel/llvm${LLVM_VER} + +MAKE_ENV= LLVM_CONFIG=${LOCALBASE}/bin/llvm-config${LLVM_VER} + +.include <bsd.port.post.mk> Added: head/devel/py-llvmlite/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/py-llvmlite/distinfo Sat Sep 3 19:56:55 2016 (r421299) @@ -0,0 +1,3 @@ +TIMESTAMP = 1472612799 +SHA256 (llvmlite-0.13.0.tar.gz) = f852be3391acb2e77ef484c5d0ff90e7cf2821dcf9575e358a1f08c274c582eb +SIZE (llvmlite-0.13.0.tar.gz) = 92200 Added: head/devel/py-llvmlite/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/py-llvmlite/pkg-descr Sat Sep 3 19:56:55 2016 (r421299) @@ -0,0 +1,17 @@ +A lightweight LLVM python binding for writing JIT compilers + +The old llvmpy binding exposes a lot of LLVM APIs but the mapping +of C++-style memory management to Python is error prone. Numba and +many JIT compilers do not need a full LLVM API. Only the IR builder, +optimizer, and JIT compiler APIs are necessary. + +llvmlite is a project originally tailored for Numba's needs, using +the following approach: + +- A small C wrapper around the parts of the LLVM C++ API we need + that are not already exposed by the LLVM C API. +- A ctypes Python wrapper around the C API. +- A pure Python implementation of the subset of the LLVM IR builder + that we need for Numba. + +WWW: https://github.com/numba/llvmlite
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609031956.u83JutcM018441>