lang/chezscheme: import chezscheme-9.9.9alpha2023.11.03

Chez Scheme is both a programming language and an implementation of that
language, with supporting tools and documentation.

As a superset of the language described in the Revised6 Report on the
Algorithmic Language Scheme (R6RS), Chez Scheme supports all standard
features of Scheme, including first-class procedures, proper treatment of
tail calls, continuations, user-defined records, libraries, exceptions, and
hygienic macro expansion.

Chez Scheme also includes extensive support for interfacing with C and
other languages, support for multiple threads possibly running on multiple
cores, non-blocking I/O, and many other features.

The Chez Scheme implementation consists of a compiler, run-time system, and
programming environment. Although an interpreter is available, all code is
compiled by default. Source code is compiled on-the-fly when loaded from a
source file or entered via the shell. A source file can also be precompiled
into a stored binary form and automatically recompiled when its
dependencies change. Whether compiling on the fly or precompiling, the
compiler produces optimized machine code, with some optimization across
separately compiled library boundaries. The compiler can also be directed
to perform whole-program compilation, which does full cross-library
optimization and also reduces a program and the libraries upon which it
depends to a single binary.
This commit is contained in:
pho 2023-11-06 17:15:57 +00:00
parent 728acd59f1
commit 2cf255ceb0
4 changed files with 133 additions and 0 deletions

24
lang/chezscheme/DESCR Normal file
View File

@ -0,0 +1,24 @@
Chez Scheme is both a programming language and an implementation of that
language, with supporting tools and documentation.
As a superset of the language described in the Revised6 Report on the
Algorithmic Language Scheme (R6RS), Chez Scheme supports all standard
features of Scheme, including first-class procedures, proper treatment of
tail calls, continuations, user-defined records, libraries, exceptions, and
hygienic macro expansion.
Chez Scheme also includes extensive support for interfacing with C and
other languages, support for multiple threads possibly running on multiple
cores, non-blocking I/O, and many other features.
The Chez Scheme implementation consists of a compiler, run-time system, and
programming environment. Although an interpreter is available, all code is
compiled by default. Source code is compiled on-the-fly when loaded from a
source file or entered via the shell. A source file can also be precompiled
into a stored binary form and automatically recompiled when its
dependencies change. Whether compiling on the fly or precompiling, the
compiler produces optimized machine code, with some optimization across
separately compiled library boundaries. The compiler can also be directed
to perform whole-program compilation, which does full cross-library
optimization and also reduces a program and the libraries upon which it
depends to a single binary.

48
lang/chezscheme/Makefile Normal file
View File

@ -0,0 +1,48 @@
# $NetBSD: Makefile,v 1.1 2023/11/06 17:15:57 pho Exp $
# NOTE: The latest stable release, 9.6.4 at the moment, is a version
# released before merging Racket fork back to the main repository. We
# really need to use the git HEAD at the moment because it is far more
# portable than 9.6.4. Switch the package to stable when v10 is released.
CHEZ_VERSION= 9.9.9alpha2023.11.03
DISTNAME= chezscheme-${CHEZ_VERSION}
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GITHUB:=cisco/}
GITHUB_PROJECT= ChezScheme
GITHUB_TAG= 92c697d7d3c930367c268e2e4fb229fe3ee3f39c
GITHUB_SUBMODULES+= lz4 lz4 d44371841a2f1728a3f36839fd4b7e872d0927d3 lz4
GITHUB_SUBMODULES+= nanopass nanopass-framework-scheme 68990d02573faa555ee42919d5809de03f1268a0 nanopass
GITHUB_SUBMODULES+= dybvig stex 5e4f0ca67bac448e19a24c09f12fc16d24cd6b6d stex
GITHUB_SUBMODULES+= madler zlib 09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851 zlib
GITHUB_SUBMODULES+= racket zuo 493e9cd08147add01bba9247f36759f095b87678 zuo
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= https://cisco.github.io/ChezScheme/
COMMENT= Cisco implementation of the Scheme programming language
LICENSE= apache-2.0
WRKSRC= ${WRKDIR}/${GITHUB_PROJECT}-${GITHUB_TAG}
USE_TOOLS+= gmake
HAS_CONFIGURE= yes
.include "options.mk"
CONFIGURE_ARGS+= --installprefix=${PREFIX:Q}
CONFIGURE_ARGS+= --installman=${PREFIX:Q}/${PKGMANDIR:Q}
CONFIGURE_ARGS+= --installdoc=${PREFIX:Q}/doc/${PKGBASE}
CONFIGURE_ARGS+= --temproot=${DESTDIR:Q}
CONFIGURE_ARGS+= --installschemename=${PKGBASE}
CONFIGURE_ARGS+= --installscriptname=${PKGBASE}-script
CONFIGURE_ARGS+= --as-is # skip Git submodule update
BUILD_TARGET= build
TEST_TARGET= test
# Chez Scheme uses a very weird scheme of machine type identifier in file
# paths, and we don't want to replicate the logic in ${WRKSRC/configure
# here.
PLIST_TYPE= dynamic
.include "../../mk/bsd.pkg.mk"

20
lang/chezscheme/distinfo Normal file
View File

