diff --git a/converters/cl-babel-sbcl/Makefile b/converters/cl-babel-sbcl/Makefile index 3a017cd85b87..62e96e0c3947 100644 --- a/converters/cl-babel-sbcl/Makefile +++ b/converters/cl-babel-sbcl/Makefile @@ -1,28 +1,28 @@ PORTNAME= babel PORTVERSION= 2010.01.16 -PORTREVISION= 58 +PORTREVISION= 59 CATEGORIES= converters lisp PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Charset encoding/decoding library written in Common Lisp BROKEN= does not build: depends on file: /usr/local/lib/common-lisp/alexandria/sbclfasl/arrays.fasl - not found BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/babel/babel.asd:converters/cl-babel \ ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/sbclfasl/arrays.fasl:devel/cl-alexandria-sbcl \ ${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 RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/babel/babel.asd:converters/cl-babel \ ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/sbclfasl/arrays.fasl:devel/cl-alexandria-sbcl \ ${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 FASL_TARGET= sbcl FASL_BUILD= yes ASDF_MODULES= babel babel-streams .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/devel/cl-alexandria-sbcl/Makefile b/devel/cl-alexandria-sbcl/Makefile index 47e0b19d732d..2dd79dd18524 100644 --- a/devel/cl-alexandria-sbcl/Makefile +++ b/devel/cl-alexandria-sbcl/Makefile @@ -1,22 +1,22 @@ PORTNAME= alexandria PORTVERSION= 1.2 -PORTREVISION= 7 +PORTREVISION= 8 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 BUILD_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/alexandria.asd:devel/cl-alexandria RUN_DEPENDS= ${LOCALBASE}/${CL_LIBDIR_REL}/alexandria/alexandria.asd:devel/cl-alexandria USE_ASDF_FASL= yes FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/devel/cl-infix-sbcl/Makefile b/devel/cl-infix-sbcl/Makefile index c3374c8f2b69..301ba351033b 100644 --- a/devel/cl-infix-sbcl/Makefile +++ b/devel/cl-infix-sbcl/Makefile @@ -1,27 +1,27 @@ # Created by: Pedro F Giffuni PORTNAME= infix PORTVERSION= 19960628 -PORTREVISION= 62 +PORTREVISION= 63 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Lisp macro to read math statements in infix notation # Converted from NO_CDROM LICENSE= infix LICENSE_NAME= infix LICENSE_TEXT= No fees or compensation can be charged LICENSE_PERMS= dist-mirror pkg-mirror auto-accept 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/devel/cl-port-sbcl/Makefile b/devel/cl-port-sbcl/Makefile index cd6ad05f4903..98bc160d29e7 100644 --- a/devel/cl-port-sbcl/Makefile +++ b/devel/cl-port-sbcl/Makefile @@ -1,21 +1,21 @@ # Created by: Henrik Motakef PORTNAME= port PORTVERSION= 2002.10.02.1 -PORTREVISION= 60 +PORTREVISION= 61 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Cross-Lisp portability package 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/devel/cl-split-sequence-sbcl/Makefile b/devel/cl-split-sequence-sbcl/Makefile index c5f69dc58d9e..5a915292cd73 100644 --- a/devel/cl-split-sequence-sbcl/Makefile +++ b/devel/cl-split-sequence-sbcl/Makefile @@ -1,21 +1,21 @@ # Created by: Henrik Motakef PORTNAME= split-sequence PORTVERSION= 20011114.1 -PORTREVISION= 59 +PORTREVISION= 60 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Partitioning Common Lisp sequences 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/devel/cl-trivial-features-sbcl/Makefile b/devel/cl-trivial-features-sbcl/Makefile index 4a523a33bdab..dd087f8377a1 100644 --- a/devel/cl-trivial-features-sbcl/Makefile +++ b/devel/cl-trivial-features-sbcl/Makefile @@ -1,19 +1,19 @@ PORTNAME= trivial-features PORTVERSION= 2010.01.16 -PORTREVISION= 59 +PORTREVISION= 60 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Ensures consistent *FEATURES* in Common Lisp 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/devel/cl-trivial-gray-streams-sbcl/Makefile b/devel/cl-trivial-gray-streams-sbcl/Makefile index f99d8c3a871b..4acb647b13f5 100644 --- a/devel/cl-trivial-gray-streams-sbcl/Makefile +++ b/devel/cl-trivial-gray-streams-sbcl/Makefile @@ -1,19 +1,19 @@ PORTNAME= trivial-gray-streams PORTVERSION= 2008.11.02 -PORTREVISION= 59 +PORTREVISION= 60 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Thin compatibility layer for Gray streams 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile index beaa1ee7940e..03d1de345c16 100644 --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -1,165 +1,165 @@ # All *-sbcl ports and any other port with SBCL fasl files must get a # PORTREVISION bump when lang/sbcl is updated. The compiled fasl files are # pinned to exact versions of everything used to build them. PORTNAME= sbcl DISTVERSION= 2.1.7 DISTVERSIONSUFFIX= -source -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= lang lisp MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTVERSION} \ SF/${PORTNAME}/${PORTNAME}/${BOOTVERSION}:binaries DISTFILES= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= krion@FreeBSD.org COMMENT= Common Lisp development system derived from the CMU CL system LICENSE= BSD2CLAUSE PD LICENSE_COMB= dual LICENSE_FILE= ${WRKSRC}/COPYING ONLY_FOR_ARCHS= amd64 i386 LIB_DEPENDS= libgmp.so:math/gmp \ libmpfr.so:math/mpfr RUN_DEPENDS= cl-asdf>=0:devel/cl-asdf USES= gmake makeinfo tar:bzip2 SUB_FILES= pkg-message sbclrc WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} PORTDOCS= * # All options explained into file: ${WRKSRC}/base-target-features.lisp-expr OPTIONS_DEFINE= DOCS QSHOW RENAME SAFEPOINT THREADS UNICODE XREF ZLIB OPTIONS_DEFAULT= RENAME SBCL THREADS UNICODE OPTIONS_SINGLE= BOOTSTRAP OPTIONS_SINGLE_BOOTSTRAP= ABCL CCL CMUCL SBCL OPTIONS_EXCLUDE= ABCL CMUCL ABCL_DESC= Armed Bear Common Lisp BOOTSTRAP_DESC= Supported languages of the build host CCL_DESC= Clozure Common Lisp CMUCL_DESC= Carnegie Mellon University Common Lisp QSHOW_DESC= C runtime with low-level debugging output RENAME_DESC= Rename suffix .core to _core SAFEPOINT_DESC= Using safepoints instead of signals SBCL_DESC= Steel Bank Common Lisp XREF_DESC= XREF data for SBCL internals ABCL_BUILD_DEPENDS= abcl:lang/abcl ABCL_VARS= XC_HOST="abcl" CCL_BUILD_DEPENDS= ccl:lang/ccl CCL_VARS= XC_HOST="ccl --no-init --batch --quiet" CMUCL_BUILD_DEPENDS= lisp:lang/cmucl CMUCL_VARS= XC_HOST="lisp -nositeinit -noinit -batch -quiet" DOCS_VARS= INFO="asdf sbcl" QSHOW_VARS= MAKE_SH_ARGS+="--with-sb-qshow" QSHOW_VARS_OFF= MAKE_SH_ARGS+="--without-sb-qshow" RENAME_PLIST_SUB= CORE_SUFFIX="_core" RENAME_PLIST_SUB_OFF= CORE_SUFFIX=".core" SAFEPOINT_IMPLIES= THREADS SAFEPOINT_VARS= MAKE_SH_ARGS+="--with-sb-safepoint --with-sb-thruption --with-sb-wtimer" SAFEPOINT_VARS_OFF= MAKE_SH_ARGS+="--without-sb-safepoint --without-sb-thruption --without-sb-wtimer" SBCL_DISTFILES= ${PORTNAME}-${SBCL_BOOT_LIST:M${ARCHOS_PATTERN}}-binary${EXTRACT_SUFX}:binaries SBCL_VARS= XC_HOST="${BOOT_WRKSRC}/src/runtime/sbcl --core ${BOOT_WRKSRC}/output/${CORE} --noinform --disable-debugger --no-sysinit --no-userinit" THREADS_VARS= MAKE_SH_ARGS+="--with-sb-thread" THREADS_VARS_OFF= MAKE_SH_ARGS+="--without-sb-thread" UNICODE_VARS= MAKE_SH_ARGS+="--with-sb-unicode" UNICODE_VARS_OFF= MAKE_SH_ARGS+="--without-sb-unicode" XREF_VARS= MAKE_SH_ARGS+="--with-sb-xref-for-internals" XREF_VARS_OFF= MAKE_SH_ARGS+="--without-sb-xref-for-internals" ZLIB_VARS= MAKE_SH_ARGS+="--with-sb-core-compression" ZLIB_VARS_OFF= MAKE_SH_ARGS+="--without-sb-core-compression" BOOTVERSION= 1.2.7 CONMODULES= asdf sb-aclrepl sb-bsd-sockets sb-cltl2 sb-concurrency sb-cover \ sb-executable sb-gmp sb-grovel sb-introspect sb-md5 sb-mpfr \ sb-posix sb-queue sb-rotate-byte sb-rt sb-simple-streams \ sb-sprof MAKE_SH_ARGS?= --prefix="${PREFIX}" --xc-host="${XC_HOST}" # You can use the DYNAMIC_SPACE_SIZE knob to change the size of SBCL dynamically-allocated memory. # Default for arch: i386 = 512Mb, amd64 = 1Gb. .if defined(DYNAMIC_SPACE_SIZE) MAKE_SH_ARGS+= --dynamic-space-size=${DYNAMIC_SPACE_SIZE} .endif SBCL_BOOT_LIST= ${BOOTVERSION}-x86-64-freebsd ${BOOTVERSION}-x86-freebsd \ ${BOOTVERSION}-x86-64-dragonfly .include ARCHOS_PATTERN= *-${ARCH:S/amd64/x86-64/:S/i386/x86/}-${OPSYS:tl}* BOOT_WRKSRC= ${WRKDIR}/${PORTNAME}-${SBCL_BOOT_LIST:M${ARCHOS_PATTERN}} # for port maintenance, invoke "make makesum PLUS_BOOTSTRAPS=1" .if defined (PLUS_BOOTSTRAPS) . for B in ${SBCL_BOOT_LIST} . if ! ${DISTFILES:Msbcl-${B}-*} DISTFILES:= ${DISTFILES} \ ${PORTNAME}-${B}-binary${EXTRACT_SUFX}:binaries . endif . endfor .endif # Old FreeBSD bootstraps feature the older core name for SBCL bootstrap .if ${OPSYS} == FreeBSD CORE= sbcl.core .else CORE= sbcl_core .endif post-patch: @${REINPLACE_CMD} -e 's|/etc|${PREFIX}/etc|' \ ${WRKSRC}/src/code/toplevel.lisp \ ${WRKSRC}/doc/${PORTNAME}.1 \ ${WRKSRC}/doc/manual/start-stop.texinfo post-patch-RENAME-on: ${GREP} -Frl '.core' ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e 's|\.core|_core|g' do-build: (cd ${WRKSRC} && ${SH} make.sh ${MAKE_SH_ARGS}) post-build-DOCS-on: ${DO_MAKE_BUILD} -C ${WRKSRC}/doc/manual info html do-install: (cd ${WRKSRC} && ${SETENV} \ INSTALL_ROOT="${STAGEDIR}${PREFIX}" \ MAN_DIR="${STAGEDIR}${MANPREFIX}/man" \ INFO_DIR="${STAGEDIR}${PREFIX}/${INFO_PATH}" \ DOC_DIR="${STAGEDIR}${DOCSDIR}" \ ${SH} install.sh) .for M in ${CONMODULES} ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${M} ${INSTALL_DATA} ${WRKSRC}/contrib/${M}/*.[la]* \ ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${M}/ .endfor ${INSTALL_DATA} ${WRKDIR}/sbclrc ${STAGEDIR}${PREFIX}/etc/sbclrc.sample post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} post-install-DOCS-on: ${RM} ${STAGEDIR}${PREFIX}/${INFO_PATH}/dir # don't requered with INFO= ${RM} -r ${STAGEDIR}${DOCSDIR}/html # empty directory created by install.sh check regression-test test: build (cd ${WRKSRC}/tests && ${SH} run-tests.sh) .include diff --git a/lang/sbcl/files/patch_seq.lisp b/lang/sbcl/files/patch-src_code_seq.lisp similarity index 98% rename from lang/sbcl/files/patch_seq.lisp rename to lang/sbcl/files/patch-src_code_seq.lisp index a8b45f2311d0..95b36fd3e1d0 100644 --- a/lang/sbcl/files/patch_seq.lisp +++ b/lang/sbcl/files/patch-src_code_seq.lisp @@ -1,143 +1,143 @@ ---- work/sbcl-2.1.7/src/code/seq.lisp 2021-07-30 10:42:09.000000000 +0200 -+++ /home/krion/sbcl/src/code/seq.lisp 2021-08-06 22:34:09.026438000 +0200 +--- src/code/seq.lisp.orig 2021-07-30 08:42:09 UTC ++++ src/code/seq.lisp @@ -722,52 +722,53 @@ collect `(eq ,tag ,(sb-vm:saetp-typecode saetp))))) ;;;; REPLACE -(defun vector-replace (vector1 vector2 start1 start2 end1 diff) - (declare ((or (eql -1) index) start1 start2 end1) - (optimize (sb-c::insert-array-bounds-checks 0)) - ((integer -1 1) diff)) - (let ((tag1 (%other-pointer-widetag vector1)) - (tag2 (%other-pointer-widetag vector2))) - (macrolet ((copy (&body body) - `(do ((index1 start1 (+ index1 diff)) - (index2 start2 (+ index2 diff))) - ((= index1 end1)) - (declare (fixnum index1 index2)) - ,@body))) - (when (= tag1 tag2) - (when (= tag1 sb-vm:simple-vector-widetag) - (copy (setf (svref vector1 index1) (svref vector2 index2))) - (return-from vector-replace vector1)) - (let ((copier (sb-vm::blt-copier-for-widetag tag1))) - (when (functionp copier) - ;; VECTOR1 = destination, VECTOR2 = source, but copier wants FROM, TO - (funcall copier vector2 start2 vector1 start1 (- end1 start1)) - (return-from vector-replace vector1)))) - (let ((getter (the function (svref %%data-vector-reffers%% tag2))) - (setter (the function (svref %%data-vector-setters%% tag1)))) - (copy (funcall setter vector1 index1 (funcall getter vector2 index2)))))) - vector1) ;;; If we are copying around in the same vector, be careful not to copy the ;;; same elements over repeatedly. We do this by copying backwards. +;;; Bounding indices were checked for validity by DEFINE-SEQUENCE-TRAVERSER. (defmacro vector-replace-from-vector () - `(let ((nelts (min (- target-end target-start) - (- source-end source-start)))) - (with-array-data ((data1 target-sequence) (start1 target-start) (end1)) - (declare (ignore end1)) - (let ((end1 (the fixnum (+ start1 nelts)))) - (if (and (eq target-sequence source-sequence) - (> target-start source-start)) - (let ((end (the fixnum (1- end1)))) - (vector-replace data1 data1 - end - (the fixnum (- end - (- target-start source-start))) - (1- start1) - -1)) - (with-array-data ((data2 source-sequence) (start2 source-start) (end2)) - (declare (ignore end2)) - (vector-replace data1 data2 start1 start2 end1 1))))) + `(locally + (declare (optimize (safety 0))) + (let ((nelts (min (- target-end target-start) + (- source-end source-start)))) + (when (plusp nelts) + (with-array-data ((data1 target-sequence) (start1 target-start) (end1)) + (progn end1) + (with-array-data ((data2 source-sequence) (start2 source-start) (end2)) + (progn end2) + (let ((tag1 (%other-pointer-widetag data1)) + (tag2 (%other-pointer-widetag data2))) + (block replace + (when (= tag1 tag2) + (when (= tag1 sb-vm:simple-vector-widetag) ; rely on the transform + (replace (truly-the simple-vector data1) + (truly-the simple-vector data2) + :start1 start1 :end1 (truly-the index (+ start1 nelts)) + :start2 start2 :end2 (truly-the index (+ start2 nelts))) + (return-from replace)) + (let ((copier (sb-vm::blt-copier-for-widetag tag1))) + (when (functionp copier) + ;; these copiers figure out which direction to step. + ;; arg order is FROM, TO which is the opposite of REPLACE. + (funcall copier data2 start2 data1 start1 nelts) + (return-from replace)))) + ;; General case is just like the code emitted by TRANSFORM-REPLACE + ;; but using the getter and setter. + (let ((getter (the function (svref %%data-vector-reffers%% tag2))) + (setter (the function (svref %%data-vector-setters%% tag1)))) + (cond ((and (eq data1 data2) (> start1 start2)) + (do ((i (the (or (eql -1) index) (+ start1 nelts -1)) (1- i)) + (j (the (or (eql -1) index) (+ start2 nelts -1)) (1- j))) + ((< i start1)) + (declare (index i j)) + (funcall setter data1 i (funcall getter data2 j)))) + (t + (do ((i start1 (1+ i)) + (j start2 (1+ j)) + (end (the index (+ start1 nelts)))) + ((>= i end)) + (declare (index i j)) + (funcall setter data1 i (funcall getter data2 j)))))))))))) target-sequence)) (defmacro list-replace-from-list () @@ -819,44 +820,6 @@ target-sequence) (declare (fixnum target-index source-index)) (setf (aref target-sequence target-index) (car source-sequence)))) - -;;;; The support routines for REPLACE are used by compiler transforms, so we -;;;; worry about dealing with END being supplied or defaulting to NIL -;;;; at this level. - -(defun list-replace-from-list* (target-sequence source-sequence target-start - target-end source-start source-end) - (when (null target-end) (setq target-end (length target-sequence))) - (when (null source-end) (setq source-end (length source-sequence))) - (list-replace-from-list)) - -(defun list-replace-from-vector* (target-sequence source-sequence target-start - target-end source-start source-end) - (when (null target-end) (setq target-end (length target-sequence))) - (when (null source-end) (setq source-end (length source-sequence))) - (list-replace-from-vector)) - -(defun vector-replace-from-list* (target-sequence source-sequence target-start - target-end source-start source-end) - (when (null target-end) (setq target-end (length target-sequence))) - (when (null source-end) (setq source-end (length source-sequence))) - (vector-replace-from-list)) - -(defun vector-replace-from-vector* (target-sequence source-sequence - target-start target-end source-start - source-end) - (when (null target-end) (setq target-end (length target-sequence))) - (when (null source-end) (setq source-end (length source-sequence))) - (vector-replace-from-vector)) - -#+sb-unicode -(defun simple-character-string-replace-from-simple-character-string* - (target-sequence source-sequence - target-start target-end source-start source-end) - (declare (type (simple-array character (*)) target-sequence source-sequence)) - (when (null target-end) (setq target-end (length target-sequence))) - (when (null source-end) (setq source-end (length source-sequence))) - (vector-replace-from-vector)) (define-sequence-traverser replace (target-sequence1 source-sequence2 &rest args &key start1 end1 start2 end2) diff --git a/lang/sbcl/files/patch_tests_seq.pure.lisp b/lang/sbcl/files/patch-tests_seq.pure.lisp similarity index 83% rename from lang/sbcl/files/patch_tests_seq.pure.lisp rename to lang/sbcl/files/patch-tests_seq.pure.lisp index 059e6d57fa3e..89ea7f46a98d 100644 --- a/lang/sbcl/files/patch_tests_seq.pure.lisp +++ b/lang/sbcl/files/patch-tests_seq.pure.lisp @@ -1,21 +1,21 @@ ---- work/sbcl-2.1.7/tests/seq.pure.lisp 2021-07-30 10:42:10.000000000 +0200 -+++ /home/krion/sbcl/tests/seq.pure.lisp 2021-08-06 22:34:09.303934000 +0200 +--- tests/seq.pure.lisp.orig 2021-07-30 08:42:10 UTC ++++ tests/seq.pure.lisp @@ -584,3 +584,18 @@ ;; Try all other numeric array types (dolist (y arrays) (assert (equalp x y))))))) + +;; lp#1938598 +(with-test (:name :vector-replace-self) + ;; example 1 + (let ((string (make-array 0 :adjustable t :fill-pointer 0 :element-type 'character))) + (declare (notinline replace)) + (vector-push-extend #\_ string) + ;; also test it indirectly + (replace string string :start1 1 :start2 0)) + ;; example 2 + (let ((string (make-array 0 :adjustable t :fill-pointer 0 :element-type 'character))) + (declare (notinline replace)) + (loop for char across "tset" do (vector-push-extend char string)) + (replace string string :start2 1 :start1 2) + (assert (string= string "tsse")))) diff --git a/math/maxima/Makefile b/math/maxima/Makefile index d2b53c262744..247469f50447 100644 --- a/math/maxima/Makefile +++ b/math/maxima/Makefile @@ -1,136 +1,136 @@ # Created by: Scott Flatman PORTNAME= maxima PORTVERSION= 5.44.0 -PORTREVISION= 15 +PORTREVISION= 16 CATEGORIES= math lisp tk MASTER_SITES= SF/maxima/Maxima-source/${PORTVERSION}-source MAINTAINER= ports@FreeBSD.org COMMENT= Symbolic mathematics program LICENSE= GPLv2 MAXIMAEXTRACLAUSE LICENSE_COMB= multi LICENSE_NAME_MAXIMAEXTRACLAUSE= Maxima extra clause LICENSE_FILE_MAXIMAEXTRACLAUSE= ${FILESDIR}/license-extra-clause.txt LICENSE_PERMS_MAXIMAEXTRACLAUSE= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept BROKEN_FreeBSD_13_powerpc64= fails to build: unhandled lisp initialization error RUN_DEPENDS= gnuplot:math/gnuplot \ rlwrap:devel/rlwrap USES= autoreconf gmake makeinfo shared-mime-info GNU_CONFIGURE= yes CONFIGURE_ARGS= PYTHON=dummy INFO= imaxima maxima xmaxima abs_integrate drawutils kovacicODE logic PLIST_SUB+= PORTVERSION=${PORTVERSION} PORTDOCS= * PORTDATA= * PORTEXAMPLES= * OPTIONS_DEFINE= EXAMPLES DOCS NOUSERINIT MANPAGES SAGE TEST XMAXIMA OPTIONS_SINGLE= LISP OPTIONS_SINGLE_LISP= CCL CMUCL ECL SBCL OPTIONS_DEFAULT= ECL NOUSERINIT MANPAGES SAGE TEST XMAXIMA OPTIONS_SUB= yes CCL_DESC= Build with Clozure Common Lisp CCL_BUILD_DEPENDS= ccl:lang/ccl CCL_RUN_DEPENDS= ccl:lang/ccl CCL_CONFIGURE_ON= --with-ccl=ccl CCL_PLIST_SUB= BINDIR=binary-openmcl BINNAME=maxima.image CMUCL_DESC= Build with CMU Common Lisp CMUCL_BUILD_DEPENDS= lisp:lang/cmucl CMUCL_RUN_DEPENDS= lisp:lang/cmucl CMUCL_CONFIGURE_ON= --enable-cmucl CMUCL_PLIST_SUB= BINDIR=binary-cmucl BINNAME=maxima_core ECL_DESC= Build with Embedabble Common Lisp ECL_BUILD_DEPENDS= ecl:lang/ecl ECL_RUN_DEPENDS= ecl:lang/ecl ECL_LIB_DEPENDS= libgmp.so:math/gmp \ libffi.so:devel/libffi \ libgc.so:devel/boehm-gc \ libgc-threaded.so:devel/boehm-gc-threaded # libgc-threaded.so is really only used when ecl is built with THREADS on, # which is the default. See https://reviews.freebsd.org/D24959 for more # details. ECL_CONFIGURE_ON= --with-ecl=ecl ECL_PLIST_SUB= BINDIR=binary-ecl BINNAME=maxima NOUSERINIT_DESC= Do not load user init file for lisp (only for sbcl) NOUSERINIT_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_maxima.in NOUSERINIT_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-OFF-src_maxima.in SAGE_DESC= Build with patches from Sage (implies ECL) SAGE_BUILD_DEPENDS= ${LOCALBASE}/lib/libatomic_ops.a:devel/libatomic_ops SAGE_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-share_linearalgebra_matrixexp.lisp \ ${PATCHDIR}/extra-patch-src_grind.lisp \ ${PATCHDIR}/extra-patch-src_hayat.lisp \ ${PATCHDIR}/extra-patch-src_init-cl.lisp \ ${PATCHDIR}/extra-patch-src_maxima.system SAGE_IMPLIES= ECL SBCL_DESC= Build with Steel Bank Common Lisp SBCL_BUILD_DEPENDS= sbcl:lang/sbcl SBCL_RUN_DEPENDS= sbcl:lang/sbcl SBCL_CONFIGURE_ON= --enable-sbcl SBCL_PLIST_SUB= BINDIR=binary-sbcl BINNAME=maxima_core TEST_TARGET= check TEST_BUILD_DEPENDS= gnuplot:math/gnuplot \ rlwrap:devel/rlwrap TEST_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-OFF-Makefile.am XMAXIMA_DESC= Install xmaxima (implies DOCS and TEST) XMAXIMA_IMPLIES= DOCS TEST XMAXIMA_USES= tk XMAXIMA_CONFIGURE_WITH= wish=${WISH} XMAXIMA_EXTRA_PATCHES_OFF= ${PATCHDIR}/extra-patch-interfaces_Makefile.am post-patch: ${GREP} -Fe '.core' -l -r ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} 's;\.core;_core;g' ${FIND} -X ${WRKSRC}/interfaces/xmaxima -name 'Makefile.in' | ${XARGS} ${REINPLACE_CMD} "s;tclsh;${TCLSH};g" ${REINPLACE_CMD} "s;/usr;${LOCALBASE};g" ${WRKSRC}/src/intl.lisp post-patch-XMAXIMA-on: ${REINPLACE_CMD} "s;%%DOCSDIR%%;/${DOCSDIR:S,/, ,g};" \ ${WRKSRC}/interfaces/xmaxima/Tkmaxima/Paths.tcl post-configure: ${REINPLACE_CMD} '/ld-flags/s|" |"|' ${WRKSRC}/src/autoconf-variables.lisp ${REINPLACE_CMD} '/ld-flags/s| ")|")|' ${WRKSRC}/src/autoconf-variables.lisp pre-build-CCL-on: cd ${WRKSRC}/src/ && ${MKDIR} binary-ccl && ${LN} -s binary-ccl binary-openmcl post-build-MANPAGES-on: ${GZIP_CMD} ${WRKSRC}/doc/man/maxima.1 post-install: for x in "" "-1" "-2" "-3"; do ${INSTALL_MAN} ${WRKSRC}/doc/info/maxima.info$$x ${STAGEDIR}${PREFIX}/${INFO_PATH}; done ${INSTALL_MAN} ${WRKSRC}/doc/info/maxima-index.lisp ${STAGEDIR}${PREFIX}/${INFO_PATH} post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} cd ${WRKSRC}/doc/info && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} '-name maxima*\.html' post-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} cd ${WRKSRC}/demo && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR} '-name *\.dem' post-install-MANPAGES-on: ${INSTALL_MAN} ${WRKSRC}/doc/man/maxima.1.gz ${STAGEDIR}${PREFIX}/man/man1 post-install-SAGE-on: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/ecl ${INSTALL_DATA} ${WRKSRC}/src/binary-ecl/maxima.fas \ ${STAGEDIR}${PREFIX}/lib/ecl .include diff --git a/security/cl-md5-sbcl/Makefile b/security/cl-md5-sbcl/Makefile index 8584c2f283a1..12ceaf9c04e6 100644 --- a/security/cl-md5-sbcl/Makefile +++ b/security/cl-md5-sbcl/Makefile @@ -1,19 +1,19 @@ PORTNAME= md5 PORTVERSION= 1.8.5 -PORTREVISION= 59 +PORTREVISION= 60 CATEGORIES= security lisp PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Native MD5 implementation in Common Lisp 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/textproc/cl-meta-sbcl/Makefile b/textproc/cl-meta-sbcl/Makefile index ecea2da24f35..9d6e4e74e302 100644 --- a/textproc/cl-meta-sbcl/Makefile +++ b/textproc/cl-meta-sbcl/Makefile @@ -1,22 +1,22 @@ # Created by: Henrik Motakef PORTNAME= meta PORTVERSION= 0.1 -PORTREVISION= 60 +PORTREVISION= 61 PORTEPOCH= 1 CATEGORIES= textproc lisp PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Parser generator for Common Lisp 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/textproc/cl-ppcre-sbcl/Makefile b/textproc/cl-ppcre-sbcl/Makefile index da045e6cd8dc..68fa876d1664 100644 --- a/textproc/cl-ppcre-sbcl/Makefile +++ b/textproc/cl-ppcre-sbcl/Makefile @@ -1,20 +1,20 @@ # Created by: Henrik Motakef PORTNAME= cl-ppcre PORTVERSION= 2.1.1 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= textproc lisp DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Portable Perl-Compatible Regular Expression for Common Lisp 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/www/cl-lml-sbcl/Makefile b/www/cl-lml-sbcl/Makefile index e884e205f0de..7c25bb6e8b15 100644 --- a/www/cl-lml-sbcl/Makefile +++ b/www/cl-lml-sbcl/Makefile @@ -1,21 +1,21 @@ # Created by: Henrik Motakef PORTNAME= lml PORTVERSION= 2.5.7 -PORTREVISION= 57 +PORTREVISION= 58 CATEGORIES= www textproc PKGNAMEPREFIX= cl- DISTFILES= # none MAINTAINER= olgeni@FreeBSD.org COMMENT= Lisp Markup Language 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 FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/x11-wm/stumpwm/Makefile b/x11-wm/stumpwm/Makefile index 4edfd86d1a6b..eaa7cf107a87 100644 --- a/x11-wm/stumpwm/Makefile +++ b/x11-wm/stumpwm/Makefile @@ -1,88 +1,89 @@ # Created by: Alejandro Pulver PORTNAME= stumpwm DISTVERSION= 20.11-90 DISTVERSIONSUFFIX= -gccb964d +PORTREVISION= 1 CATEGORIES= x11-wm lisp MAINTAINER= jrm@FreeBSD.org COMMENT= Tiling, keyboard driven Window Manager written in Common Lisp LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= cl-alexandria>=0:devel/cl-alexandria \ cl-alexandria-sbcl>=0:devel/cl-alexandria-sbcl \ cl-clx>=0:x11/cl-clx \ cl-clx-sbcl>=0:x11/cl-clx-sbcl \ cl-ppcre>=0:textproc/cl-ppcre \ cl-ppcre-sbcl>=0:textproc/cl-ppcre-sbcl \ texinfo>=0:print/texinfo RUN_DEPENDS= cl-alexandria>=0:devel/cl-alexandria \ cl-alexandria-sbcl>=0:devel/cl-alexandria-sbcl \ cl-clx>=0:x11/cl-clx \ cl-clx-sbcl>=0:x11/cl-clx-sbcl \ cl-ppcre>=0:textproc/cl-ppcre \ cl-ppcre-sbcl>=0:textproc/cl-ppcre-sbcl USE_GITHUB= yes USE_SBCL= yes SUB_FILES= stumpwm SUB_LIST= ASDF_REGISTRY=${ASDF_REGISTRY} \ SBCL=${SBCL} INFO= ${PORTNAME} PLIST_SUB= ASDF_PATHNAME="${ASDF_PATHNAME:S,^${PREFIX}/,,}" \ ASDF_REGISTRY="${ASDF_REGISTRY:S,^${PREFIX}/,,}" PORTDOCS= AUTHORS COPYING HACKING NEWS README.md PORTEXAMPLES= sample-stumpwmrc.lisp OPTIONS_DEFINE= DOCS EXAMPLES post-patch: @${CP} ${WRKSRC}/load-stumpwm.lisp.in ${WRKSRC}/load-stumpwm.lisp @${REINPLACE_CMD} -e 's|@STUMPWM_ASDF_DIR@|${ASDF_PATHNAME}|' \ ${WRKSRC}/load-stumpwm.lisp ${CP} ${WRKSRC}/make-image.lisp.in ${WRKSRC}/make-image.lisp @${REINPLACE_CMD} -e 's|@MODULE_DIR@|${DATADIR}|' \ ${WRKSRC}/make-image.lisp do-build: (cd ${WRKSRC} && \ CL_SOURCE_REGISTRY="${WRKSRC}" \ ASDF_OUTPUT_TRANSLATIONS="/:" \ FBSD_ASDF_COMPILE_PORT=t PORTNAME=${PORTNAME} WRKSRC=${WRKSRC}/ \ ${SBCL} \ --noinform --no-sysinit --no-userinit \ --eval '#.(load "${LOCALBASE}/etc/asdf-init")' \ --eval "(asdf:oos 'asdf:compile-op :${PORTNAME} :force t)" \ --eval '(load "load-stumpwm.lisp")' \ --eval '(load "manual.lisp")' \ --eval '(stumpwm::generate-manual)' \ --eval '(sb-ext:quit)' && \ makeinfo stumpwm.texi) do-install: @${MKDIR} ${STAGEDIR}${ASDF_PATHNAME} \ ${STAGEDIR}${ASDF_REGISTRY} \ ${STAGEDIR}${ASDF_PATHNAME}/sbclfasl ${INSTALL_SCRIPT} ${WRKDIR}/stumpwm ${STAGEDIR}${PREFIX}/bin ${INSTALL_DATA} ${WRKSRC}/.dir-locals.el ${WRKSRC}/${PORTNAME}.asd \ ${WRKSRC}/*.lisp ${STAGEDIR}${ASDF_PATHNAME} ${INSTALL_DATA} ${WRKSRC}/*.fasl ${STAGEDIR}${ASDF_PATHNAME}/sbclfasl ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.info \ ${STAGEDIR}${PREFIX}/${INFO_PATH} @${RLN} ${STAGEDIR}${ASDF_PATHNAME}/${PORTNAME}.asd \ ${STAGEDIR}${ASDF_REGISTRY} do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}) do-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/${PORTEXAMPLES} ${STAGEDIR}/${EXAMPLESDIR} .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include diff --git a/x11/cl-clx-sbcl/Makefile b/x11/cl-clx-sbcl/Makefile index 292f97f2877f..9fb7d70baf57 100644 --- a/x11/cl-clx-sbcl/Makefile +++ b/x11/cl-clx-sbcl/Makefile @@ -1,22 +1,22 @@ PORTNAME= clx DISTVERSION= 0.7.5.65 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= x11 lisp PKGNAMEPREFIX= cl- PKGNAMESUFFIX= -sbcl DISTFILES= # none MAINTAINER= jrm@FreeBSD.org COMMENT= X11 client library for Common Lisp LICENSE= MIT BUILD_DEPENDS= ${PKGNAMEPREFIX}${PORTNAME}>=0:x11/${PKGNAMEPREFIX}${PORTNAME} RUN_DEPENDS= ${PKGNAMEPREFIX}${PORTNAME}>=0:x11/${PKGNAMEPREFIX}${PORTNAME} USE_ASDF_FASL= yes FASL_TARGET= sbcl FASL_BUILD= yes .include "${.CURDIR}/../../devel/cl-asdf/bsd.cl-asdf.mk" .include