pkgsrc-WIP-changes archive

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

chicken5: Import chicken5.3.0 as wip/chicken5



Module Name:	pkgsrc-wip
Committed By:	gnebbia <nebbionegiuseppe%gmail.com@localhost>
Pushed By:	nebbionegiuseppe
Date:		Wed Oct 12 03:10:31 2022 +0200
Changeset:	adec5b965e195712be17e8718ee5ac629ad9881c

Modified Files:
	Makefile
Added Files:
	chicken5/DESCR
	chicken5/Makefile
	chicken5/PLIST
	chicken5/distinfo
	chicken5/patches/patch-Makefile.bsd
	chicken5/patches/patch-tests_runtests.sh

Log Message:
chicken5: Import chicken5.3.0 as wip/chicken5

CHICKEN is a Scheme-to-C compiler supporting most of the language
features as defined in the Revised^5 Report on Scheme.  CHICKEN
generates quite portable C code, and files compiled by it (including
itself) should work without any changes on most platforms.

The whole package is distributed under a BSD license and as such free
to use and modify as long as you adhere to its terms (see the manual).
Linkage to C modules and C-library functions is straightforward, so
it's easy to access C from Scheme.  Compiled code can be embedded into
existing C programs without problems.  The generated code supports
full tail-recursion, first-class continuations, multiple values and
dynamic-wind.

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

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

diffstat:
 Makefile                                 |   1 +
 chicken5/DESCR                           |  12 +++
 chicken5/Makefile                        |  63 +++++++++++++
 chicken5/PLIST                           | 146 +++++++++++++++++++++++++++++++
 chicken5/distinfo                        |   7 ++
 chicken5/patches/patch-Makefile.bsd      |  17 ++++
 chicken5/patches/patch-tests_runtests.sh |  18 ++++
 7 files changed, 264 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 2154bc141c..78bd3f619b 100644
--- a/Makefile
+++ b/Makefile
@@ -430,6 +430,7 @@ SUBDIR+=	cherokee
 SUBDIR+=	chezmoi
 SUBDIR+=	chezscheme
 SUBDIR+=	chezscheme-racket
+SUBDIR+=	chicken5
 SUBDIR+=	chkugenids
 SUBDIR+=	chntpw
 SUBDIR+=	choosefont
