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:
parent
728acd59f1
commit
2cf255ceb0
|
@ -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.
|
|
@ -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"
|
|
@ -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
|
|
@ -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
|
Loading…
Reference in New Issue