diff --git a/devel/Makefile b/devel/Makefile --- a/devel/Makefile +++ b/devel/Makefile @@ -413,6 +413,7 @@ SUBDIR += cl-alexandria SUBDIR += cl-alexandria-sbcl SUBDIR += cl-asdf + SUBDIR += cl-asdf-sbcl SUBDIR += cl-cffi SUBDIR += cl-infix SUBDIR += cl-infix-sbcl diff --git a/devel/cl-asdf-sbcl/Makefile b/devel/cl-asdf-sbcl/Makefile new file mode 100644 --- /dev/null +++ b/devel/cl-asdf-sbcl/Makefile @@ -0,0 +1,22 @@ +PORTNAME= asdf +PORTVERSION= 3.3.7 +CATEGORIES= devel lisp +PKGNAMEPREFIX= cl- +DISTFILES= # none + +LICENSE= PD + +MAINTAINER= olgeni@FreeBSD.org +COMMENT= System definition facility for Common Lisp +WWW= https://common-lisp.net/project/asdf/ + +USE_ASDF= yes +FASL_TARGET= sbcl +FASL_BUILD= yes + +pre-install: + @${MV} ${WRKSRC}/build/* ${WRKSRC}/ + @${RMDIR} ${WRKSRC}/build + +.include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" +.include diff --git a/devel/cl-asdf-sbcl/pkg-descr b/devel/cl-asdf-sbcl/pkg-descr new file mode 100644 --- /dev/null +++ b/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. diff --git a/devel/cl-asdf/Makefile b/devel/cl-asdf/Makefile --- a/devel/cl-asdf/Makefile +++ b/devel/cl-asdf/Makefile @@ -1,32 +1,42 @@ PORTNAME= asdf -DISTVERSION= 3.3.4.7 +DISTVERSION= 3.3.7 PORTEPOCH= 2 CATEGORIES= devel lisp +MASTER_SITES= https://asdf.common-lisp.dev/archives/ PKGNAMEPREFIX= cl- MAINTAINER= olgeni@FreeBSD.org COMMENT= System definition facility for Common Lisp -WWW= https://www.cliki.net/asdf +WWW= https://common-lisp.net/project/asdf/ LICENSE= MIT USES= gmake -USE_GITLAB= yes -GL_SITE= https://gitlab.common-lisp.net -GL_TAGNAME= a58828745a610c1af841a86587ba197707c89eb3 ALL_TARGET= build/asdf.lisp SUB_FILES= pkg-message OPTIONS_DEFINE= DOCS +do-build: + (cd ${WRKSRC} && /bin/sh make-asdf.sh build_asdf) + do-install: - @${MKDIR} ${STAGEDIR}${ASDF_PATHNAME} - @${MKDIR} ${STAGEDIR}${ASDF_REGISTRY} - ${INSTALL_DATA} ${WRKSRC}/build/asdf.lisp ${STAGEDIR}${ASDF_PATHNAME} - ${INSTALL_DATA} ${WRKSRC}/*.asd ${STAGEDIR}${ASDF_PATHNAME} + @${MKDIR} ${STAGEDIR}${ASDF_PATHNAME} \ + ${STAGEDIR}${ASDF_PATHNAME}/build \ + ${STAGEDIR}${ASDF_PATHNAME}/contrib \ + ${STAGEDIR}${ASDF_PATHNAME}/uiop \ + ${STAGEDIR}${ASDF_REGISTRY} + ${INSTALL_DATA} ${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME} + ${INSTALL_DATA} ${WRKSRC}/build/asdf.lisp ${STAGEDIR}${ASDF_PATHNAME}/build/ + ${INSTALL_DATA} ${WRKSRC}/contrib/*.lisp ${STAGEDIR}${ASDF_PATHNAME}/contrib + ${INSTALL_DATA} ${WRKSRC}/uiop/*.lisp ${STAGEDIR}${ASDF_PATHNAME}/uiop + ${INSTALL_DATA} ${WRKSRC}/version.lisp-expr ${STAGEDIR}${ASDF_PATHNAME} + ${INSTALL_DATA} ${WRKSRC}/asdf.asd ${STAGEDIR}${ASDF_PATHNAME} + ${INSTALL_DATA} ${WRKSRC}/uiop/uiop.asd ${STAGEDIR}${ASDF_PATHNAME}/uiop + ${RLN} ${STAGEDIR}${ASDF_PATHNAME}/build/asdf.lisp ${STAGEDIR}${ASDF_PATHNAME} ${RLN} ${STAGEDIR}${ASDF_PATHNAME}/asdf.asd ${STAGEDIR}${ASDF_REGISTRY} - ${SED} -i '' -e 's|%%PREFIX%%|${PREFIX}|' ${STAGEDIR}${ASDF_PATHNAME}/asdf.lisp + ${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}|' \ @@ -35,7 +45,8 @@ do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR} + (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) + (cd ${STAGEDIR}${DOCSDIR} && ${RM} .htaccess Changelog Makefile) .include .include diff --git a/devel/cl-asdf/bsd.cl-asdf.mk b/devel/cl-asdf/bsd.cl-asdf.mk --- a/devel/cl-asdf/bsd.cl-asdf.mk +++ b/devel/cl-asdf/bsd.cl-asdf.mk @@ -66,11 +66,12 @@ .if defined(USE_ASDF_FASL) .if defined(USE_SBCL) -# SBCL already has a bundled ASDF framework +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 .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 .endif # defined(USE_ASDF_FASL) .if defined(FASL_BUILD) diff --git a/devel/cl-asdf/distinfo b/devel/cl-asdf/distinfo --- a/devel/cl-asdf/distinfo +++ b/devel/cl-asdf/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1617890452 -SHA256 (asdf-asdf-a58828745a610c1af841a86587ba197707c89eb3_GL0.tar.gz) = 4bc15cf1d0fbff629b2d1dae46e695fdf5fe3044832a277ea3f1af5fc7c16623 -SIZE (asdf-asdf-a58828745a610c1af841a86587ba197707c89eb3_GL0.tar.gz) = 514937 +TIMESTAMP = 1731607586 +SHA256 (asdf-3.3.7.tar.gz) = 512140d1811e0ed3c5a3f132789d1a59c77ae7af2a17b1f1b392a82c6f82d699 +SIZE (asdf-3.3.7.tar.gz) = 531892 diff --git a/devel/cl-asdf/files/asdf-init.lisp b/devel/cl-asdf/files/asdf-init.lisp --- a/devel/cl-asdf/files/asdf-init.lisp +++ b/devel/cl-asdf/files/asdf-init.lisp @@ -36,22 +36,22 @@ ;; 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") +;; (load "%%PREFIX%%/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 +;; %%PREFIX%%/lib/clisp/config.lisp ;; ~/.clisprc ;; ;; CMUCL: -;; /usr/local/lib/cmucl/lib/cmucl/lib/site-init.lisp +;; %%PREFIX%%/lib/cmucl/lib/cmucl/lib/site-init.lisp ;; ~/.cmucl-init.lisp ;; ;; SBCL: -;; /usr/local/etc/sbclrc +;; %%PREFIX%%/etc/sbclrc ;; ~/.sbclrc ;; ;; CLOZURE CL / OPENMCL: @@ -71,7 +71,7 @@ ;; 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 +;; its own directory in %%PREFIX%%/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. @@ -225,7 +225,7 @@ (pushnew :inherit-configuration *freebsd-output-translations*) -(dolist (path (directory "/usr/local/lib/common-lisp/*/")) +(dolist (path (directory "%%PREFIX%%/lib/common-lisp/*/")) (let ((source (make-pathname :directory (append (pathname-directory path) (list :wild-inferiors)))) @@ -242,7 +242,7 @@ ;; 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/") + :directory (append (pathname-directory #P"%%PREFIX%%/lib/common-lisp/") (list portname :wild-inferiors)))) (target (make-pathname :directory (append (pathname-directory wrksrc) diff --git a/devel/cl-asdf/pkg-plist b/devel/cl-asdf/pkg-plist --- a/devel/cl-asdf/pkg-plist +++ b/devel/cl-asdf/pkg-plist @@ -1,5 +1,77 @@ @sample etc/asdf-init.lisp.default etc/asdf-init.lisp -%%LIB32DIR%%/common-lisp/asdf/asdf.asd -%%LIB32DIR%%/common-lisp/asdf/asdf.lisp -%%LIB32DIR%%/common-lisp/system-registry/asdf.asd -%%PORTDOCS%%%%DOCSDIR%%/README.md +lib/common-lisp/asdf/action.lisp +lib/common-lisp/asdf/asdf.lisp +lib/common-lisp/asdf/build/asdf.lisp +lib/common-lisp/asdf/asdf.asd +lib/common-lisp/asdf/backward-interface.lisp +lib/common-lisp/asdf/backward-internals.lisp +lib/common-lisp/asdf/bundle.lisp +lib/common-lisp/asdf/component.lisp +lib/common-lisp/asdf/concatenate-source.lisp +lib/common-lisp/asdf/contrib/debug-plan.lisp +lib/common-lisp/asdf/contrib/debug.lisp +lib/common-lisp/asdf/contrib/detect-multiply-used-files.lisp +lib/common-lisp/asdf/contrib/fasl-op.lisp +lib/common-lisp/asdf/contrib/fast-compile-op.lisp +lib/common-lisp/asdf/contrib/wild-modules.lisp +lib/common-lisp/asdf/find-component.lisp +lib/common-lisp/asdf/find-system.lisp +lib/common-lisp/asdf/footer.lisp +lib/common-lisp/asdf/forcing.lisp +lib/common-lisp/asdf/header.lisp +lib/common-lisp/asdf/interface.lisp +lib/common-lisp/asdf/lisp-action.lisp +lib/common-lisp/asdf/operate.lisp +lib/common-lisp/asdf/operation.lisp +lib/common-lisp/asdf/output-translations.lisp +lib/common-lisp/asdf/package-inferred-system.lisp +lib/common-lisp/asdf/parse-defsystem.lisp +lib/common-lisp/asdf/plan.lisp +lib/common-lisp/asdf/session.lisp +lib/common-lisp/asdf/source-registry.lisp +lib/common-lisp/asdf/system-registry.lisp +lib/common-lisp/asdf/system.lisp +lib/common-lisp/asdf/uiop/backward-driver.lisp +lib/common-lisp/asdf/uiop/common-lisp.lisp +lib/common-lisp/asdf/uiop/configuration.lisp +lib/common-lisp/asdf/uiop/driver.lisp +lib/common-lisp/asdf/uiop/filesystem.lisp +lib/common-lisp/asdf/uiop/image.lisp +lib/common-lisp/asdf/uiop/launch-program.lisp +lib/common-lisp/asdf/uiop/lisp-build.lisp +lib/common-lisp/asdf/uiop/os.lisp +lib/common-lisp/asdf/uiop/package.lisp +lib/common-lisp/asdf/uiop/pathname.lisp +lib/common-lisp/asdf/uiop/run-program.lisp +lib/common-lisp/asdf/uiop/stream.lisp +lib/common-lisp/asdf/uiop/uiop.asd +lib/common-lisp/asdf/uiop/utility.lisp +lib/common-lisp/asdf/uiop/version.lisp +lib/common-lisp/asdf/upgrade.lisp +lib/common-lisp/asdf/user.lisp +lib/common-lisp/asdf/version.lisp-expr +lib/common-lisp/system-registry/asdf.asd +lib/common-lisp/system-registry/uiop.asd +%%PORTDOCS%%%%DOCSDIR%%/asdf.texinfo +%%PORTDOCS%%%%DOCSDIR%%/best_practices.md +%%PORTDOCS%%%%DOCSDIR%%/cclan.png +%%PORTDOCS%%%%DOCSDIR%%/exported-functions +%%PORTDOCS%%%%DOCSDIR%%/exported-non-function-names +%%PORTDOCS%%%%DOCSDIR%%/favicon.ico +%%PORTDOCS%%%%DOCSDIR%%/index.html +%%PORTDOCS%%%%DOCSDIR%%/lisp-logo120x80.png +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.1.2.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.1.5.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.1.6.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.2.0.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.2.1.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.3.0.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.3.1.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.3.2.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.3.3.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.3.4.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.3.5.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.3.6.txt +%%PORTDOCS%%%%DOCSDIR%%/release-emails/asdf-3.3.7.txt +%%PORTDOCS%%%%DOCSDIR%%/style.css +%%PORTDOCS%%%%DOCSDIR%%/undocumented-functions