diff --git a/chicken5/DESCR b/chicken5/DESCR
new file mode 100644
index 0000000000..041f6a6523
--- /dev/null
+++ b/chicken5/DESCR
@@ -0,0 +1,12 @@
+CHICKEN is a Scheme-to-C compiler supporting most of the language
+features as defined in the Revised^5 Report on Scheme.  CHICKEN
+generates quite portable C code, and files compiled by it (including
+itself) should work without any changes on most platforms.
+
+The whole package is distributed under a BSD license and as such free
+to use and modify as long as you adhere to its terms (see the manual).
+Linkage to C modules and C-library functions is straightforward, so
+it's easy to access C from Scheme.  Compiled code can be embedded into
+existing C programs without problems.  The generated code supports
+full tail-recursion, first-class continuations, multiple values and
+dynamic-wind.
diff --git a/chicken5/Makefile b/chicken5/Makefile
new file mode 100644
index 0000000000..8f51c57b03
--- /dev/null
+++ b/chicken5/Makefile
@@ -0,0 +1,63 @@
+# $NetBSD: Makefile,v 1.6 2020/05/16 20:01:56 nikita Exp $
+
+DISTNAME=	chicken-5.3.0
+CATEGORIES=	lang
+MASTER_SITES=	http://code.call-cc.org/releases/${PKGVERSION_NOREV}/
+
+MAINTAINER=	nebbionegiuseppe%gmail.com@localhost
+HOMEPAGE=	https://www.call-cc.org/
+COMMENT=	Scheme to C compiler, handling R5RS
+LICENSE=	modified-bsd
+
+MAKE_JOBS_SAFE=	no
+
+USE_LIBTOOL=		yes
+USE_TOOLS+=		gmake
+UNLIMIT_RESOURCES=	datasize
+
+BUILD_DEFS+=		CHICKEN_BINARY_VERSION
+CHICKEN_BINARY_VERSION=	11
+
+OWN_DIRS+=	${PREFIX}/lib/chicken
+OWN_DIRS+=	${PREFIX}/lib/chicken/${CHICKEN_BINARY_VERSION}
+
+BUILD_TARGET=		all
+
+.include "../../mk/bsd.prefs.mk"
+
+# PLATFORM detection:
+.if !empty(OPSYS:M*BSD) || ${OPSYS} == "DragonFly"
+PLATFORM=		bsd
+.elif ${OPSYS} == "Linux"
+PLATFORM=		linux
+.elif ${OPSYS} == "Darwin"
+PLATFORM=		macosx
+.elif ${OPSYS} == "SunOS"
+PLATFORM=		solaris
+.elif ${OPSYS} == "Haiku"
+PLATFORM=		haiku
+.else
+#PLATFORM+=		${OPSYS} == "Interix"
+# possible choices left: aix android cross-linux-mingw cygwin hurd mingw
+#                        mingw-msys
+PKG_SKIP_REASON+=	"${OPSYS} is not supported"
+.endif
+
+MAKE_FILE=	GNUmakefile
+MAKE_ENV+=	C_COMPILER=${CC:Q}
+MAKE_ENV+=	HOST=	# fix ${HOST} prepending ${CC}
+# Need to have these in MAKE_FLAGS, MAKE_ENV is not enough due to the
+# way the build system overrides them.
+MAKE_FLAGS+=	PLATFORM=${PLATFORM:Q} PREFIX=${PREFIX:Q} DESTDIR=${DESTDIR:Q}
+MAKE_FLAGS+=	MANDIR=${PREFIX:Q}/${PKGMANDIR}
+MAKE_FLAGS+=	INFODIR=${PREFIX:Q}/${PKGINFODIR:Q}
+MAKE_FLAGS+=	DOCDIR=${PREFIX:Q}/share/doc/${PKGNAME_NOREV}
+MAKE_FLAGS+=	INSTALL_PROGRAM=${INSTALL:Q}
+
+TEST_TARGET=	check
+
+PLIST_SUBST+=		CHICKEN_BINARY_VERSION=${CHICKEN_BINARY_VERSION:Q}
+PRINT_PLIST_AWK+=	{ sub("/${CHICKEN_BINARY_VERSION}/", "/$${CHICKEN_BINARY_VERSION}/") }
+PRINT_PLIST_AWK+=	{ sub(".so.${CHICKEN_BINARY_VERSION}$$", ".so.$${CHICKEN_BINARY_VERSION}") }
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/chicken5/PLIST b/chicken5/PLIST
new file mode 100644
index 0000000000..610034108e
--- /dev/null
+++ b/chicken5/PLIST
@@ -0,0 +1,146 @@
+@comment $NetBSD$
+bin/chicken
+bin/chicken-do
+bin/chicken-install
+bin/chicken-profile
+bin/chicken-status
+bin/chicken-uninstall
+bin/csc
+bin/csi
+bin/feathers
+include/chicken/chicken-config.h
+include/chicken/chicken.h
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.base.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.bitwise.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.blob.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.compiler.user-pass.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.condition.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.continuation.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.csi.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.errno.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.eval.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.file.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.file.posix.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.fixnum.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.flonum.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.foreign.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.format.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.gc.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.internal.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.io.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.irregex.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.keyword.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.load.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.locative.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.memory.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.memory.representation.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.pathname.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.platform.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.plist.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.port.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.pretty-print.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.process-context.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.process-context.posix.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.process.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.process.signal.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.random.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.read-syntax.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.repl.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.sort.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.string.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.syntax.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.tcp.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.time.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/chicken.time.posix.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/srfi-4.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/types.db
+lib/libchicken.a
+lib/libchicken.so
+lib/libchicken.so.${CHICKEN_BINARY_VERSION}
+man/man1/chicken-do.1
+man/man1/chicken-install.1
+man/man1/chicken-profile.1
+man/man1/chicken-status.1
+man/man1/chicken-uninstall.1
+man/man1/chicken.1
+man/man1/csc.1
+man/man1/csi.1
+man/man1/feathers.1
+share/chicken/feathers.tcl
+share/chicken/setup.defaults
+share/doc/${PKGNAME}/DEPRECATED
+share/doc/${PKGNAME}/LICENSE
+share/doc/${PKGNAME}/README
+share/doc/${PKGNAME}/manual/Accessing external objects.html
+share/doc/${PKGNAME}/manual/Acknowledgements.html
+share/doc/${PKGNAME}/manual/Bibliography.html
+share/doc/${PKGNAME}/manual/Bugs and limitations.html
+share/doc/${PKGNAME}/manual/C interface.html
+share/doc/${PKGNAME}/manual/Cross development.html
+share/doc/${PKGNAME}/manual/Data representation.html
+share/doc/${PKGNAME}/manual/Debugging.html
+share/doc/${PKGNAME}/manual/Declarations.html
+share/doc/${PKGNAME}/manual/Deployment.html
+share/doc/${PKGNAME}/manual/Deviations from the standard.html
+share/doc/${PKGNAME}/manual/Egg specification format.html
+share/doc/${PKGNAME}/manual/Embedding.html
+share/doc/${PKGNAME}/manual/Extension tools.html
+share/doc/${PKGNAME}/manual/Extensions to the standard.html
+share/doc/${PKGNAME}/manual/Extensions.html
+share/doc/${PKGNAME}/manual/Foreign type specifiers.html
+share/doc/${PKGNAME}/manual/Getting started.html
+share/doc/${PKGNAME}/manual/Included modules.html
+share/doc/${PKGNAME}/manual/Interface to external functions and variables.html
+share/doc/${PKGNAME}/manual/Module (chicken base).html
+share/doc/${PKGNAME}/manual/Module (chicken bitwise).html
+share/doc/${PKGNAME}/manual/Module (chicken blob).html
+share/doc/${PKGNAME}/manual/Module (chicken condition).html
+share/doc/${PKGNAME}/manual/Module (chicken continuation).html
+share/doc/${PKGNAME}/manual/Module (chicken csi).html
+share/doc/${PKGNAME}/manual/Module (chicken errno).html
+share/doc/${PKGNAME}/manual/Module (chicken eval).html
+share/doc/${PKGNAME}/manual/Module (chicken file posix).html
+share/doc/${PKGNAME}/manual/Module (chicken file).html
+share/doc/${PKGNAME}/manual/Module (chicken fixnum).html
+share/doc/${PKGNAME}/manual/Module (chicken flonum).html
+share/doc/${PKGNAME}/manual/Module (chicken foreign).html
+share/doc/${PKGNAME}/manual/Module (chicken format).html
+share/doc/${PKGNAME}/manual/Module (chicken gc).html
+share/doc/${PKGNAME}/manual/Module (chicken io).html
+share/doc/${PKGNAME}/manual/Module (chicken irregex).html
+share/doc/${PKGNAME}/manual/Module (chicken keyword).html
+share/doc/${PKGNAME}/manual/Module (chicken load).html
+share/doc/${PKGNAME}/manual/Module (chicken locative).html
+share/doc/${PKGNAME}/manual/Module (chicken memory representation).html
+share/doc/${PKGNAME}/manual/Module (chicken memory).html
+share/doc/${PKGNAME}/manual/Module (chicken module).html
+share/doc/${PKGNAME}/manual/Module (chicken pathname).html
+share/doc/${PKGNAME}/manual/Module (chicken platform).html
+share/doc/${PKGNAME}/manual/Module (chicken plist).html
+share/doc/${PKGNAME}/manual/Module (chicken port).html
+share/doc/${PKGNAME}/manual/Module (chicken pretty-print).html
+share/doc/${PKGNAME}/manual/Module (chicken process signal).html
+share/doc/${PKGNAME}/manual/Module (chicken process).html
+share/doc/${PKGNAME}/manual/Module (chicken process-context posix).html
+share/doc/${PKGNAME}/manual/Module (chicken process-context).html
+share/doc/${PKGNAME}/manual/Module (chicken random).html
+share/doc/${PKGNAME}/manual/Module (chicken read-syntax).html
+share/doc/${PKGNAME}/manual/Module (chicken repl).html
+share/doc/${PKGNAME}/manual/Module (chicken sort).html
+share/doc/${PKGNAME}/manual/Module (chicken string).html
+share/doc/${PKGNAME}/manual/Module (chicken syntax).html
+share/doc/${PKGNAME}/manual/Module (chicken tcp).html
+share/doc/${PKGNAME}/manual/Module (chicken time posix).html
+share/doc/${PKGNAME}/manual/Module (chicken time).html
+share/doc/${PKGNAME}/manual/Module (chicken type).html
+share/doc/${PKGNAME}/manual/Module r4rs.html
+share/doc/${PKGNAME}/manual/Module r5rs.html
+share/doc/${PKGNAME}/manual/Module scheme.html
+share/doc/${PKGNAME}/manual/Module srfi-4.html
+share/doc/${PKGNAME}/manual/Modules.html
+share/doc/${PKGNAME}/manual/The User's Manual.html
+share/doc/${PKGNAME}/manual/Types.html
+share/doc/${PKGNAME}/manual/Units and linking model.html
+share/doc/${PKGNAME}/manual/Using the compiler.html
+share/doc/${PKGNAME}/manual/Using the interpreter.html
+share/doc/${PKGNAME}/manual/manual.css
diff --git a/chicken5/distinfo b/chicken5/distinfo
new file mode 100644
index 0000000000..abfb0ebdb6
--- /dev/null
+++ b/chicken5/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.5 2021/10/26 10:51:31 nia Exp $
+
+BLAKE2s (chicken-5.3.0.tar.gz) = 5d64daeded1ddebaeea8118937c563160ae426138ffcc6268f5ad49b77ca6fc3
+SHA512 (chicken-5.3.0.tar.gz) = 8fcc08a1ba44cde42c95820695a11858a3b7ff39a4b577bc5afb894c53513661aab2dc5b8e608e1d9d26648e314551052041626c4c8e519fcb9f8af324386e02
+Size (chicken-5.3.0.tar.gz) = 4069549 bytes
+SHA1 (patch-Makefile.bsd) = 45a3b810da13754b720bcb23f384a9e975675947
+SHA1 (patch-tests_runtests.sh) = c2bcee720a56cc399c6acdb1e002dbcd82ea272e
diff --git a/chicken5/patches/patch-Makefile.bsd b/chicken5/patches/patch-Makefile.bsd
new file mode 100644
index 0000000000..6d6cb36630
--- /dev/null
+++ b/chicken5/patches/patch-Makefile.bsd
@@ -0,0 +1,17 @@
+$NetBSD$
+
+Fixing Makefile to correctly compile and link on NetBSD.
+
+--- Makefile.bsd.orig	2021-11-18 06:32:06.000000000 +0000
++++ Makefile.bsd
+@@ -60,8 +60,8 @@ include $(SRCDIR)/defaults.make
+ 
+ # These may be useful for NetBSD:
+ #
+-#C_COMPILER_OPTIONS += -I/usr/pkg/lib
+-#LINKER_OPTIONS += -L/usr/pkg/lib -Wl,-R/usr/pkg/lib
++C_COMPILER_OPTIONS += -I${PREFIX}/lib
++LINKER_OPTIONS += -L${PREFIX}/lib -Wl,-R${PREFIX}/lib
+ 
+ chicken-config.h: chicken-defaults.h
+ 	echo "/* GENERATED */" >$@
diff --git a/chicken5/patches/patch-tests_runtests.sh b/chicken5/patches/patch-tests_runtests.sh
new file mode 100644
index 0000000000..c90e9605d7
--- /dev/null
+++ b/chicken5/patches/patch-tests_runtests.sh
@@ -0,0 +1,18 @@
+$NetBSD: patch-tests_runtests.sh,v 1.1 2018/12/21 12:35:38 leot Exp $
+
+`export -p' also exports make(1) variables that contains `.', e.g.
+`.MAKE.ENV.LEVEL'.  As part of `. ./env.out' this lead to failure because
+variable with `.' are not valid is sh(1) context.
+Filter `export -p' output to avoid that.
+
+--- tests/runtests.sh.orig	2018-09-23 09:24:46.000000000 +0000
++++ tests/runtests.sh
+@@ -64,7 +64,7 @@ cp $TYPESDB test-repository/types.db
+ 
+ echo "======================================== repository search path ..."
+ if test -z "$MSYSTEM"; then
+-  export -p >./env.out
++  export -p | sed -ne '/export [^.]*=/p' >./env.out
+   unset CHICKEN_REPOSITORY_PATH
+   $interpret -s repository-path-default.scm
+   . ./env.out


Home | Main Index | Thread Index | Old Index