aboutsummaryrefslogtreecommitdiff
path: root/devel/cl-cffi
diff options
context:
space:
mode:
authorJimmy Olgeni <olgeni@FreeBSD.org>2010-01-20 21:48:31 +0000
committerJimmy Olgeni <olgeni@FreeBSD.org>2010-01-20 21:48:31 +0000
commit1a25eb79e1d45475cab670e17e1518c30fdee5ec (patch)
treeb96cea6439a852cf73fff26584e44d4f979d9609 /devel/cl-cffi
parent855a9feb8e51e54effe92aa9a79b83fae062cbc3 (diff)
downloadports-1a25eb79e1d45475cab670e17e1518c30fdee5ec.tar.gz
ports-1a25eb79e1d45475cab670e17e1518c30fdee5ec.zip
Add cl-cffi, a portable foreign function interface for Common Lisp
with a cl-uffi compatibility layer.
Notes
Notes: svn path=/head/; revision=248240
Diffstat (limited to 'devel/cl-cffi')
-rw-r--r--devel/cl-cffi/Makefile73
-rw-r--r--devel/cl-cffi/distinfo21
-rw-r--r--devel/cl-cffi/pkg-descr14
-rw-r--r--devel/cl-cffi/pkg-plist66
4 files changed, 174 insertions, 0 deletions
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 <olgeni@FreeBSD.org>
+#
+# $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 <bsd.port.mk>
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