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/ccl/Makefile | |
parent | c75f68c33fa8773dfc1dee8167b97c35d1750e91 (diff) |
Notes
Diffstat (limited to 'lang/ccl/Makefile')
-rw-r--r-- | lang/ccl/Makefile | 82 |
1 files changed, 82 insertions, 0 deletions
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> |