From nobody Fri Aug 5 07:22:23 2022 X-Original-To: dev-commits-ports-main@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 4LzcVm214Pz4Y6r4; Fri, 5 Aug 2022 07:22:24 +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 4LzcVm1YjGz3k84; Fri, 5 Aug 2022 07:22:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1659684144; 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=xPd+UE6qFo4pDjCNxMPowdgXZvqPihFtm+ouKbvviGk=; b=u90o8gcWCXOnXNen9yIskXd/V2qFT35WvU5LZy+ZCvUE1QEI724ivvopJ8QSlhIF4BIKIN 0ya6djN6X+c22Cdevdzk8QU3lVNzZGVG2l5bAKFcimTOA3eL9lGF/4+BObb9Vj0vhpTAe2 idzeAgtwd4TFRY1MAJAuJDfGPNQzeoQjWP6wU9yg1TFmfz0XGEPIVIBnHr2BhzbR6rfkcs YpOLYjCBwB2ootGz8KN7+a1/N3l5q5MdqEa6lmJajBn4bCZYWt+piti+I9wn3m69CxFA8A euLTlUpS5iHvSXLkojOIeCBUoGIudjtHqdP3uQcOHvq9OgnElm4b6Lf5+ytjAA== 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 4LzcVm0dSmzm1h; Fri, 5 Aug 2022 07:22:24 +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 2757MNNO082905; Fri, 5 Aug 2022 07:22:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2757MNAn082904; Fri, 5 Aug 2022 07:22:23 GMT (envelope-from git) Date: Fri, 5 Aug 2022 07:22:23 GMT Message-Id: <202208050722.2757MNAn082904@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Kirill Ponomarev Subject: git: 70419d445f16 - main - lang/sbcl: Add core compression and sb-simd module List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@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/main X-Git-Reftype: branch X-Git-Commit: 70419d445f16ec33270498abeb346318e3045bf1 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1659684144; 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=xPd+UE6qFo4pDjCNxMPowdgXZvqPihFtm+ouKbvviGk=; b=f3XaSxVNwNOIIVbbmaP7yOw5y5HwOIkK9WssGSyCneHP4IEvQMuLL3sFb74CHVGGOWnxU/ gImMs0TM/6p2Oe5htyHomTyxOHB26AfuOXPVUbYI8znXk7MtMOaLknKVkl6gGUbry2msvS hnLvwSnPXugkeL8WcUghQtVVyN8nerIeZ4lUgJEQzJpnu9Y5BPJlUqMDWFTioyearI351/ VAxfMUTNdtRDkMVrr75vTG/8LNOwgJxmR4/X3Oe5xry0NdFN8JI6hNjPfu0kZ+j89P061P 4dTkhY9pNxKns7U/sDBeXCG0YWD7sSp8E3pc8kWsuezswlsIUg9CWOYElzhnBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1659684144; a=rsa-sha256; cv=none; b=JyTUjwc6ZlthMWTtpqkAQ7B14aebgHwzXJ1y4FPeEUv0U0tSRX7yBERkE0Uf69iLb2Eyvq 930Ijh/rIuPE6ahEOrL2L6wUvewQrH4cXjZnuldwiwM7njv6dLUq7y5DVy3XyKFldc8VTm A4tUb9oH8EkBCP7EfP1OI17GUw7YpidRLWz3KyiEBn20E/yN+I1vcrpiCvvv3NuSvF34hC OOHep0gB6xJpwwR3S/qDmWLpbJ2+/iJ5pIK5MpGslKAgjrvn56ngOLC/DBpZByRMdeZgsi mARUsRPO/4NFSq51xFs3h3LNS4/oJ+QhV2q4xhzbRJY0AjB762ucKcRT1YyiLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by krion: URL: https://cgit.FreeBSD.org/ports/commit/?id=70419d445f16ec33270498abeb346318e3045bf1 commit 70419d445f16ec33270498abeb346318e3045bf1 Author: Kirill Ponomarev AuthorDate: 2022-08-05 07:20:36 +0000 Commit: Kirill Ponomarev CommitDate: 2022-08-05 07:20:36 +0000 lang/sbcl: Add core compression and sb-simd module PR: 265576 Reported by: dmgk and jinxiaoyong@gmail.com --- 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 70d38dc84cc2..da80ec8b76a2 100644 --- a/lang/sbcl/Makefile +++ b/lang/sbcl/Makefile @@ -5,6 +5,7 @@ PORTNAME= sbcl DISTVERSION= 2.2.7 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