pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

chezscheme-racket: Import Chez Scheme (Racket fork) 9.5.5.5



Module Name:	pkgsrc-wip
Committed By:	Johann Rudloff <johann%sinyax.net@localhost>
Pushed By:	cypheon
Date:		Sun Dec 5 21:30:08 2021 +0100
Changeset:	8dd815a448a62287c56ab7410ccff471543c43c8

Added Files:
	chezscheme-racket/DESCR
	chezscheme-racket/Makefile
	chezscheme-racket/PLIST
	chezscheme-racket/distinfo
	chezscheme-racket/patches/patch-src_ChezScheme_c_expeditor.c
	chezscheme-racket/patches/patch-src_ChezScheme_configure

Log Message:
chezscheme-racket: Import Chez Scheme (Racket fork) 9.5.5.5

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

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=8dd815a448a62287c56ab7410ccff471543c43c8

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 chezscheme-racket/DESCR                            | 24 +++++++
 chezscheme-racket/Makefile                         | 74 ++++++++++++++++++++++
 chezscheme-racket/PLIST                            | 41 ++++++++++++
 chezscheme-racket/distinfo                         |  8 +++
 .../patches/patch-src_ChezScheme_c_expeditor.c     | 16 +++++
 .../patches/patch-src_ChezScheme_configure         | 15 +++++
 6 files changed, 178 insertions(+)

diffs:
diff --git a/chezscheme-racket/DESCR b/chezscheme-racket/DESCR
new file mode 100644
index 0000000000..34b5651f55
--- /dev/null
+++ b/chezscheme-racket/DESCR
@@ -0,0 +1,24 @@
+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
diff --git a/chezscheme-racket/Makefile b/chezscheme-racket/Makefile
new file mode 100644
index 0000000000..3a06ddc930
--- /dev/null
+++ b/chezscheme-racket/Makefile
@@ -0,0 +1,74 @@
+# $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@localhost
+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"
diff --git a/chezscheme-racket/PLIST b/chezscheme-racket/PLIST
new file mode 100644
index 0000000000..918e762da9
--- /dev/null
+++ b/chezscheme-racket/PLIST
@@ -0,0 +1,41 @@
+@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
diff --git a/chezscheme-racket/distinfo b/chezscheme-racket/distinfo
new file mode 100644
index 0000000000..6751885fd4
--- /dev/null
+++ b/chezscheme-racket/distinfo
@@ -0,0 +1,8 @@
+$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
diff --git a/chezscheme-racket/patches/patch-src_ChezScheme_c_expeditor.c b/chezscheme-racket/patches/patch-src_ChezScheme_c_expeditor.c
new file mode 100644
index 0000000000..ceca631e31
--- /dev/null
+++ b/chezscheme-racket/patches/patch-src_ChezScheme_c_expeditor.c
@@ -0,0 +1,16 @@
+$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>
diff --git a/chezscheme-racket/patches/patch-src_ChezScheme_configure b/chezscheme-racket/patches/patch-src_ChezScheme_configure
new file mode 100644
index 0000000000..ef6cd7dbbf
--- /dev/null
+++ b/chezscheme-racket/patches/patch-src_ChezScheme_configure
@@ -0,0 +1,15 @@
+$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
+ 


Home | Main Index | Thread Index | Old Index