From nobody Fri Aug 5 07:22:51 2022 X-Original-To: dev-commits-ports-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4LzcWJ0Lldz4Y7DN; Fri, 5 Aug 2022 07:22:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LzcWH6sqXz3kBs; Fri, 5 Aug 2022 07:22:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1659684172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BEQGc2orzYpvlCs+VbKxv7/fzoRJrnA6Gl5Rh9+HUpI=; b=rx5Bg95Z2SpBit9BLw+KKhecDGGlS9icf4pKnx+kaHzw+n9AjOY2OHcuBr4ZHTTZIc073h uAZWebNp453MQBjE86UjmYQQs2FrqXEPNvBMA37u7zJ7b5bwhpPGj+a5JcLcghZlvIfmZQ npeiVAKBlP93EWI8qiuw/SV6RFAAa8eVb20XsEoA984b8on2R4ln9SzN+CFUsfNeMfYC4n ZUl8ZDy9tSBYhmaYnO6sIZljJV6wUqXyUOi9JfD9DDKs+tGnG0KkTqVx4xi5NB1l72H47Z OxoIF3TF3rLh3fBCLic4T1ycPL57jMixWcdWYCa+6plcMiMc0b4cx80a9sgyDA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4LzcWH5tn0zlpD; Fri, 5 Aug 2022 07:22:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2757Mp4N083059; Fri, 5 Aug 2022 07:22:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2757MpiH083058; Fri, 5 Aug 2022 07:22:51 GMT (envelope-from git) Date: Fri, 5 Aug 2022 07:22:51 GMT Message-Id: <202208050722.2757MpiH083058@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org From: Kirill Ponomarev Subject: git: fc62245938b7 - 2022Q3 - lang/sbcl: Add core compression and sb-simd module List-Id: Commits to the quarterly branches of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-branches@freebsd.org X-BeenThere: dev-commits-ports-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: krion X-Git-Repository: ports X-Git-Refname: refs/heads/2022Q3 X-Git-Reftype: branch X-Git-Commit: fc62245938b730b0e37e1039ee10c4ebd6447fc4 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1659684172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BEQGc2orzYpvlCs+VbKxv7/fzoRJrnA6Gl5Rh9+HUpI=; b=d9+8CRatePOBIiYJGY5UFgA7K5wDglnNJe3P547RbF1afyQrBW7URmFRnkc8r3oDjlu9/T xXBZ+UcL7S90Ro3xfMEpNUifOatvRTZGymQbyYS0NgoYI3/kN6HFiu3S1DVvkvWLaQycfA m8zQ/pJ0ICF4gAbLPTRto/eRlfU0aaTN0ClluuK6k90kOo9B5ykD5x75oyoVIGIrVTs+s7 WacK5UAd8pqIAKdVfgV7NmZsNsqorwaoYQpiFqdiRATDgGHEIZBsKJ9XTntgX/Yx/C4c/+ w719ikkidecEZq447wsP4m5Zhngvyxo8yyAsgeloY1wo+kR7uuxk7xhMcbXF4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1659684172; a=rsa-sha256; cv=none; b=WcRgyg5QWbm5wK2/s8lwB8Ew70K8nIf9tjQIWA9+km8pD0094EnqWcG1Jha3OM05ydJObr Hruv138YLDg6Ll0TL4IDZ6nxMOa7gKhoiUpHuLIHmBrIS7gWjjrO7bNq2SQ9Et/7ubrvyW xQUqRr8tGYWCLVO6B94WDZSoXgpZfao+yEWJhNeiedQ/yl+uPBjeuAxCqaaZ7kPLM9uSEd SrNbHR2/eRZAhyt0BJ1RhlhbyG5woEG8ppjEeoymFysIBW56dsmdFwOKLdo7XKeu2bM6io PL5X6+FPtjaTsjstBKBN6x9VeWd/YqlVblzc1uY6AWe2GB44y8khjNcyDHS3fg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch 2022Q3 has been updated by krion: URL: https://cgit.FreeBSD.org/ports/commit/?id=fc62245938b730b0e37e1039ee10c4ebd6447fc4 commit fc62245938b730b0e37e1039ee10c4ebd6447fc4 Author: Kirill Ponomarev AuthorDate: 2022-08-05 07:20:36 +0000 Commit: Kirill Ponomarev CommitDate: 2022-08-05 07:22:44 +0000 lang/sbcl: Add core compression and sb-simd module PR: 265576 Reported by: dmgk and jinxiaoyong@gmail.com (cherry picked from commit 70419d445f16ec33270498abeb346318e3045bf1) --- lang/sbcl/Makefile | 32 ++++++++++++++++++++++++++------ lang/sbcl/pkg-plist | 31 +++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/lang/sbcl/Makefile b/lang/sbcl/Makefile index 64d80a8a554c..e1da9ebeef86 100644 --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -5,6 +5,7 @@ PORTNAME= sbcl DISTVERSION= 2.2.5 DISTVERSIONSUFFIX= -source +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= lang lisp MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTVERSION} \ @@ -33,8 +34,8 @@ WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} PORTDOCS= * # All options explained into file: ${WRKSRC}/base-target-features.lisp-expr -OPTIONS_DEFINE= DOCS LINKABLE_RUNTIME QSHOW SAFEPOINT THREADS UNICODE \ - XREF ZLIB +OPTIONS_DEFINE= COMPRESSION DOCS LINKABLE_RUNTIME QSHOW SAFEPOINT SIMD \ + THREADS UNICODE XREF OPTIONS_DEFAULT= SBCL THREADS UNICODE OPTIONS_SINGLE= BOOTSTRAP @@ -45,10 +46,12 @@ 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 +COMPRESSION_DESC= Enable core compression LINKABLE_RUNTIME_DESC= Enable SB-LINKABLE-RUNTIME feature (experimental) QSHOW_DESC= C runtime with low-level debugging output SAFEPOINT_DESC= Using safepoints instead of signals SBCL_DESC= Steel Bank Common Lisp +SIMD_DESC= Enable SB-SIMD (requires CPUs supporting AVX2) XREF_DESC= XREF data for SBCL internals ABCL_BUILD_DEPENDS= abcl:lang/abcl @@ -60,6 +63,11 @@ CCL_VARS= XC_HOST="ccl --no-init --batch --quiet" CMUCL_BUILD_DEPENDS= lisp:lang/cmucl CMUCL_VARS= XC_HOST="lisp -nositeinit -noinit -batch -quiet" +COMPRESSION_LIB_DEPENDS= libzstd.so:archivers/zstd +COMPRESSION_USES= localbase:ldflags +COMPRESSION_VARS= MAKE_SH_ARGS+="--with-sb-core-compression" +COMPRESSION_VARS_OFF= MAKE_SH_ARGS+="--without-sb-core-compression" + DOCS_VARS= INFO="asdf sbcl" LINKABLE_RUNTIME_VARS= MAKE_SH_ARGS+="--with-sb-linkable-runtime" @@ -75,6 +83,9 @@ SAFEPOINT_VARS_OFF= MAKE_SH_ARGS+="--without-sb-safepoint --without-sb-thruption 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/sbcl.core --noinform --disable-debugger --no-sysinit --no-userinit" +SIMD_VARS= MAKE_SH_ARGS+="--with-sb-simd" +SIMD_VARS_OFF= MAKE_SH_ARGS+="--without-sb-simd" + THREADS_VARS= MAKE_SH_ARGS+="--with-sb-thread" THREADS_VARS_OFF= MAKE_SH_ARGS+="--without-sb-thread" @@ -84,9 +95,6 @@ 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 \ @@ -112,6 +120,12 @@ PLIST_SUB+= LINKABLE_RUNTIME="" PLIST_SUB+= LINKABLE_RUNTIME="@comment " .endif +.if ${PORT_OPTIONS:MSIMD} +PLIST_SUB+= SIMD="" +.else +PLIST_SUB+= SIMD="@comment " +.endif + # for port maintenance, invoke "make makesum PLUS_BOOTSTRAPS=1" .if defined (PLUS_BOOTSTRAPS) . for B in ${SBCL_BOOT_LIST} @@ -129,7 +143,7 @@ post-patch: ${WRKSRC}/doc/manual/start-stop.texinfo do-build: - (cd ${WRKSRC} && ${SH} make.sh ${MAKE_SH_ARGS}) + (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} LINKFLAGS="${LDFLAGS}" ${SH} make.sh ${MAKE_SH_ARGS}) post-build-DOCS-on: ${DO_MAKE_BUILD} -C ${WRKSRC}/doc/manual info html @@ -147,6 +161,12 @@ do-install: ${INSTALL_DATA} ${WRKSRC}/contrib/${M}/*.[la]* \ ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/${M}/ .endfor +.if ${PORT_OPTIONS:MSIMD} +# sb-simd has its code in './code' + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/sb-simd + ${INSTALL_DATA} ${WRKSRC}/contrib/sb-simd/code/*.[la]* \ + ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/sb-simd/ +.endif ${INSTALL_DATA} ${WRKDIR}/sbclrc ${STAGEDIR}${PREFIX}/etc/sbclrc.sample post-install: diff --git a/lang/sbcl/pkg-plist b/lang/sbcl/pkg-plist index 1f3ea906ccff..6f2b095df01c 100644 --- a/lang/sbcl/pkg-plist +++ b/lang/sbcl/pkg-plist @@ -79,6 +79,8 @@ lib/sbcl/contrib/sb-rotate-byte.asd lib/sbcl/contrib/sb-rotate-byte.fasl lib/sbcl/contrib/sb-rt.asd lib/sbcl/contrib/sb-rt.fasl +%%SIMD%%lib/sbcl/contrib/sb-simd.asd +%%SIMD%%lib/sbcl/contrib/sb-simd.fasl lib/sbcl/contrib/sb-simple-streams.asd lib/sbcl/contrib/sb-simple-streams.fasl lib/sbcl/contrib/sb-sprof.asd @@ -181,6 +183,35 @@ lib/sbcl/sb-rotate-byte/x86-64-vm.lisp lib/sbcl/sb-rotate-byte/x86-vm.lisp lib/sbcl/sb-rt/rt.lisp lib/sbcl/sb-rt/sb-rt.asd +%%SIMD%%lib/sbcl/sb-simd/constants.lisp +%%SIMD%%lib/sbcl/sb-simd/cpu-identification.lisp +%%SIMD%%lib/sbcl/sb-simd/define-arefs.lisp +%%SIMD%%lib/sbcl/sb-simd/define-associatives.lisp +%%SIMD%%lib/sbcl/sb-simd/define-comparisons.lisp +%%SIMD%%lib/sbcl/sb-simd/define-custom-vops.lisp +%%SIMD%%lib/sbcl/sb-simd/define-fake-vops.lisp +%%SIMD%%lib/sbcl/sb-simd/define-ifs.lisp +%%SIMD%%lib/sbcl/sb-simd/define-instruction-vops.lisp +%%SIMD%%lib/sbcl/sb-simd/define-instructions.lisp +%%SIMD%%lib/sbcl/sb-simd/define-modify-macros.lisp +%%SIMD%%lib/sbcl/sb-simd/define-reducers.lisp +%%SIMD%%lib/sbcl/sb-simd/define-reffers.lisp +%%SIMD%%lib/sbcl/sb-simd/define-rounders.lisp +%%SIMD%%lib/sbcl/sb-simd/define-scalar-casts.lisp +%%SIMD%%lib/sbcl/sb-simd/define-simd-casts.lisp +%%SIMD%%lib/sbcl/sb-simd/define-types.lisp +%%SIMD%%lib/sbcl/sb-simd/define-unequals.lisp +%%SIMD%%lib/sbcl/sb-simd/define-vop-functions.lisp +%%SIMD%%lib/sbcl/sb-simd/define-vref-vops.lisp +%%SIMD%%lib/sbcl/sb-simd/define-vrefs.lisp +%%SIMD%%lib/sbcl/sb-simd/instruction-set-case.lisp +%%SIMD%%lib/sbcl/sb-simd/instruction-set.lisp +%%SIMD%%lib/sbcl/sb-simd/missing-instruction.lisp +%%SIMD%%lib/sbcl/sb-simd/packages.lisp +%%SIMD%%lib/sbcl/sb-simd/printable.lisp +%%SIMD%%lib/sbcl/sb-simd/record.lisp +%%SIMD%%lib/sbcl/sb-simd/sb-simd.asd +%%SIMD%%lib/sbcl/sb-simd/utilities.lisp lib/sbcl/sb-simple-streams/classes.lisp lib/sbcl/sb-simple-streams/direct.lisp lib/sbcl/sb-simple-streams/file.lisp