Add Clozure CL, a free Common Lisp implementation that can be
bootstrapped from C code alone. Unfortunately this port does not support CPUs without the SSE2 instruction set, and will fail to build with a diagnostic message in those cases. Supported FreeBSD architectures are i386 and amd64. pkg-descr contains a quick description of the main Clozure CL features.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
SUBDIR += bsh
|
||||
SUBDIR += bwbasic
|
||||
SUBDIR += caml-light
|
||||
SUBDIR += ccl
|
||||
SUBDIR += ccscript
|
||||
SUBDIR += cduce
|
||||
SUBDIR += cfortran
|
||||
|
||||
82
lang/ccl/Makefile
Normal file
82
lang/ccl/Makefile
Normal file
@@ -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>
|
||||
3
lang/ccl/distinfo
Normal file
3
lang/ccl/distinfo
Normal file
@@ -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
|
||||
6
lang/ccl/files/ccl.sh.in
Normal file
6
lang/ccl/files/ccl.sh.in
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
CCL_DEFAULT_DIRECTORY=%%CCL_DIRECTORY%%
|
||||
export CCL_DEFAULT_DIRECTORY
|
||||
|
||||
exec %%CCL_DIRECTORY%%/%%FX86CL%% "$@"
|
||||
23
lang/ccl/pkg-descr
Normal file
23
lang/ccl/pkg-descr
Normal file
@@ -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
|
||||
4
lang/ccl/pkg-plist
Normal file
4
lang/ccl/pkg-plist
Normal file
@@ -0,0 +1,4 @@
|
||||
bin/ccl
|
||||
@comment -=[ start of generated plist ]=-
|
||||
@comment -=[ end of generated plist ]=-
|
||||
@dirrm lib/ccl
|
||||
Reference in New Issue
Block a user