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