--- /dev/null
+Chez Scheme is both a programming language and an implementation of
+that language, with supporting tools and documentation.
+This variant of Chez Scheme is extended to support the implementation
+of [Racket](https://racket-lang.org/).
+
+Major additions to Chez Scheme in the Racket variant:
+
+ * AArch64 support
+
+ * pb (Portable bytecode) support, which is mainly useful for
+ bootstrapping a build on any supported platform
+
+ * Unboxed floating-point arithmetic and flvectors
+
+ * Type reconstruction during optimization (especially for safe code)
+
+ * Continuation attachments
+
+ * Parallel garbage collection, in-place garbage collection for
+ old-generation objects (instead of always copying), and
+ reachability-based memory accounting
+
+ * Ordered finalization, immobile (but collectable) objects, and
+ weak/ephemeron generic hash tables
--- /dev/null
+# $NetBSD$
+
+DISTNAME= racket-minimal-8.3-src
+PKGNAME= chezscheme-racket-9.5.5.5
+CATEGORIES= lang
+MASTER_SITES= https://download.racket-lang.org/releases/8.3/installers/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= https://download.racket-lang.org/installers/8.3/
+COMMENT= Racket's fork of Chez Scheme
+LICENSE= apache-2.0
+
+WRKSRC= ${WRKDIR}/racket-8.3
+HAS_CONFIGURE= yes
+USE_TOOLS+= gmake pkg-config
+USE_LANGUAGES= c
+
+CONFLICTS= chezscheme-[0-9]*
+
+CONFIGURE_DIRS= src/ChezScheme
+BUILD_DIRS= src/ChezScheme
+BUILD_TARGET= build
+
+CHECK_PORTABILITY_SKIP= src/cs/c/configure
+
+.include "../../mk/bsd.prefs.mk"
+
+# For now, we always build with threads support
+PLIST_SUBST+= CHEZ_THREADED=t
+
+.if ${MACHINE_ARCH} == i386
+PLIST_SUBST+= CHEZ_ARCH=i3
+.elif ${MACHINE_ARCH} == x86_64
+PLIST_SUBST+= CHEZ_ARCH=a6
+.elif ${MACHINE_ARCH} == aarch64
+PLIST_SUBST+= CHEZ_ARCH=arm64
+.endif
+
+.if ${OPSYS} == NetBSD
+PLIST_SUBST+= CHEZ_OS=nb
+.elif ${OPSYS} == FreeBSD
+PLIST_SUBST+= CHEZ_OS=fb
+.elif ${OPSYS} == OpenBSD
+PLIST_SUBST+= CHEZ_OS=ob
+.elif ${OPSYS} == Linux
+PLIST_SUBST+= CHEZ_OS=le
+.elif ${OPSYS} == Darwin
+PLIST_SUBST+= CHEZ_OS=osx
+.endif
+
+post-extract:
+ rm -rf ${WRKSRC}/src/bc ${WRKSRC}/src/cs
+
+pre-configure:
+ cd ${WRKSRC}/src/ChezScheme && \
+ ./configure --pb ZLIB=-lz \
+ LZ4="`pkg-config --libs liblz4`" && \
+ gmake auto.bootquick
+
+do-configure:
+ cd ${WRKSRC}/src/ChezScheme && \
+ ./configure \
+ ZLIB=-lz \
+ LZ4="`pkg-config --libs liblz4`" \
+ --threads \
+ --disable-x11 \
+ --installprefix=${PREFIX} \
+ --installman=${PREFIX}/${PKGMANDIR} \
+ --temproot=${DESTDIR}
+
+.include "../../archivers/lz4/buildlink3.mk"
+.include "../../devel/ncurses/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
--- /dev/null
+@comment $NetBSD$
+bin/petite
+bin/scheme
+bin/scheme-script
+lib/csv9.5.5.5/examples/Makefile
+lib/csv9.5.5.5/examples/compat.ss
+lib/csv9.5.5.5/examples/crepl.c
+lib/csv9.5.5.5/examples/csocket.c
+lib/csv9.5.5.5/examples/def.ss
+lib/csv9.5.5.5/examples/edit.ss
+lib/csv9.5.5.5/examples/ez-grammar-test.ss
+lib/csv9.5.5.5/examples/ez-grammar.ss
+lib/csv9.5.5.5/examples/fact.ss
+lib/csv9.5.5.5/examples/fatfib.ss
+lib/csv9.5.5.5/examples/fft.ss
+lib/csv9.5.5.5/examples/fib.ss
+lib/csv9.5.5.5/examples/foreign.ss
+lib/csv9.5.5.5/examples/freq.ss
+lib/csv9.5.5.5/examples/interpret.ss
+lib/csv9.5.5.5/examples/m4.ss
+lib/csv9.5.5.5/examples/macro.ss
+lib/csv9.5.5.5/examples/matrix.ss
+lib/csv9.5.5.5/examples/object.ss
+lib/csv9.5.5.5/examples/power.ss
+lib/csv9.5.5.5/examples/queue.ss
+lib/csv9.5.5.5/examples/rabbit.ss
+lib/csv9.5.5.5/examples/rsa.ss
+lib/csv9.5.5.5/examples/scons.ss
+lib/csv9.5.5.5/examples/setof.ss
+lib/csv9.5.5.5/examples/socket.ss
+lib/csv9.5.5.5/examples/template.ss
+lib/csv9.5.5.5/examples/unify.ss
+lib/csv9.5.5.5/${CHEZ_THREADED}${CHEZ_ARCH}${CHEZ_OS}/libkernel.a
+lib/csv9.5.5.5/${CHEZ_THREADED}${CHEZ_ARCH}${CHEZ_OS}/main.o
+lib/csv9.5.5.5/${CHEZ_THREADED}${CHEZ_ARCH}${CHEZ_OS}/petite.boot
+lib/csv9.5.5.5/${CHEZ_THREADED}${CHEZ_ARCH}${CHEZ_OS}/revision
+lib/csv9.5.5.5/${CHEZ_THREADED}${CHEZ_ARCH}${CHEZ_OS}/scheme-script.boot
+lib/csv9.5.5.5/${CHEZ_THREADED}${CHEZ_ARCH}${CHEZ_OS}/scheme.boot
+lib/csv9.5.5.5/${CHEZ_THREADED}${CHEZ_ARCH}${CHEZ_OS}/scheme.h
+man/man1/petite.1
+man/man1/scheme.1
--- /dev/null
+$NetBSD$
+
+SHA1 (racket-minimal-8.3-src.tgz) = 2f2940e098ad409b35488dfcf59ae4bff2f2c9cb
+RMD160 (racket-minimal-8.3-src.tgz) = b6321a309e42e6505a960ed762cc76ea8877cf48
+SHA512 (racket-minimal-8.3-src.tgz) = 374c1a294e9b48155de6b809eb0bd756fb3779101bbce1aee08765ac52a68f9f3c707c97d193e0a32550154909e7fcf47c1ecf2955b90e3612afeb9796a22891
+Size (racket-minimal-8.3-src.tgz) = 14988873 bytes
+SHA1 (patch-src_ChezScheme_c_expeditor.c) = 0794347286bb7dcd12526118ef76ae77461c9828
+SHA1 (patch-src_ChezScheme_configure) = 6f9ce9d2f1a0f7ff9a3c4a56e8d7a57e91b5c5df
--- /dev/null
+$NetBSD$
+
+* The special case for NetBSD is not required, but prevents term.h from being
+ found
+
+--- src/ChezScheme/c/expeditor.c.orig 2021-10-24 04:17:58.000000000 +0000
++++ src/ChezScheme/c/expeditor.c
+@@ -541,7 +541,7 @@ static void s_ee_write_char(wchar_t c) {
+ # include </usr/include/term.h>
+ #elif defined(NETBSD)
+ # include <ncurses.h>
+-# include <ncurses/term.h>
++# include <term.h>
+ #else
+ # include <curses.h>
+ # include <term.h>
--- /dev/null
+$NetBSD$
+
+* /usr/sbin is usually not in the $PATH, use absolute path for paxctl
+
+--- src/ChezScheme/configure.orig 2021-10-24 04:17:58.000000000 +0000
++++ src/ChezScheme/configure
+@@ -710,7 +710,7 @@ esac
+ # post-link-executable step for c/Mf-unix
+ case "${flagsmuni}" in
+ *nb)
+- exePostStep='paxctl +m ${Scheme}'
++ exePostStep='/usr/sbin/paxctl +m ${Scheme}'
+ ;;
+ esac
+