@ -0,0 +1,20 @@
$NetBSD: distinfo,v 1.1 2023/11/06 17:15:57 pho Exp $
BLAKE2s (chezscheme-9.9.9alpha2023.11.03-92c697d7d3c930367c268e2e4fb229fe3ee3f39c.tar.gz) = 9a1d440737219128e1cfeb11f9cc9d5ddab14d78bc4ff44ee49f66e8a3c8a6b7
SHA512 (chezscheme-9.9.9alpha2023.11.03-92c697d7d3c930367c268e2e4fb229fe3ee3f39c.tar.gz) = 7411fedc5ba17d4eaaf543fcd24e1785a8e3e1f7325e1c5bc32ef63777b3ae4cc613c1ab315fed2dc9aed24e891800587b37b8846407328acaab44fb1618ee13
Size (chezscheme-9.9.9alpha2023.11.03-92c697d7d3c930367c268e2e4fb229fe3ee3f39c.tar.gz) = 6267532 bytes
BLAKE2s (dybvig-stex-5e4f0ca67bac448e19a24c09f12fc16d24cd6b6d.tar.gz) = 036e06281ac4f5bffea7bfedaaeb185d3cc91f96c62c8a04f93de979557c63a9
SHA512 (dybvig-stex-5e4f0ca67bac448e19a24c09f12fc16d24cd6b6d.tar.gz) = fd3cf91eb0584ee21eab6be00e38dc3dca559546646e711be6e2c2d254390e5e6e454f06f851df2de314c4304d8a8d44cffe0b4160c3858e0cb200f91c62e813
Size (dybvig-stex-5e4f0ca67bac448e19a24c09f12fc16d24cd6b6d.tar.gz) = 211114 bytes
BLAKE2s (lz4-lz4-d44371841a2f1728a3f36839fd4b7e872d0927d3.tar.gz) = 8a5d4c14d2e1194fbb4ecc9e3475c6d2f0faac6a1ee1d50a2c806ca18556c4f0
SHA512 (lz4-lz4-d44371841a2f1728a3f36839fd4b7e872d0927d3.tar.gz) = 68446060c4296297225174e5d2df647372e9ad97ab1798e0923599144023f6e9a4d314f886f84bbf9cc1928486fe6738a0f08174dd7d16109b00b50b56fe18bc
Size (lz4-lz4-d44371841a2f1728a3f36839fd4b7e872d0927d3.tar.gz) = 321362 bytes
BLAKE2s (madler-zlib-09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851.tar.gz) = 64d88f739163ab886f6d9a4dc42cac0bfd02a0ef8025ed5559411bc3e0974fc0
SHA512 (madler-zlib-09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851.tar.gz) = ef371d3f059db30416d10a4648faf3c2da7c59aca8384a2a91f5e837ddc6f54cf06ef11283f5679b12a9b1a6ed09453efd609434f406acbbdc4a1e0d3210733b
Size (madler-zlib-09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851.tar.gz) = 1554074 bytes
BLAKE2s (nanopass-nanopass-framework-scheme-68990d02573faa555ee42919d5809de03f1268a0.tar.gz) = 091a0ec218a961434d8749938f0567cc56afb81d5c817b844602fe4baaaa4216
SHA512 (nanopass-nanopass-framework-scheme-68990d02573faa555ee42919d5809de03f1268a0.tar.gz) = 31ff11e7ea9c13c436899d3a495fd1ef448efc988007e270ddf5b039c3cd833c7264a4bc5bdb0492d2854bddadf31599b389b49ed0e11eb474df8922889fb1d0
Size (nanopass-nanopass-framework-scheme-68990d02573faa555ee42919d5809de03f1268a0.tar.gz) = 437825 bytes
BLAKE2s (racket-zuo-493e9cd08147add01bba9247f36759f095b87678.tar.gz) = 5838403e5f12664ef17073915ba52bbfe461618fddfb63493048144d7b30ef39
SHA512 (racket-zuo-493e9cd08147add01bba9247f36759f095b87678.tar.gz) = 3f84d154fa36ef336e62aacb6453e9de9541b4359b88a31e45d0876861a6ae3dcb90c5681513118b1e5fdd2576d8ca1b08517c0dc43dd35ca92c2416d26ae782
Size (racket-zuo-493e9cd08147add01bba9247f36759f095b87678.tar.gz) = 205920 bytes

View File

@ -0,0 +1,41 @@
# $NetBSD: options.mk,v 1.1 2023/11/06 17:15:57 pho Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.chezscheme
PKG_SUPPORTED_OPTIONS= x11 curses iconv ffi
PKG_SUGGESTED_OPTIONS= x11 curses iconv ffi
.include "../../mk/bsd.options.mk"
###
### X11 support
###
.if ${PKG_OPTIONS:Mx11}
. include "../../x11/libX11/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-x11
.endif
###
### Curses support
###
.if ${PKG_OPTIONS:Mcurses}
. include "../../mk/curses.buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-curses
.endif
###
### iconv support
###
.if ${PKG_OPTIONS:Miconv}
. include "../../converters/libiconv/buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-iconv
.endif
###
### libffi support
###
.if ${PKG_OPTIONS:Mffi}
. include "../../devel/libffi/buildlink3.mk"
CONFIGURE_ARGS+= --enable-libffi
.endif