diff options
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/py-llvmlite/Makefile | 36 | ||||
-rw-r--r-- | devel/py-llvmlite/distinfo | 3 | ||||
-rw-r--r-- | devel/py-llvmlite/pkg-descr | 17 |
4 files changed, 57 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index accf309ab61f..3351c526d3d8 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -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 diff --git a/devel/py-llvmlite/Makefile b/devel/py-llvmlite/Makefile new file mode 100644 index 000000000000..e573557a6b37 --- /dev/null +++ b/devel/py-llvmlite/Makefile @@ -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> diff --git a/devel/py-llvmlite/distinfo b/devel/py-llvmlite/distinfo new file mode 100644 index 000000000000..6ce0b01f3c19 --- /dev/null +++ b/devel/py-llvmlite/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1472612799 +SHA256 (llvmlite-0.13.0.tar.gz) = f852be3391acb2e77ef484c5d0ff90e7cf2821dcf9575e358a1f08c274c582eb +SIZE (llvmlite-0.13.0.tar.gz) = 92200 diff --git a/devel/py-llvmlite/pkg-descr b/devel/py-llvmlite/pkg-descr new file mode 100644 index 000000000000..347b52cd7bdb --- /dev/null +++ b/devel/py-llvmlite/pkg-descr @@ -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 |