Index: Mk/Uses/cl.mk =================================================================== --- /dev/null +++ Mk/Uses/cl.mk @@ -0,0 +1,142 @@ +# Provide support for Common Lisp ports. +# +# Feature: cl +# Usage: USES=cl +# Valid ARGS: none +# +# Variables: +# CCL - Path to the Clozure Common Lisp compiler +# CLISP - Path to the GNU Common Lisp compiler +# SBCL - Path to the Steel Bank Common Lisp compiler +# LISP_EXTRA_ARG - Extra arguments for compiler used by fasl_BUILD ports +# CL_LIBDIR_REL - Common Lisp library directory, relative to LOCALBASE or PREFIX +# ASDF_PATHNAME - Where to install compiled fasl files (depends on fasl_DIR_REL) +# ASDF_REGISTRY - Path to ASDF registry +# DOCSDIR - DOCSDIR using PKGBASE (to account for optional cl- PKGNAMEPREFIX) +# EXAMPLESDIR - Same as above, for EXAMPLESDIR +# FASL_DIR_REL - Relative path to compiled fasl files; depends on fasl_TARGET +# FASL_TARGET - Platform for building fasl files (currently "ccl", "clisp", "sbcl") +# USE_CCL - If set, depend on lang/ccl +# USE_CLISP - If set, depend on lang/clisp +# USE_SBCL - If set, depend on lang/sbcl +# USE_ASDF - If set, depend on devel/cl-asdf +# USE_ASDF_FASL - If set, set dependency on compiled ASDF files (only if +# required by the chosen fasl_TARGET) +# FASL_BUILD - If set, compile fasl files using the ASDF framework +# ASDF_MODULES - If fasl_BUILD is set: list of ASDF modules to compile +# + +.if !defined(_INCLUDE_USES_CL_MK) +_INCLUDE_USES_CL_MK= yes + +CL_ASDF_Include_MAINTAINER= olgeni@FreeBSD.org + +CCL?= ${LOCALBASE}/bin/ccl +CLISP?= ${LOCALBASE}/bin/clisp +SBCL?= ${LOCALBASE}/bin/sbcl + +CL_LIBDIR_REL= lib/common-lisp + +ASDF_PATHNAME= ${PREFIX}/${CL_LIBDIR_REL}/${PORTNAME} +FASL_PATHNAME= ${PREFIX}/${CL_LIBDIR_REL}/${PORTNAME}/${FASL_DIR_REL} +ASDF_REGISTRY= ${PREFIX}/${CL_LIBDIR_REL}/system-registry + +# Include PKGNAMEPREFIX in DOCSDIR and EXAMPLESDIR +DOCSDIR= ${PREFIX}/share/doc/${PKGBASE} +EXAMPLESDIR= ${PREFIX}/share/examples/${PKGBASE} + +. if ${PORTNAME} != "ccl" +NO_ARCH= yes +. endif + +. if defined(FASL_TARGET) +FASL_DIR_REL= ${FASL_TARGET}fasl +PKGNAMESUFFIX= -${FASL_TARGET} +. if ${FASL_TARGET} == "ccl" +USE_CCL= yes +. elif ${FASL_TARGET} == "clisp" +USE_CLISP= yes +. elif ${FASL_TARGET} == "sbcl" +USE_SBCL= yes +. endif +. endif # defined(FASL_TARGET) + +. if defined(USE_CCL) +BUILD_DEPENDS+= ccl:lang/ccl +RUN_DEPENDS+= ccl:lang/ccl +. elif defined(USE_CLISP) +BUILD_DEPENDS+= clisp:lang/clisp +RUN_DEPENDS+= clisp:lang/clisp +. elif defined(USE_SBCL) +BUILD_DEPENDS+= sbcl:lang/sbcl +RUN_DEPENDS+= sbcl:lang/sbcl +. endif + +. if defined(USE_ASDF) +# Depend on the ASDF port, even if the Common Lisp compiler already has a bundled +# ASDF framework. +BUILD_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/asdf.asd:devel/cl-asdf +RUN_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/asdf.asd:devel/cl-asdf +. endif # defined(USE_ASDF) + +. if defined(USE_ASDF_FASL) +. if defined(USE_CCL) +BUILD_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/${FASL_DIR_REL}/build/asdf.fx64fsl:devel/cl-asdf-ccl +RUN_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/${FASL_DIR_REL}/build/asdf.fx64fsl:devel/cl-asdf-ccl +. elif defined(USE_CLISP) +BUILD_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/${FASL_DIR_REL}/build/asdf.fas:devel/cl-asdf-clisp +RUN_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/${FASL_DIR_REL}/build/asdf.fas:devel/cl-asdf-clisp +. elif defined(USE_SBCL) +BUILD_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/${FASL_DIR_REL}/build/asdf.fasl:devel/cl-asdf-sbcl +RUN_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/${FASL_DIR_REL}/build/asdf.fasl:devel/cl-asdf-sbcl +. endif +. endif # defined(USE_ASDF_FASL) + +. if defined(FASL_BUILD) + +ASDF_MODULES?= ${PORTNAME} + +. if !target(do-build) +# See devel/cl-freebsd-asdf-init/files/cl-freebsd-asdf-init.lisp for the meaning +# of FBSD_ASDF_COMPILE_PORT. +do-build: +. for MODULE in ${ASDF_MODULES} +. if defined(USE_CCL) + @FBSD_ASDF_COMPILE_PORT=t PORTNAME=${PORTNAME} WRKSRC=${WRKSRC}/ \ + ${CCL} ${LISP_EXTRA_ARG} -b -n \ + -l ${LOCALBASE}/etc/cl-freebsd-asdf-init \ + -e "(asdf:oos 'asdf:compile-op :${MODULE})" +. endif # USE_CCL + +. if defined(USE_CLISP) + @FBSD_ASDF_COMPILE_PORT=t PORTNAME=${PORTNAME} WRKSRC=${WRKSRC}/ \ + ${CLISP} ${LISP_EXTRA_ARG} -ansi -norc \ + -i ${LOCALBASE}/etc/cl-freebsd-asdf-init \ + -x "(asdf:oos 'asdf:compile-op :${MODULE})" +. endif # USE_CLISP + +. if defined(USE_SBCL) + @FBSD_ASDF_COMPILE_PORT=t PORTNAME=${PORTNAME} WRKSRC=${WRKSRC}/ \ + ${SBCL} ${LISP_EXTRA_ARG} --noinform --userinit /dev/null --disable-debugger \ + --eval '#.(load "${LOCALBASE}/etc/cl-freebsd-asdf-init")' \ + --eval "(asdf:oos 'asdf:compile-op :${MODULE})" \ + --eval "(quit)" +. endif # USE_SBCL +. endfor +. endif # !target(do-build) + +. if !target(do-install) +do-install: + @${MKDIR} ${STAGEDIR}${FASL_PATHNAME} + @cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${FASL_PATHNAME} + +. endif # !target(do-install) +post-install: + @cd ${WRKSRC} && ${FIND} * -type f \ + | ${SORT} \ + | ${AWK} '{ print "${CL_LIBDIR_REL}/${PORTNAME}/${FASL_DIR_REL}/" $$1 }' \ + >> ${TMPPLIST} + +. endif # FASL_BUILD + +.endif # _INCLUDE_USES_ASDF_MK Index: converters/cl-babel-sbcl/Makefile =================================================================== --- converters/cl-babel-sbcl/Makefile +++ converters/cl-babel-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= babel PORTVERSION= 2010.01.16 -PORTREVISION= 90 +PORTREVISION= 91 CATEGORIES= converters lisp PKGNAMEPREFIX= cl- DISTFILES= # none @@ -18,10 +18,9 @@ ${LOCALBASE}/${CL_LIBDIR_REL}/trivial-features/sbclfasl/src/tf-sbcl.fasl:devel/cl-trivial-features-sbcl \ ${LOCALBASE}/${CL_LIBDIR_REL}/trivial-gray-streams/sbclfasl/package.fasl:devel/cl-trivial-gray-streams-sbcl -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes ASDF_MODULES= babel babel-streams -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: converters/cl-babel/Makefile =================================================================== --- converters/cl-babel/Makefile +++ converters/cl-babel/Makefile @@ -1,6 +1,6 @@ PORTNAME= babel PORTVERSION= 2010.01.16 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= converters lisp PKGNAMEPREFIX= cl- MASTER_SITES= LOCAL/olgeni @@ -18,7 +18,7 @@ NO_BUILD= yes -USE_ASDF= yes +USES= cl OPTIONS_DEFINE= DOCS EXAMPLES @@ -36,5 +36,4 @@ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} @${INSTALL_DATA} ${WRKSRC}/tests/* ${STAGEDIR}${EXAMPLESDIR} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/Makefile =================================================================== --- devel/Makefile +++ devel/Makefile @@ -414,7 +414,9 @@ SUBDIR += cl-alexandria SUBDIR += cl-alexandria-sbcl SUBDIR += cl-asdf + SUBDIR += cl-asdf-sbcl SUBDIR += cl-cffi + SUBDIR += cl-freebsd-asdf-init SUBDIR += cl-infix SUBDIR += cl-infix-sbcl SUBDIR += cl-port Index: devel/cl-alexandria-sbcl/Makefile =================================================================== --- devel/cl-alexandria-sbcl/Makefile +++ devel/cl-alexandria-sbcl/Makefile @@ -1,23 +1,22 @@ PORTNAME= alexandria PORTVERSION= 1.4 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none -LICENSE= PD - MAINTAINER= olgeni@FreeBSD.org COMMENT= Collection of portable public domain utilities for Common Lisp WWW= https://common-lisp.net/project/alexandria/ -BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/alexandria.asd:devel/cl-alexandria -RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/alexandria.asd:devel/cl-alexandria +LICENSE= PD -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" +BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/alexandria.asd:devel/cl-alexandria +RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/alexandria.asd:devel/cl-alexandria + .include Index: devel/cl-alexandria/Makefile =================================================================== --- devel/cl-alexandria/Makefile +++ devel/cl-alexandria/Makefile @@ -1,6 +1,7 @@ PORTNAME= alexandria DISTVERSIONPREFIX= v DISTVERSION= 1.4 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- @@ -12,7 +13,7 @@ LICENSE= PD LICENSE_FILE= ${WRKSRC}/LICENCE -USE_ASDF= yes +USES= cl USE_GITLAB= yes GL_SITE= https://gitlab.common-lisp.net @@ -46,5 +47,4 @@ ${INSTALL_DATA} ${WRKSRC}/doc/${PORTNAME}.html ${WRKSRC}/doc/${PORTNAME}.pdf \ ${STAGEDIR}${DOCSDIR} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-asdf-sbcl/Makefile =================================================================== --- /dev/null +++ devel/cl-asdf-sbcl/Makefile @@ -0,0 +1,20 @@ +PORTNAME= asdf +PORTVERSION= 3.3.7 +CATEGORIES= devel lisp +PKGNAMEPREFIX= cl- +DISTFILES= # none + +MAINTAINER= jrm@FreeBSD.org +COMMENT= System definition facility for Common Lisp +WWW= https://common-lisp.net/project/asdf/ + +LICENSE= MIT + +BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/asdf.asd:devel/cl-asdf +RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/asdf.asd:devel/cl-asdf + +USES= cl +FASL_BUILD= yes +FASL_TARGET= sbcl + +.include Index: devel/cl-asdf-sbcl/pkg-descr =================================================================== --- /dev/null +++ devel/cl-asdf-sbcl/pkg-descr @@ -0,0 +1,7 @@ +asdf is Another System Definition Facility for Common Lisp. It intends +to solve the same class of problems as mk-defsystem - compiling and +installing Lisp libraries -, but internally it takes advantage of +modern CL features like pathname support etc., and uses CLOS for +extensibility. + +This package is compiled with SBCL. Index: devel/cl-asdf/Makefile =================================================================== --- devel/cl-asdf/Makefile +++ devel/cl-asdf/Makefile @@ -11,10 +11,7 @@ LICENSE= MIT -USES= gmake - -ALL_TARGET= build/asdf.lisp -SUB_FILES= pkg-message +USES= cl gmake OPTIONS_DEFINE= DOCS @@ -37,16 +34,10 @@ ${RLN} ${STAGEDIR}${ASDF_PATHNAME}/build/asdf.lisp ${STAGEDIR}${ASDF_PATHNAME} ${RLN} ${STAGEDIR}${ASDF_PATHNAME}/asdf.asd ${STAGEDIR}${ASDF_REGISTRY} ${RLN} ${STAGEDIR}${ASDF_PATHNAME}/uiop/uiop.asd ${STAGEDIR}${ASDF_REGISTRY} - ${SED} -e 's|%%ASDF_PATHNAME%%|${ASDF_PATHNAME}/asdf|' \ - -e 's|%%ASDF_REGISTRY%%|${ASDF_REGISTRY}|' \ - -e 's|%%PREFIX%%|${PREFIX}|' \ - ${FILESDIR}/asdf-init.lisp > \ - ${STAGEDIR}${PREFIX}/etc/asdf-init.lisp.default do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) (cd ${STAGEDIR}${DOCSDIR} && ${RM} .htaccess Changelog Makefile) -.include .include Index: devel/cl-asdf/bsd.cl-asdf.mk =================================================================== --- devel/cl-asdf/bsd.cl-asdf.mk +++ /dev/null @@ -1,122 +0,0 @@ -# bsd.cl-asdf.mk - Common Lisp related macros -# -# SBCL - Path to the Steel Bank Common Lisp compiler -# CLISP - Path to the GNU Common Lisp compiler -# LISP_EXTRA_ARG - Extra arguments for compiler used by FASL_BUILD ports -# CL_LIBDIR_REL - Common Lisp library directory, relative to LOCALBASE or PREFIX -# ASDF_PATHNAME - Where to install compiled FASL files (depends on FASL_DIR_REL) -# ASDF_REGISTRY - Path to ASDF registry -# DOCSDIR - DOCSDIR using PKGBASE (to account for optional cl- PKGNAMEPREFIX) -# EXAMPLESDIR - Same as above, for EXAMPLESDIR -# FASL_DIR_REL - Relative path to compiled FASL files; depends on FASL_TARGET -# FASL_TARGET - Platform for building FASL files (currently "sbcl" or "clisp") -# USE_SBCL - If set, depend on lang/sbcl -# USE_CLISP - If set, depend on lang/clisp -# USE_ASDF - If set, depend on devel/cl-asdf -# USE_ASDF_FASL - If set, set dependency on compiled ASDF files (only if -# required by the chosen FASL_TARGET) -# FASL_BUILD - If set, compile FASL files using the ASDF framework -# ASDF_MODULES - If FASL_BUILD is set: list of ASDF modules to compile - -CL_ASDF_Include_MAINTAINER= olgeni@FreeBSD.org - -SBCL?= ${LOCALBASE}/bin/sbcl -CLISP?= ${LOCALBASE}/bin/clisp - -CL_LIBDIR_REL= lib/common-lisp - -ASDF_PATHNAME= ${PREFIX}/${CL_LIBDIR_REL}/${PORTNAME} -FASL_PATHNAME= ${PREFIX}/${CL_LIBDIR_REL}/${PORTNAME}/${FASL_DIR_REL} -ASDF_REGISTRY= ${PREFIX}/${CL_LIBDIR_REL}/system-registry - -# Include PKGNAMEPREFIX in DOCSDIR and EXAMPLESDIR -DOCSDIR= ${PREFIX}/share/doc/${PKGBASE} -EXAMPLESDIR= ${PREFIX}/share/examples/${PKGBASE} - -.if ${PORTNAME} != "ccl" -NO_ARCH= yes -.endif - -.if defined(FASL_TARGET) -FASL_DIR_REL= ${FASL_TARGET}fasl -PKGNAMESUFFIX= -${FASL_TARGET} -.if ${FASL_TARGET} == "sbcl" -USE_SBCL= yes -.elif ${FASL_TARGET} == "clisp" -USE_CLISP= yes -.endif -.endif # defined(FASL_TARGET) - -.if defined(USE_SBCL) -BUILD_DEPENDS+= sbcl:lang/sbcl -RUN_DEPENDS+= sbcl:lang/sbcl -.elif defined(USE_CLISP) -BUILD_DEPENDS+= clisp:lang/clisp -RUN_DEPENDS+= clisp:lang/clisp -.endif # defined(USE_CLISP) - -.if defined(USE_ASDF) -# Even if the Common Lisp compiler already has a bundled ASDF framework, -# we still need the asdf-init file. - -BUILD_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/asdf.asd:devel/cl-asdf -RUN_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/asdf.asd:devel/cl-asdf - -.endif # defined(USE_ASDF) - -.if defined(USE_ASDF_FASL) -.if defined(USE_SBCL) -# SBCL already has a bundled ASDF framework -.elif defined(USE_CLISP) -BUILD_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/${FASL_DIR_REL}/asdf.fasl:devel/cl-asdf-clisp -RUN_DEPENDS+= ${LOCALBASE}/${CL_LIBDIR_REL}/asdf/${FASL_DIR_REL}/asdf.fasl:devel/cl-asdf-clisp -.endif # defined(USE_CLISP) -.endif # defined(USE_ASDF_FASL) - -.if defined(FASL_BUILD) - -ASDF_MODULES?= ${PORTNAME} - -.if !target(do-build) - -# See devel/cl-asdf/files/asdf-init.lisp for the meaning of FBSD_ASDF_COMPILE_PORT. - -do-build: - -.for MODULE in ${ASDF_MODULES} - -.if defined(USE_SBCL) - @FBSD_ASDF_COMPILE_PORT=t PORTNAME=${PORTNAME} WRKSRC=${WRKSRC}/ \ - ${SBCL} ${LISP_EXTRA_ARG} --noinform --userinit /dev/null --disable-debugger \ - --eval '#.(load "${LOCALBASE}/etc/asdf-init")' \ - --eval "(asdf:oos 'asdf:compile-op :${MODULE})" \ - --eval "(quit)" -.endif # USE_SBCL - -.if defined(USE_CLISP) - @FBSD_ASDF_COMPILE_PORT=t PORTNAME=${PORTNAME} WRKSRC=${WRKSRC}/ \ - ${CLISP} ${LISP_EXTRA_ARG} -ansi -norc \ - -i ${LOCALBASE}/etc/asdf-init \ - -x "(asdf:oos 'asdf:compile-op :${MODULE})" - @${FIND} ${WRKSRC} -name "*.lib" | ${XARGS} ${RM} -.endif # USE_CLISP - -.endfor - -.endif # !target(do-build) - -.if !target(do-install) - -do-install: - @${MKDIR} ${STAGEDIR}${FASL_PATHNAME} - @cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${FASL_PATHNAME} - -.endif # !target(do-install) - -post-install: - @cd ${WRKSRC} && ${FIND} * -type f \ - | ${SORT} \ - | ${AWK} '{ print "${CL_LIBDIR_REL}/${PORTNAME}/${FASL_DIR_REL}/" $$1 }' \ - >> ${TMPPLIST} - -.endif # FASL_BUILD Index: devel/cl-asdf/files/asdf-init.lisp =================================================================== --- devel/cl-asdf/files/asdf-init.lisp +++ /dev/null @@ -1,254 +0,0 @@ -;;;; asdf-config.lisp - Setup ASDF to deal with FBSD ports conventions - -;; Copyright (c) 2003 Henrik Motakef - -;; Redistribution and use in source and binary forms, with or without -;; modification, are permitted provided that the following conditions are -;; met: - -;; 1. Redistributions of source code must retain the above copyright -;; notice, this list of conditions and the following disclaimer. -;; -;; 2. Redistributions in binary form must reproduce the above copyright -;; notice, this list of conditions and the following disclaimer in the -;; documentation and/or other materials provided with the distribution - -;; THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED -;; WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -;; IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -;; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -;; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -;; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -;; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -;; IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -;; POSSIBILITY OF SUCH DAMAGE. - -;;;; How to use - -;; A number of FreeBSD ports related to Common Lisp use the asdf -;; system definition library, available as devel/cl-asdf-* (which you -;; obviously already have installed, since this file is included with -;; that port). That implies that you will have to load and configure -;; asdf to use these ports with your Lisp system. -;; -;; This file takes all necessary actions. The easiest way is to load -;; it in your Lisp every time it starts, by putting -;; -;; (load "/usr/local/etc/asdf-init.lisp") -;; -;; in your init file. -;; -;; Each Lisp implementation has its own files where this can be done: -;; -;; CLISP: -;; /usr/local/lib/clisp/config.lisp -;; ~/.clisprc -;; -;; CMUCL: -;; /usr/local/lib/cmucl/lib/cmucl/lib/site-init.lisp -;; ~/.cmucl-init.lisp -;; -;; SBCL: -;; /usr/local/etc/sbclrc -;; ~/.sbclrc -;; -;; CLOZURE CL / OPENMCL: -;; ~/.ccl-init.lisp -;; -;; After that, you can load your installed ports like this (using -;; textproc/cl-ppcre as an example): -;; -;; (asdf:operate 'asdf:load-op 'cl-ppcre) -;; - -;; Have fun! - - -;;;; What's going on here - -;; We mess around with asdf:output-files in interesting ways to -;; enforce a filesystem layout that works without multiple Lisp -;; implementations overwriting their fasls. Basically, each lib has -;; its own directory in /usr/local/lib/common-lisp, initially -;; containing its sources. Each fasl port will create an -;; implementation-specific subdirectory where all its fasls go, for -;; example ./cmuclfasl, ./clispfasl etc. - -;; Additionally, all fasl files have the pathname-type "fasl", not -;; "x86f" or "fas". The reason is that I want to be prepared for the -;; case that CMUCL some lucky day might be supported on non-x86 -;; archs. Since it encodes the arch in the fasl file-type (x86f, -;; sparcf etc), hardcoding this in pkg-plists would then -;; break. Enforcing this policy for all implementations (for example, -;; CLISP uses .fas by default) simply is more convenient than handling -;; CMUCL specially. - -;; The drawback is that users cannot easily load compiled code unless -;; they set up asdf properly, which boils down to loading this file -;; instead of asdf.lisp directly. - -;; Yet another thing that has to be handled is compiling ports: During -;; 'make build', no files outside of ${WRKSRC} may be created. On the -;; other hand, it is a good idea to use the source files from their -;; final location, because CMUCL and SBCL record the source path and -;; can use, for example, to show the misbehaving form in the debugger. -;; And the fasl ports depend on the source port to be installed -;; anyway, because of the .asd file. -;; Hence, in the case of port compilation, we redirect the output to -;; ${WRKSRC}. This situation is detected by checking if an environment -;; variable FBSD_ASDF_COMPILE_PORT is set (and if we have a WRKSRC -;; envvar as well), so each port Makefile has to create this variable -;; in the environment in which it calls Lisp in do-build, see existing -;; ports for examples. - -;; Note that it is only necessary to modify -;; (output-files ((op compile-op)) ...), because asdf:load-op will use -;; this method too to decide which files are to be loaded, there is no -;; separate method for load-op. - -;;;; Adding support for other Lisp implementations - -;; In order to make all this work for not-handled-yet Lisps, it is -;; only necessary to change LISP-SPECIFIC-FASL-SUDBIR and GETENV. Of -;; course, you'll also have to create new binary ports, if that's what -;; you want. - - - -;;;; Package declaration - -(defpackage :freebsd-asdf - (:use :common-lisp) - (:export #:*asdf-pathname* - #:unsupported-lisp-implementation)) - -(in-package :freebsd-asdf) - -;;;; Paths - -(defvar *asdf-pathname* - ;; Clozure CL's internal asdf - #+openmcl "/usr/local/lib/ccl/tools/asdf" - ;; SBCL's internal asdf - #+sbcl "/usr/local/lib/sbcl/asdf/asdf" - ;; CMU and clisp - #-(or openmcl sbcl) "/usr/local/lib/common-lisp/asdf/asdf" - "Path of the ASDF library") - -(defvar *system-registry* - "/usr/local/lib/common-lisp/system-registry/" - "FreeBSD's contribution to the central registry for ASDF system -definitions. This will be added to asdf:*central-registry*, you -should modify that in order to add other directories.") - -;;;; Implementation-specific functions - -(define-condition unsupported-lisp-implementation () - () - (:report (lambda (condition stream) - (declare (ignore condition) - (type stream stream)) - (format stream "Your Lisp system, ~A ~A, is currently not ~ - supported by the FreeBSD ports system." - (lisp-implementation-type) - (lisp-implementation-version))))) - -(defun lisp-specific-fasl-subdir () - "Return the subdirectory in which fasl files for this Lisp -implementations should be stored, as a string without any slashes. - -If no subdirectory for the current implementation is known, signal an -error of type UNSUPPORTED-LISP-IMPLEMENTATION. - -This function has to be extended for each new Lisp implementation that -should be able to use the ASDF-based Lisp ports. If you do this, you -should probably extend GETENV as well." - #+clisp "clispfasl" - #+cmu "cmuclfasl" - #+sbcl "sbclfasl" - #+openmcl "cclfasl" - #-(or clisp cmu sbcl openmcl) (error 'unsupported-lisp-implementation)) - -(defun getenv (varname) - "Return the value of environment variable VARNAME, as a string. -If VARNAME is not found in the current environment, return nil. -May signal an error of type UNSUPPORTED-LISP-IMPLEMENTATION, see -below. - -This is used to communicate make variables like WRKSRC from the ports -system to Lisp. Note that this doesn't happen automatically for -variables defined in a Makefile, you'll have to pass these to the -environment in which Lisp runs explicitly. - -Since accessing environment variables is not portable, this function -has to be extended for each Lisp implementation that is to work with -FreeBSDs Lisp ports. If you do this, you should probably extend -LISP-SPECIFIC-FASL-SUBDIR as well." - #+sbcl (sb-ext:posix-getenv varname) - #+cmu (cdr (assoc varname ext:*environment-list* - :test #'equalp - :key #'string)) - #+clisp (sys::getenv varname) - #+openmcl (ccl::getenv varname) - #-(or sbcl cmu clisp openmcl) (error 'unsupported-lisp-implementation)) - -;;;; Load and configure ASDF - -(defvar *asdf-binary-pathname* - (make-pathname - :directory `(:absolute ,@(cdr (pathname-directory *asdf-pathname*)) - ,(lisp-specific-fasl-subdir)) - :type "fasl" - :defaults *asdf-pathname*)) - -(or (ignore-errors (load *asdf-binary-pathname* :verbose t :print nil)) - (load *asdf-pathname* :verbose t :print nil)) - -#+openmcl (push "ccl:tools;asdf-install;" asdf:*central-registry*) - -(pushnew *system-registry* asdf:*central-registry*) - -(defmethod asdf:output-files :around ((op asdf:compile-op) - (file asdf:cl-source-file)) - (let ((default-output-file (car (call-next-method)))) - (list - (make-pathname - :directory (pathname-directory (namestring default-output-file)) - :type "fasl" - :defaults default-output-file)))) - -;; Map each library in common-lisp/ to its fasl subdirectory - -(defvar *freebsd-output-translations* ()) - -(pushnew :inherit-configuration *freebsd-output-translations*) - -(dolist (path (directory "/usr/local/lib/common-lisp/*/")) - (let ((source (make-pathname - :directory (append (pathname-directory path) - (list :wild-inferiors)))) - (target (make-pathname - :directory (append (pathname-directory path) - (list (lisp-specific-fasl-subdir) :wild-inferiors))))) - (pushnew (list source target) *freebsd-output-translations*))) - -(if (and (getenv "FBSD_ASDF_COMPILE_PORT") - (getenv "PORTNAME") - (getenv "WRKSRC")) - (let ((wrksrc (getenv "WRKSRC")) - (portname (getenv "PORTNAME"))) - ;; If we are building a FreeBSD port, all the compiled fasl files - ;; should be redirected to WRKSRC. - (let ((source (make-pathname - :directory (append (pathname-directory #P"/usr/local/lib/common-lisp/") - (list portname :wild-inferiors)))) - (target (make-pathname - :directory (append (pathname-directory wrksrc) - (list :wild-inferiors))))) - (pushnew (list source target) *freebsd-output-translations*)))) - -(asdf:initialize-output-translations (cons :output-translations *freebsd-output-translations*)) - -;;;; asdf-init.lisp ends here Index: devel/cl-asdf/files/patch-Makefile =================================================================== --- devel/cl-asdf/files/patch-Makefile +++ /dev/null @@ -1,11 +0,0 @@ ---- Makefile.orig 2018-03-07 21:53:28 UTC -+++ Makefile -@@ -101,7 +101,7 @@ noext: - load: build/asdf.lisp - ./test/run-tests.sh -t $l $(all_lisp) - --install: archive -+install: - - bump: bump-version - git commit -a -m "Bump version to $$(eval a=$$(cat version.lisp-expr) ; echo $$a)" Index: devel/cl-asdf/files/pkg-message.in =================================================================== --- /dev/null +++ devel/cl-asdf/files/pkg-message.in @@ -1,16 +0,0 @@ -[ -{ type: install - message: < Index: devel/cl-freebsd-asdf-init/Makefile =================================================================== --- /dev/null +++ devel/cl-freebsd-asdf-init/Makefile @@ -0,0 +1,25 @@ +PORTNAME= cl-freebsd-asdf-init +PORTVERSION= 20241212 +CATEGORIES= devel +MASTER_SITES= # none +DISTFILES= # none + +MAINTAINER= jrm@FreeBSD.org +COMMENT= ASDF configuration for FreeBSD Common Lisp ports + +LICENSE= BSD2CLAUSE + +NO_ARCH= yes +NO_BUILD= yes +NO_WRKSUBDIR= yes + +PLIST_FILES= etc/asdf-init.lisp \ + etc/cl-freebsd-asdf-init.lisp +SUB_FILES= cl-freebsd-asdf-init.lisp + +do-install: + ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.lisp ${STAGEDIR}${PREFIX}/etc/ + ${RLN} ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.lisp \ + ${STAGEDIR}${PREFIX}/etc/asdf-init.lisp + +.include Index: devel/cl-freebsd-asdf-init/files/cl-freebsd-asdf-init.lisp.in =================================================================== --- /dev/null +++ devel/cl-freebsd-asdf-init/files/cl-freebsd-asdf-init.lisp.in @@ -0,0 +1,184 @@ +;; cl-freebsd-asdf-init.lisp - Configure ASDF to work with FreeBSD ports +;; +;; SPDX-License-Identifier: BSD-2-Clause +;; +;; Copyright (c) 2003 Henrik Motakef +;; Copyright (c) 2024 Joseph Mingrone +;; +;; This file configures ASDF to work with Common Lisp (CL) installed via +;; FreeBSD ports. To load it when your Lisp implementation starts, add +;; +;; (load "%%PREFIX%%/etc/cl-freebsd-asdf-init.lisp") +;; +;; to your init file. +;; +;; These are the initialization files for the supported CL implementations: +;; +;; CLISP: +;; ~/.clisprc +;; +;; CLOZURE CL / OPENMCL: +;; ~/.ccl-init.lisp +;; +;; SBCL: +;; %%PREFIX%%/etc/sbclrc +;; ~/.sbclrc +;; +;; After that, use ASDF to load systems installed from ports like this: +;; +;; (asdf:load-system :alexandria) +;; +;; ** Detailed Explanation ** +;; +;; This ASDF initialization streamlines working with CL systems installed via +;; FreeBSD Ports by serving three key functions: +;; +;; 1. It configures a central registry to tell ASDF where to find systems +;; installed via FreeBSD CL ports. +;; +;; 2. It sets up output translations so no code from CL ports needs to be +;; compiled at load time. +;; +;; CL ports have binary variants for each supported CL implementation. For +;; example, devel/cl-alexandria includes the Alexandria sources, and +;; devel/cl-alexandria-sbcl installs the compiled code (fasl) for SBCL. +;; The output translations defined here tell ASDF where to look for the +;; binary code. +;; +;; If you prefer to build systems at load time, simply install the CL port +;; without the associated fasl port, and ASDF will build and write fasl to +;; a cache under ${HOME}. +;; +;; 3. It configures specific ASDF output translations for building CL ports. +;; + + + +;;;; Package declaration + +(defpackage :freebsd-asdf + (:use :common-lisp) + (:export #:*asdf-pathname* + #:unsupported-lisp-implementation)) + +(in-package :freebsd-asdf) + +;;;; Implementation-specific functions + +(define-condition unsupported-lisp-implementation () + () + (:report (lambda (condition stream) + (declare (ignore condition) + (type stream stream)) + (format stream "Your Lisp system, ~A ~A, is ~ +currently not supported by the FreeBSD ports system." + (lisp-implementation-type) + (lisp-implementation-version))))) + +(defun lisp-specific-fasl-subdir () + "Return the subdirectory in which fasl files for this Lisp +implementations should be stored, as a string without any slashes. + +If no subdirectory for the current implementation is known, signal an +error of type UNSUPPORTED-LISP-IMPLEMENTATION. + +This function has to be extended for each new Lisp implementation that +should be able to use the ASDF-based Lisp ports." + #+ccl "cclfasl" + #+clisp "clispfasl" + #+sbcl "sbclfasl" + #-(or ccl clisp sbcl) (error 'unsupported-lisp-implementation)) + +(defun lisp-specific-fasl-extension () + "Return the extension used for fasl files for this Lisp implementations as a +string. + +This function has to be extended for each new Lisp implementation that +should be able to use the ASDF-based Lisp ports." + #+ccl "fx64fsl" + #+clisp "fas" + #+sbcl "fasl" + ;; #-(or clisp cmu sbcl openmcl) (error 'unsupported-lisp-implementation)) + #-(or ccl clisp sbcl) (error 'unsupported-lisp-implementation)) + +;;;; Paths +(defvar *asdf-pathname* + ;; Determine the path to the ASDF library to load. + (let* ((port-asdf "%%PREFIX%%/lib/common-lisp/asdf/build/asdf.lisp") + (port-asdf-fasl (concatenate 'string + "%%PREFIX%%/lib/common-lisp/asdf/" + (lisp-specific-fasl-subdir) + "/build/asdf." + (lisp-specific-fasl-extension))) + (asdf-port-p (probe-file port-asdf)) + (asdf-port-fasl-p (probe-file port-asdf-fasl))) + (cond + ((and asdf-port-p asdf-port-fasl-p) port-asdf-fasl) + ((and (member :ccl *features*)) "%%PREFIX%%/lib/ccl/tools/asdf.fx64fsl") + ((and (member :clisp *features*)) "%%PREFIX%%/lib/clisp/asdf/asdf.fas") + ((and (member :sbcl *features*)) "%%PREFIX%%/lib/sbcl/contrib/asdf.fasl") + (asdf-port-p port-asdf) + (t (error "Could not find any ASDF to load."))))) + +(defvar *system-registry* + "%%PREFIX%%/lib/common-lisp/system-registry/" + "FreeBSD's contribution to the central registry for ASDF system +definitions. This will be added to asdf:*central-registry*, you should +modify that in order to add other directories.") + + +;;;; Load and configure ASDF + +;;(load *asdf-pathname* :verbose t :print nil) +(load *asdf-pathname*) + +(pushnew *system-registry* asdf:*central-registry*) + +;; Set up output translations + +;; If we are building a port, redirect fasl files to WRKSRC. +(if (and (uiop:getenv "FBSD_ASDF_COMPILE_PORT") + (uiop:getenv "PORTNAME") + (uiop:getenv "WRKSRC")) + (let* ((wrksrc (uiop:getenv "WRKSRC")) + (portname (uiop:getenv "PORTNAME")) + (source (make-pathname + :directory + (append (pathname-directory + #P"%%PREFIX%%/lib/common-lisp/") + (list portname :wild-inferiors)))) + (target (make-pathname + :directory (append (pathname-directory wrksrc) + (list :wild-inferiors)))) + (ports-translations '(:ignore-inherited-configuration))) + (pushnew (list source target) ports-translations) + (asdf:initialize-output-translations + (cons :output-translations ports-translations))) + ;; On target systems, set up translations to point to installed fasl. + (let ((freebsd-translations '(:ignore-inherited-configuration))) + (dolist (path (directory "%%PREFIX%%/lib/common-lisp/*/")) + (let* ((base-dir (pathname-directory path)) + (source (make-pathname + :directory (append base-dir (list :wild-inferiors)) + :name :wild + :type :wild)) + (ctarget (make-pathname + :directory (append + base-dir + (list (lisp-specific-fasl-subdir))))) + (target (make-pathname + :directory (append base-dir + (list (lisp-specific-fasl-subdir) + :wild-inferiors)) + :name :wild + :type :wild))) + ;; Only create translation when source is not system registry and + ;; ctarget exists. + (when (and + (not (string= *system-registry* (namestring path))) + (uiop:directory-exists-p ctarget)) + (pushnew (list source target) freebsd-translations)))) + (asdf:initialize-output-translations + (cons :output-translations freebsd-translations)))) + +;;;; asdf-init.lisp ends here Index: devel/cl-freebsd-asdf-init/pkg-descr =================================================================== --- /dev/null +++ devel/cl-freebsd-asdf-init/pkg-descr @@ -0,0 +1,15 @@ +This ASDF initialization coordinates Common Lisp (CL) installed via FreeBSD +Ports by serving three key functions: + +1. It configures a central registry to tell ASDF where to find systems + installed via FreeBSD CL ports. + +2. It sets up output translations so no code from CL ports needs to be + compiled at load time. + + CL ports have binary variants for each supported CL implementation. For + example, devel/cl-alexandria includes the Alexandria sources, and + devel/cl-alexandria-sbcl installs the compiled code (fasl) for SBCL. The + output translations tell ASDF where to look for the binary code. + +3. It configures specific ASDF output translations for building CL ports. Index: devel/cl-infix-sbcl/Makefile =================================================================== --- devel/cl-infix-sbcl/Makefile +++ devel/cl-infix-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= infix PORTVERSION= 19960628 -PORTREVISION= 94 +PORTREVISION= 95 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none @@ -18,9 +18,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/infix/infix.asd:devel/cl-infix RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/infix/infix.asd:devel/cl-infix -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-infix/Makefile =================================================================== --- devel/cl-infix/Makefile +++ devel/cl-infix/Makefile @@ -1,6 +1,6 @@ PORTNAME= infix PORTVERSION= 19960628 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= devel lisp MASTER_SITES= http://ftp.linux.org.uk/pub/lisp/cclan/ \ ftp://ftp.ntnu.no/pub/lisp/cclan/ \ @@ -22,7 +22,7 @@ WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION} NO_BUILD= yes -USE_ASDF= yes +USES= cl OPTIONS_DEFINE= DOCS @@ -34,11 +34,10 @@ @${INSTALL_DATA} ${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME} @${INSTALL_DATA} ${WRKSRC}/infix.asd ${STAGEDIR}${ASDF_PATHNAME} @${INSTALL_DATA} ${WRKSRC}/infix.system ${STAGEDIR}${ASDF_PATHNAME} - @${LN} -sf ${ASDF_PATHNAME}/infix.asd ${STAGEDIR}${ASDF_REGISTRY} + @${RLN} ${STAGEDIR}${ASDF_PATHNAME}/infix.asd ${STAGEDIR}${ASDF_REGISTRY} @${MKDIR} ${STAGEDIR}${DOCSDIR} .for FILE in COPYING infix.3lisp @${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR} .endfor -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-port-sbcl/Makefile =================================================================== --- devel/cl-port-sbcl/Makefile +++ devel/cl-port-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= port PORTVERSION= 2002.10.02.1 -PORTREVISION= 92 +PORTREVISION= 93 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none @@ -12,9 +12,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/port/port.asd:devel/cl-port RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/port/port.asd:devel/cl-port -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-port/Makefile =================================================================== --- devel/cl-port/Makefile +++ devel/cl-port/Makefile @@ -1,6 +1,6 @@ PORTNAME= port PORTVERSION= 2002.10.02.1 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= devel lisp MASTER_SITES= ftp://ftp.linux.org.uk/pub/lisp/experimental/cclan/ \ ftp://ftp.ntnu.no/pub/lisp/cclan/ \ @@ -15,7 +15,7 @@ WRKSRC= ${WRKDIR}/clocc-${PORTNAME} NO_BUILD= yes -USE_ASDF= yes +USES= cl OPTIONS_DEFINE= DOCS @@ -24,9 +24,8 @@ @${INSTALL_DATA} ${WRKSRC}/clocc-port.asd ${STAGEDIR}${ASDF_PATHNAME}/port.asd @${INSTALL_DATA} ${WRKSRC}/port.system ${STAGEDIR}${ASDF_PATHNAME} @${INSTALL_DATA} ${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME} - @${LN} -sf ${ASDF_PATHNAME}/port.asd ${STAGEDIR}${ASDF_REGISTRY} + @${RLN} ${STAGEDIR}${ASDF_PATHNAME}/port.asd ${STAGEDIR}${ASDF_REGISTRY} @${MKDIR} ${STAGEDIR}${DOCSDIR} @${INSTALL_DATA} ${WRKSRC}/port.html ${STAGEDIR}${DOCSDIR} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-split-sequence-sbcl/Makefile =================================================================== --- devel/cl-split-sequence-sbcl/Makefile +++ devel/cl-split-sequence-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= split-sequence PORTVERSION= 20011114.1 -PORTREVISION= 91 +PORTREVISION= 92 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none @@ -12,9 +12,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/split-sequence/split-sequence.asd:devel/cl-split-sequence RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/split-sequence/split-sequence.asd:devel/cl-split-sequence -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-split-sequence/Makefile =================================================================== --- devel/cl-split-sequence/Makefile +++ devel/cl-split-sequence/Makefile @@ -1,6 +1,6 @@ PORTNAME= split-sequence PORTVERSION= 20011114.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel lisp MASTER_SITES= ftp://ftp.linux.org.uk/pub/lisp/experimental/cclan/ \ ftp://ftp.ntnu.no/pub/lisp/cclan/ \ @@ -15,13 +15,12 @@ WRKSRC= ${WRKDIR}/${PORTNAME} NO_BUILD= yes -USE_ASDF= yes +USES= cl do-install: @${MKDIR} ${STAGEDIR}${ASDF_PATHNAME} ${STAGEDIR}${ASDF_REGISTRY} @${INSTALL_DATA} ${WRKSRC}/split-sequence.lisp ${STAGEDIR}${ASDF_PATHNAME} @${INSTALL_DATA} ${WRKSRC}/split-sequence.asd ${STAGEDIR}${ASDF_PATHNAME} - @${LN} -sf ${ASDF_PATHNAME}/split-sequence.asd ${STAGEDIR}${ASDF_REGISTRY} + @${RLN} ${STAGEDIR}${ASDF_PATHNAME}/split-sequence.asd ${STAGEDIR}${ASDF_REGISTRY} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-trivial-features-sbcl/Makefile =================================================================== --- devel/cl-trivial-features-sbcl/Makefile +++ devel/cl-trivial-features-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= trivial-features PORTVERSION= 2010.01.16 -PORTREVISION= 91 +PORTREVISION= 92 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none @@ -12,9 +12,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/trivial-features/trivial-features.asd:devel/cl-trivial-features RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/trivial-features/trivial-features.asd:devel/cl-trivial-features -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-trivial-features/Makefile =================================================================== --- devel/cl-trivial-features/Makefile +++ devel/cl-trivial-features/Makefile @@ -1,6 +1,6 @@ PORTNAME= trivial-features PORTVERSION= 2010.01.16 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel lisp MASTER_SITES= LOCAL/olgeni PKGNAMEPREFIX= cl- @@ -11,7 +11,7 @@ NO_BUILD= yes -USE_ASDF= yes +USES= cl OPTIONS_DEFINE= DOCS EXAMPLES @@ -20,7 +20,7 @@ @${MKDIR} ${STAGEDIR}${ASDF_PATHNAME}/src @${INSTALL_DATA} ${WRKSRC}/src/*.lisp ${STAGEDIR}${ASDF_PATHNAME}/src @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.asd ${STAGEDIR}${ASDF_PATHNAME} - @${LN} -sf ${ASDF_PATHNAME}/${PORTNAME}.asd ${STAGEDIR}${ASDF_REGISTRY} + @${RLN} ${STAGEDIR}${ASDF_PATHNAME}/${PORTNAME}.asd ${STAGEDIR}${ASDF_REGISTRY} @${MKDIR} ${STAGEDIR}${DOCSDIR} .for FILE in README SPEC @${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR} @@ -28,5 +28,4 @@ @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} @${INSTALL_DATA} ${WRKSRC}/tests/* ${STAGEDIR}${EXAMPLESDIR} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-trivial-gray-streams-sbcl/Makefile =================================================================== --- devel/cl-trivial-gray-streams-sbcl/Makefile +++ devel/cl-trivial-gray-streams-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= trivial-gray-streams PORTVERSION= 2008.11.02 -PORTREVISION= 91 +PORTREVISION= 92 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none @@ -12,9 +12,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/trivial-gray-streams/trivial-gray-streams.asd:devel/cl-trivial-gray-streams RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/trivial-gray-streams/trivial-gray-streams.asd:devel/cl-trivial-gray-streams -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: devel/cl-trivial-gray-streams/Makefile =================================================================== --- devel/cl-trivial-gray-streams/Makefile +++ devel/cl-trivial-gray-streams/Makefile @@ -1,6 +1,6 @@ PORTNAME= trivial-gray-streams PORTVERSION= 2008.11.02 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel lisp MASTER_SITES= LOCAL/olgeni PKGNAMEPREFIX= cl- @@ -11,7 +11,7 @@ NO_BUILD= yes -USE_ASDF= yes +USES= cl OPTIONS_DEFINE= DOCS @@ -19,9 +19,8 @@ @${MKDIR} ${STAGEDIR}${ASDF_PATHNAME} ${STAGEDIR}${ASDF_REGISTRY} @${INSTALL_DATA} ${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME} @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.asd ${STAGEDIR}${ASDF_PATHNAME} - @${LN} -sf ${ASDF_PATHNAME}/${PORTNAME}.asd ${STAGEDIR}${ASDF_REGISTRY} + @${RLN} ${STAGEDIR}${ASDF_PATHNAME}/${PORTNAME}.asd ${STAGEDIR}${ASDF_REGISTRY} @${MKDIR} ${STAGEDIR}${DOCSDIR} @${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: lang/ccl/Makefile =================================================================== --- lang/ccl/Makefile +++ lang/ccl/Makefile @@ -22,12 +22,10 @@ # the following files will not be installed EXCLUDE= cocoa-ide lisp-kernel scripts fx86cl fx86cl.image -USE_ASDF= yes +USES= cl CONFLICTS_INSTALL= cclive # bin/ccl -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" - BUILD_DEPENDS+= as:devel/binutils LISP_ARCH= x8664 Index: lang/ccl/pkg-message =================================================================== --- lang/ccl/pkg-message +++ lang/ccl/pkg-message @@ -1,10 +1,8 @@ [ { type: install message: <=0:devel/cl-asdf +RUN_DEPENDS= cl-freebsd-asdf-init>=0:devel/cl-freebsd-asdf-init USES= gmake makeinfo tar:bzip2 Index: lang/sbcl/files/sbclrc.in =================================================================== --- lang/sbcl/files/sbclrc.in +++ lang/sbcl/files/sbclrc.in @@ -1 +1 @@ -(load "%%PREFIX%%/etc/asdf-init.lisp") +(load "%%PREFIX%%/etc/cl-freebsd-asdf-init.lisp") Index: security/cl-md5-sbcl/Makefile =================================================================== --- security/cl-md5-sbcl/Makefile +++ security/cl-md5-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= md5 PORTVERSION= 1.8.5 -PORTREVISION= 91 +PORTREVISION= 92 CATEGORIES= security lisp PKGNAMEPREFIX= cl- DISTFILES= # none @@ -12,9 +12,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/md5/md5.asd:security/cl-md5 RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/md5/md5.asd:security/cl-md5 -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: security/cl-md5/Makefile =================================================================== --- security/cl-md5/Makefile +++ security/cl-md5/Makefile @@ -1,6 +1,6 @@ PORTNAME= md5 PORTVERSION= 1.8.5 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= security lisp MASTER_SITES= http://ftp.de.debian.org/debian/pool/main/c/cl-md5/ DISTNAME= ${PKGNAMEPREFIX}${PORTNAME}_${PORTVERSION}.orig @@ -13,13 +13,12 @@ WRKSRC= ${WRKDIR}/${PKGNAMEPREFIX}${PORTNAME}-${DISTVERSION} NO_BUILD= yes -USE_ASDF= yes +USES= cl do-install: @${MKDIR} ${STAGEDIR}${ASDF_PATHNAME} ${STAGEDIR}${ASDF_REGISTRY} @${INSTALL_DATA} ${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME} @${INSTALL_DATA} ${WRKSRC}/*.asd ${STAGEDIR}${ASDF_PATHNAME} - @${LN} -sf ${ASDF_PATHNAME}/md5.asd ${STAGEDIR}${ASDF_REGISTRY} + @${RLN} ${STAGEDIR}${ASDF_PATHNAME}/md5.asd ${STAGEDIR}${ASDF_REGISTRY} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: textproc/cl-meta-sbcl/Makefile =================================================================== --- textproc/cl-meta-sbcl/Makefile +++ textproc/cl-meta-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= meta PORTVERSION= 0.1 -PORTREVISION= 92 +PORTREVISION= 93 PORTEPOCH= 1 CATEGORIES= textproc lisp PKGNAMEPREFIX= cl- @@ -13,9 +13,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/meta/meta.asd:textproc/cl-meta RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/meta/meta.asd:textproc/cl-meta -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: textproc/cl-meta/Makefile =================================================================== --- textproc/cl-meta/Makefile +++ textproc/cl-meta/Makefile @@ -1,6 +1,6 @@ PORTNAME= meta PORTVERSION= 0.1 -PORTREVISION= 3 +PORTREVISION= 4 PORTEPOCH= 1 CATEGORIES= textproc lisp MASTER_SITES= ftp://ftp.linux.org.uk/pub/lisp/experimental/cclan/ \ @@ -20,7 +20,7 @@ WRKSRC= ${WRKDIR}/${PORTNAME} NO_BUILD= yes -USE_ASDF= yes +USES= cl OPTIONS_DEFINE= DOCS @@ -33,5 +33,4 @@ @${INSTALL_DATA} ${WRKSRC}/Prag-Parse.* ${STAGEDIR}${DOCSDIR} @${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: textproc/cl-ppcre-sbcl/Makefile =================================================================== --- textproc/cl-ppcre-sbcl/Makefile +++ textproc/cl-ppcre-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= cl-ppcre PORTVERSION= 2.1.2 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= textproc lisp DISTFILES= # none @@ -11,9 +11,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/cl-ppcre.asd:textproc/cl-ppcre RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/cl-ppcre/cl-ppcre.asd:textproc/cl-ppcre -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: textproc/cl-ppcre/Makefile =================================================================== --- textproc/cl-ppcre/Makefile +++ textproc/cl-ppcre/Makefile @@ -1,6 +1,7 @@ PORTNAME= cl-ppcre DISTVERSIONPREFIX= v DISTVERSION= 2.1.2 +PORTREVISION= 1 CATEGORIES= textproc lisp MAINTAINER= olgeni@FreeBSD.org @@ -9,7 +10,7 @@ LICENSE= BSD2CLAUSE -USE_ASDF= yes +USES= cl USE_GITHUB= yes GH_ACCOUNT= edicl @@ -60,5 +61,4 @@ ${INSTALL_DATA} ${WRKSRC}/CHANGELOG ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/docs/index.html ${STAGEDIR}${DOCSDIR} -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: www/cl-lml-sbcl/Makefile =================================================================== --- www/cl-lml-sbcl/Makefile +++ www/cl-lml-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= lml PORTVERSION= 2.5.7 -PORTREVISION= 89 +PORTREVISION= 90 CATEGORIES= www textproc PKGNAMEPREFIX= cl- DISTFILES= # none @@ -12,9 +12,8 @@ BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/system-registry/lml.asd:www/cl-lml RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/system-registry/lml.asd:www/cl-lml -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: www/cl-lml/Makefile =================================================================== --- www/cl-lml/Makefile +++ www/cl-lml/Makefile @@ -1,6 +1,6 @@ PORTNAME= lml PORTVERSION= 2.5.7 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= www textproc MASTER_SITES= http://files.b9.com/lml/ \ http://people.bsdgroup.de/~as/freebsd/distfiles/ @@ -12,7 +12,7 @@ NO_BUILD= yes -USE_ASDF= yes +USES= cl PORTDOCS= Makefile make.lisp readme.html readme.lml @@ -22,11 +22,10 @@ @${MKDIR} ${STAGEDIR}${ASDF_PATHNAME} ${STAGEDIR}${ASDF_REGISTRY} @${INSTALL_DATA} ${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME} @${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.asd ${STAGEDIR}${ASDF_PATHNAME} - @${LN} -sf ${ASDF_PATHNAME}/${PORTNAME}.asd ${STAGEDIR}${ASDF_REGISTRY} + @${RLN} ${STAGEDIR}${ASDF_PATHNAME}/${PORTNAME}.asd ${STAGEDIR}${ASDF_REGISTRY} @${MKDIR} ${STAGEDIR}${DOCSDIR} .for FILE in ${PORTDOCS} @${INSTALL_DATA} ${WRKSRC}/doc/${FILE} ${STAGEDIR}${DOCSDIR} .endfor -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: x11-wm/stumpwm/Makefile =================================================================== --- x11-wm/stumpwm/Makefile +++ x11-wm/stumpwm/Makefile @@ -21,7 +21,6 @@ USES= autoreconf gmake USE_GITHUB= yes -USE_SBCL= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-compression \ Index: x11/cl-clx-sbcl/Makefile =================================================================== --- x11/cl-clx-sbcl/Makefile +++ x11/cl-clx-sbcl/Makefile @@ -1,6 +1,6 @@ PORTNAME= clx DISTVERSION= 0.7.6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= x11 lisp PKGNAMEPREFIX= cl- PKGNAMESUFFIX= -sbcl @@ -15,9 +15,8 @@ BUILD_DEPENDS= ${PKGNAMEPREFIX}${PORTNAME}>=0:x11/${PKGNAMEPREFIX}${PORTNAME} RUN_DEPENDS= ${PKGNAMEPREFIX}${PORTNAME}>=0:x11/${PKGNAMEPREFIX}${PORTNAME} -USE_ASDF_FASL= yes +USES= cl FASL_TARGET= sbcl FASL_BUILD= yes -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include Index: x11/cl-clx/Makefile =================================================================== --- x11/cl-clx/Makefile +++ x11/cl-clx/Makefile @@ -1,5 +1,6 @@ PORTNAME= clx DISTVERSION= 0.7.6 +PORTREVISION= 1 CATEGORIES= x11 lisp PKGNAMEPREFIX= cl- @@ -9,8 +10,7 @@ LICENSE= MIT -USES= makeinfo tar:tgz -USE_ASDF= yes +USES= cl makeinfo tar:tgz USE_GITHUB= yes GH_ACCOUNT= sharplispers @@ -53,5 +53,4 @@ ${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}) -.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include