diff options
author | Jimmy Olgeni <olgeni@FreeBSD.org> | 2010-01-03 16:17:30 +0000 |
---|---|---|
committer | Jimmy Olgeni <olgeni@FreeBSD.org> | 2010-01-03 16:17:30 +0000 |
commit | d45b729004eb7822142be6e06456e62343a91d3d (patch) | |
tree | 9205aa2ffe89c4dc00e99555bdc571fd61a6828a /lang | |
parent | c75f68c33fa8773dfc1dee8167b97c35d1750e91 (diff) | |
download | ports-d45b729004eb7822142be6e06456e62343a91d3d.tar.gz ports-d45b729004eb7822142be6e06456e62343a91d3d.zip |
Notes
Diffstat (limited to 'lang')
-rw-r--r-- | lang/Makefile | 1 | ||||
-rw-r--r-- | lang/ccl/Makefile | 82 | ||||
-rw-r--r-- | lang/ccl/distinfo | 3 | ||||
-rw-r--r-- | lang/ccl/files/ccl.sh.in | 6 | ||||
-rw-r--r-- | lang/ccl/pkg-descr | 23 | ||||
-rw-r--r-- | lang/ccl/pkg-plist | 4 |
6 files changed, 119 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile index 4993496794e0..2c13278f8349 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -21,6 +21,7 @@ SUBDIR += bsh SUBDIR += bwbasic SUBDIR += caml-light + SUBDIR += ccl SUBDIR += ccscript SUBDIR += cduce SUBDIR += cfortran diff --git a/lang/ccl/Makefile b/lang/ccl/Makefile new file mode 100644 index 000000000000..42a3ea813950 --- /dev/null +++ b/lang/ccl/Makefile @@ -0,0 +1,82 @@ +# New ports collection makefile for: ccl +# Date created: 2010-01-03 +# Whom: Jimmy Olgeni <olgeni@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= ccl +PORTVERSION= 1.4 +CATEGORIES= lang lisp +MASTER_SITES= ftp://ftp.clozure.com/pub/release/${PORTVERSION}/ +DISTNAME= ${PORTNAME}-${PORTVERSION}-freebsdx86 + +MAINTAINER= olgeni@FreeBSD.org +COMMENT= Clozure CL is a free Common Lisp implementation + +WRKSRC= ${WRKDIR}/ccl + +ONLY_FOR_ARCHS= i386 amd64 + +BUILD_SCRIPT= ${WRKSRC}/build.lisp +CCL_DIRECTORY= ${PREFIX}/lib/ccl +CCL_PLIST= ${WRKDIR}/pkg-plist +# the following files will not be installed +EXCLUDE= cocoa-ide lisp-kernel scripts + +.include <bsd.port.pre.mk> + +.if ${ARCH} == "i386" +LISP_ARCH= x8632 +FX86CL= fx86cl +EXCLUDE+= fx86cl64 fx86cl64.image +.elif ${ARCH} == "amd64" +LISP_ARCH= x8664 +FX86CL= fx86cl64 +EXCLUDE+= fx86cl fx86cl.image +.endif + +SUB_LIST+= FX86CL="${FX86CL}" CCL_DIRECTORY="${CCL_DIRECTORY}" +SUB_FILES= ccl.sh + +post-patch: + @${FIND} ${WRKSRC} -name .svn -or -name .cvsignore | ${XARGS} ${RM} -r -f + +do-build: + @${RM} -f ${WRKSRC}/fx86cl ${WRKSRC}/fx86cl64 + @cd ${WRKSRC}/lisp-kernel/freebsd${LISP_ARCH} && ${MAKE} && ${RM} -f *.o + @cd ${WRKSRC} && if ! ${ECHO_CMD} | ./${FX86CL} --batch --quiet >/dev/null 2>&1; then \ + ${ECHO_MSG} "===> This CPU doesn't support the SSE2 instruction set: cannot build port."; \ + exit 1; \ + fi + @${ECHO_CMD} "(ccl:rebuild-ccl :full t)" > ${BUILD_SCRIPT} + @${ECHO_CMD} "(quit)" >> ${BUILD_SCRIPT} + @cd ${WRKSRC} && (${ECHO_CMD} "(quit)" \ + | ./${FX86CL} --batch --quiet --load ${BUILD_SCRIPT}) + +do-install: + @${MKDIR} ${CCL_DIRECTORY} + @${CP} -r ${WRKSRC}/* ${CCL_DIRECTORY} + @for i in ${EXCLUDE}; do \ + ${RM} -r -f ${CCL_DIRECTORY}/$${i}; \ + done + @${INSTALL_SCRIPT} ${WRKDIR}/ccl.sh ${PREFIX}/bin/ccl + +post-install: + @cd ${PREFIX}; ${FIND} lib/ccl/* -type d -empty \ + | ${SORT} \ + | ${SED} -e 's#^#@exec ${MKDIR} %D/#g' \ + > ${CCL_PLIST} + @cd ${PREFIX}; ${FIND} lib/ccl/* -type f -o -type l \ + | ${SORT} \ + >> ${CCL_PLIST} + @cd ${PREFIX}; ${FIND} lib/ccl/* -type d | ${SORT} -r \ + | ${SED} -e 's/^/@dirrm /g' \ + >> ${CCL_PLIST} + @${ECHO_CMD} "r ${TMPPLIST}" > ${WRKDIR}/ex.script + @${ECHO_CMD} "/start" >> ${WRKDIR}/ex.script + @${ECHO_CMD} "r ${CCL_PLIST}" >> ${WRKDIR}/ex.script + @${ECHO_CMD} "x!" >> ${WRKDIR}/ex.script + @cd ${WRKDIR} && ex < ex.script > /dev/null + +.include <bsd.port.post.mk> diff --git a/lang/ccl/distinfo b/lang/ccl/distinfo new file mode 100644 index 000000000000..515b7ce34bf8 --- /dev/null +++ b/lang/ccl/distinfo @@ -0,0 +1,3 @@ +MD5 (ccl-1.4-freebsdx86.tar.gz) = 38dd85d5da7f9497de1f1e8ddfb25c48 +SHA256 (ccl-1.4-freebsdx86.tar.gz) = bf281d4480d425d8d048ea03b455ca1f2d7f2f3e8bd8347997176fc8f2b1059d +SIZE (ccl-1.4-freebsdx86.tar.gz) = 44002263 diff --git a/lang/ccl/files/ccl.sh.in b/lang/ccl/files/ccl.sh.in new file mode 100644 index 000000000000..374346328200 --- /dev/null +++ b/lang/ccl/files/ccl.sh.in @@ -0,0 +1,6 @@ +#!/bin/sh + +CCL_DEFAULT_DIRECTORY=%%CCL_DIRECTORY%% +export CCL_DEFAULT_DIRECTORY + +exec %%CCL_DIRECTORY%%/%%FX86CL%% "$@" diff --git a/lang/ccl/pkg-descr b/lang/ccl/pkg-descr new file mode 100644 index 000000000000..6888ef58fd41 --- /dev/null +++ b/lang/ccl/pkg-descr @@ -0,0 +1,23 @@ +Clozure CL (formerly known as OpenMCL) is a free Common Lisp +implementation. Features include: + + * A fast, precise, compacting, generational garbage collector + written in hand-optimized C. The sizes of the generations are + fully configurable. + + * Full native OS threads on all platforms. The API includes support + for shared memory, locking, and blocking for OS operations such + as I/O. + + * Full Unicode support. + + * Excellent debugging facilities. The names of all local variables + are available in a backtrace. + + * A complete, mature foreign function interface. + + * Many extensions including: files mapped to Common Lisp vectors + for fast file I/O; thread local hash tables and streams to + eliminate locking overhead; cons hashing support. + +WWW: http://www.clozure.com/clozurecl.html diff --git a/lang/ccl/pkg-plist b/lang/ccl/pkg-plist new file mode 100644 index 000000000000..48493ad32b70 --- /dev/null +++ b/lang/ccl/pkg-plist @@ -0,0 +1,4 @@ +bin/ccl +@comment -=[ start of generated plist ]=- +@comment -=[ end of generated plist ]=- +@dirrm lib/ccl |