From 1a25eb79e1d45475cab670e17e1518c30fdee5ec Mon Sep 17 00:00:00 2001 From: Jimmy Olgeni Date: Wed, 20 Jan 2010 21:48:31 +0000 Subject: Add cl-cffi, a portable foreign function interface for Common Lisp with a cl-uffi compatibility layer. --- devel/cl-cffi/Makefile | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ devel/cl-cffi/distinfo | 21 ++++++++++++++ devel/cl-cffi/pkg-descr | 14 ++++++++++ devel/cl-cffi/pkg-plist | 66 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 174 insertions(+) create mode 100644 devel/cl-cffi/Makefile create mode 100644 devel/cl-cffi/distinfo create mode 100644 devel/cl-cffi/pkg-descr create mode 100644 devel/cl-cffi/pkg-plist (limited to 'devel/cl-cffi') diff --git a/devel/cl-cffi/Makefile b/devel/cl-cffi/Makefile new file mode 100644 index 000000000000..3005ee04434b --- /dev/null +++ b/devel/cl-cffi/Makefile @@ -0,0 +1,73 @@ +# New ports collection makefile for: cl-cffi +# Date created: 20 January 2010 +# Whom: Jimmy Olgeni +# +# $FreeBSD$ + +PORTNAME= cffi +PORTVERSION= 0.10.5 +CATEGORIES= devel lisp +MASTER_SITES= http://common-lisp.net/project/cffi/releases/:src \ + http://common-lisp.net/project/cffi/manual/:manual \ + http://common-lisp.net/project/cffi/spec/:spec +PKGNAMEPREFIX= cl- +DISTNAME= ${PORTNAME}_${PORTVERSION} +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:src \ + cffi-manual.html:manual \ + cffi-manual.txt:manual \ + cffi-manual.pdf:manual \ + cffi-sys-spec.html:spec \ + cffi-sys-spec.txt:spec \ + cffi-sys-spec.pdf:spec +DIST_SUBDIR= cffi +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} + +MAINTAINER= olgeni@FreeBSD.org +COMMENT= A portable foreign function interface for Common Lisp + +BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/alexandria.asd:${PORTSDIR}/devel/cl-alexandria \ +${LOCALBASE}/${CL_LIBDIR_REL}/trivial-features/trivial-features.asd:${PORTSDIR}/devel/cl-trivial-features \ + ${LOCALBASE}/${CL_LIBDIR_REL}/babel/babel.asd:${PORTSDIR}/converters/cl-babel +RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/alexandria.asd:${PORTSDIR}/devel/cl-alexandria \ +${LOCALBASE}/${CL_LIBDIR_REL}/trivial-features/trivial-features.asd:${PORTSDIR}/devel/cl-trivial-features \ + ${LOCALBASE}/${CL_LIBDIR_REL}/babel/babel.asd:${PORTSDIR}/converters/cl-babel + +NO_BUILD= yes + +USE_ASDF= yes + +do-install: + @${MKDIR} ${ASDF_PATHNAME} + @${MKDIR} ${ASDF_PATHNAME}/src + @${MKDIR} ${ASDF_PATHNAME}/grovel + @${MKDIR} ${ASDF_PATHNAME}/uffi-compat + @${INSTALL_DATA} ${WRKSRC}/src/*.lisp ${ASDF_PATHNAME}/src + @${INSTALL_DATA} ${WRKSRC}/grovel/*.lisp ${ASDF_PATHNAME}/grovel + @${INSTALL_DATA} ${WRKSRC}/uffi-compat/*.asd ${ASDF_PATHNAME}/uffi-compat + @${INSTALL_DATA} ${WRKSRC}/uffi-compat/*.lisp ${ASDF_PATHNAME}/uffi-compat + @${INSTALL_DATA} ${WRKSRC}/cffi.asd ${ASDF_PATHNAME} + @${INSTALL_DATA} ${WRKSRC}/cffi-uffi-compat.asd ${ASDF_PATHNAME} + @${INSTALL_DATA} ${WRKSRC}/cffi-grovel.asd ${ASDF_PATHNAME} + @${LN} -sf ${ASDF_PATHNAME}/*.asd ${ASDF_REGISTRY} +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + @${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR} +.for FILE in shareable-vectors.txt allegro-internals.txt mem-vector.txt + @${INSTALL_DATA} ${WRKSRC}/doc/${FILE} ${DOCSDIR} +.endfor + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/cffi-manual.html ${DOCSDIR} + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/cffi-manual.txt ${DOCSDIR} + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/cffi-manual.pdf ${DOCSDIR} + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/cffi-sys-spec.html ${DOCSDIR} + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/cffi-sys-spec.txt ${DOCSDIR} + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/cffi-sys-spec.pdf ${DOCSDIR} +.endif +.if !defined(NOPORTEXAMPLES) + @${MKDIR} ${EXAMPLESDIR} + @${MKDIR} ${EXAMPLESDIR}/tests + @${INSTALL_DATA} ${WRKSRC}/examples/* ${EXAMPLESDIR} + @${INSTALL_DATA} ${WRKSRC}/tests/* ${EXAMPLESDIR}/tests +.endif + +.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" +.include diff --git a/devel/cl-cffi/distinfo b/devel/cl-cffi/distinfo new file mode 100644 index 000000000000..6d20434bdebb --- /dev/null +++ b/devel/cl-cffi/distinfo @@ -0,0 +1,21 @@ +MD5 (cffi/cffi_0.10.5.tar.gz) = 1273768ac353f2c8387b1f39fc68a5cc +SHA256 (cffi/cffi_0.10.5.tar.gz) = c8a7b54fa22cbe4cd95f0a99d912fc123917dd5a2bd199f654a4baa39024189e +SIZE (cffi/cffi_0.10.5.tar.gz) = 182805 +MD5 (cffi/cffi-manual.html) = 17d96819a9359f56fab4f0128e6bfc1c +SHA256 (cffi/cffi-manual.html) = 5fe6e51cd2882827c28d3e42fa09d09313c5cd26ae54b2ca63b4fbcbe58195ba +SIZE (cffi/cffi-manual.html) = 379570 +MD5 (cffi/cffi-manual.txt) = c5b11e0c7616aa7fd8179e5f8a3e3ab5 +SHA256 (cffi/cffi-manual.txt) = 0ad3d23b6d72140511b12904d277fc56a3c44cde4dbeb125f7c3c9d0cbe682c8 +SIZE (cffi/cffi-manual.txt) = 168065 +MD5 (cffi/cffi-manual.pdf) = 206dc31227275032006b654068bd0bf0 +SHA256 (cffi/cffi-manual.pdf) = 55e5ef43608bee741314590b85a64b77ef0eb7f65304cdcd47cdb322e70476ca +SIZE (cffi/cffi-manual.pdf) = 524979 +MD5 (cffi/cffi-sys-spec.html) = 1db717481597dcaa7640490887f14c72 +SHA256 (cffi/cffi-sys-spec.html) = b29aaa8cef68453c4dfffab937a269e20ac025d2cfdf79649378d8f84dbbc241 +SIZE (cffi/cffi-sys-spec.html) = 30021 +MD5 (cffi/cffi-sys-spec.txt) = 647be62937520f7422bb02ecc79bd565 +SHA256 (cffi/cffi-sys-spec.txt) = 9a0c70219cdc50f4e27c7753a87b781a9082c10eb2f7b91f15cc7c389adabe55 +SIZE (cffi/cffi-sys-spec.txt) = 11512 +MD5 (cffi/cffi-sys-spec.pdf) = 3ada800127f972c3737b8ed5bcdc5873 +SHA256 (cffi/cffi-sys-spec.pdf) = 2ca9ba221636f7713cb1b28434cd9164443930c76130a18a6d4e343516399ad0 +SIZE (cffi/cffi-sys-spec.pdf) = 123642 diff --git a/devel/cl-cffi/pkg-descr b/devel/cl-cffi/pkg-descr new file mode 100644 index 000000000000..9903c5d5e3e9 --- /dev/null +++ b/devel/cl-cffi/pkg-descr @@ -0,0 +1,14 @@ +CFFI, the Common Foreign Function Interface, purports to be a +portable foreign function interface for Common Lisp. The CFFI library +is composed of a Lisp-implementation-specific backend in the CFFI-SYS +package, and a portable frontend in the CFFI package. + +The CFFI-SYS backend package defines a low-level interface to the +native FFI support in the Lisp implementation. It offers operators +for allocating and dereferencing foreign memory, calling foreign +functions, and loading shared libraries. The CFFI frontend provides +a declarative interface for defining foreign functions, structures, +typedefs, enumerated types, etc. It is implemented in portable ANSI +CL making use of the low-level operators exported by CFFI-SYS. + +WWW: http://common-lisp.net/project/cffi/ diff --git a/devel/cl-cffi/pkg-plist b/devel/cl-cffi/pkg-plist new file mode 100644 index 000000000000..85a3f4e3b129 --- /dev/null +++ b/devel/cl-cffi/pkg-plist @@ -0,0 +1,66 @@ +%%LIB32DIR%%/common-lisp/cffi/cffi-grovel.asd +%%LIB32DIR%%/common-lisp/cffi/cffi-uffi-compat.asd +%%LIB32DIR%%/common-lisp/cffi/cffi.asd +%%LIB32DIR%%/common-lisp/cffi/grovel/asdf.lisp +%%LIB32DIR%%/common-lisp/cffi/grovel/grovel.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-allegro.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-clisp.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-cmucl.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-corman.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-ecl.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-gcl.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-lispworks.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-openmcl.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-sbcl.lisp +%%LIB32DIR%%/common-lisp/cffi/src/cffi-scl.lisp +%%LIB32DIR%%/common-lisp/cffi/src/early-types.lisp +%%LIB32DIR%%/common-lisp/cffi/src/enum.lisp +%%LIB32DIR%%/common-lisp/cffi/src/features.lisp +%%LIB32DIR%%/common-lisp/cffi/src/foreign-vars.lisp +%%LIB32DIR%%/common-lisp/cffi/src/functions.lisp +%%LIB32DIR%%/common-lisp/cffi/src/libraries.lisp +%%LIB32DIR%%/common-lisp/cffi/src/package.lisp +%%LIB32DIR%%/common-lisp/cffi/src/strings.lisp +%%LIB32DIR%%/common-lisp/cffi/src/types.lisp +%%LIB32DIR%%/common-lisp/cffi/src/utils.lisp +%%LIB32DIR%%/common-lisp/cffi/uffi-compat/uffi-compat.lisp +%%LIB32DIR%%/common-lisp/cffi/uffi-compat/uffi.asd +%%LIB32DIR%%/common-lisp/system-registry/cffi-grovel.asd +%%LIB32DIR%%/common-lisp/system-registry/cffi-uffi-compat.asd +%%LIB32DIR%%/common-lisp/system-registry/cffi.asd +%%DOCSDIR%%/README +%%DOCSDIR%%/allegro-internals.txt +%%DOCSDIR%%/cffi-manual.html +%%DOCSDIR%%/cffi-manual.pdf +%%DOCSDIR%%/cffi-manual.txt +%%DOCSDIR%%/cffi-sys-spec.html +%%DOCSDIR%%/cffi-sys-spec.pdf +%%DOCSDIR%%/cffi-sys-spec.txt +%%DOCSDIR%%/mem-vector.txt +%%DOCSDIR%%/shareable-vectors.txt +%%EXAMPLESDIR%%/examples.lisp +%%EXAMPLESDIR%%/gethostname.lisp +%%EXAMPLESDIR%%/gettimeofday.lisp +%%EXAMPLESDIR%%/mapping.lisp +%%EXAMPLESDIR%%/run-examples.lisp +%%EXAMPLESDIR%%/tests/GNUmakefile +%%EXAMPLESDIR%%/tests/Makefile +%%EXAMPLESDIR%%/tests/bindings.lisp +%%EXAMPLESDIR%%/tests/callbacks.lisp +%%EXAMPLESDIR%%/tests/compile.bat +%%EXAMPLESDIR%%/tests/defcfun.lisp +%%EXAMPLESDIR%%/tests/enum.lisp +%%EXAMPLESDIR%%/tests/foreign-globals.lisp +%%EXAMPLESDIR%%/tests/funcall.lisp +%%EXAMPLESDIR%%/tests/libtest.c +%%EXAMPLESDIR%%/tests/libtest2.c +%%EXAMPLESDIR%%/tests/memory.lisp +%%EXAMPLESDIR%%/tests/misc-types.lisp +%%EXAMPLESDIR%%/tests/misc.lisp +%%EXAMPLESDIR%%/tests/package.lisp +%%EXAMPLESDIR%%/tests/random-tester.lisp +%%EXAMPLESDIR%%/tests/run-tests.lisp +%%EXAMPLESDIR%%/tests/strings.lisp +%%EXAMPLESDIR%%/tests/struct.lisp +%%EXAMPLESDIR%%/tests/union.lisp +%%EXAMPLESDIR%%/translator-test.lisp -- cgit v1.2.3