pkgsrc-Changes archive

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

CVS commit: pkgsrc/lang/chicken6



Module Name:    pkgsrc
Committed By:   bsiegert
Date:           Sun Sep  6 09:44:11 UTC 2026

Added Files:
        pkgsrc/lang/chicken6: DESCR Makefile PLIST distinfo
        pkgsrc/lang/chicken6/patches: patch-Makefile.macosx
            patch-tests_runtests.sh

Log Message:
New package, chicken6.

>From Kogule Ryo in PR pkg/60583.

CHICKEN is a Scheme-to-C compiler supporting most of the language
features as defined in the Revised^5 Report on Scheme and Revised^7 Report on
Scheme small language.  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 generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/chicken6/DESCR \
    pkgsrc/lang/chicken6/Makefile pkgsrc/lang/chicken6/PLIST \
    pkgsrc/lang/chicken6/distinfo
cvs rdiff -u -r0 -r1.1 pkgsrc/lang/chicken6/patches/patch-Makefile.macosx \
    pkgsrc/lang/chicken6/patches/patch-tests_runtests.sh

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

Added files:

Index: pkgsrc/lang/chicken6/DESCR
diff -u /dev/null pkgsrc/lang/chicken6/DESCR:1.1
--- /dev/null   Sun Sep  6 09:44:11 2026
+++ pkgsrc/lang/chicken6/DESCR  Sun Sep  6 09:44:10 2026
@@ -0,0 +1,13 @@
+CHICKEN is a Scheme-to-C compiler supporting most of the language
+features as defined in the Revised^5 Report on Scheme and Revised^7 Report on
+Scheme small language.  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.
Index: pkgsrc/lang/chicken6/Makefile
diff -u /dev/null pkgsrc/lang/chicken6/Makefile:1.1
--- /dev/null   Sun Sep  6 09:44:11 2026
+++ pkgsrc/lang/chicken6/Makefile       Sun Sep  6 09:44:10 2026
@@ -0,0 +1,70 @@
+# $NetBSD: Makefile,v 1.1 2026/09/06 09:44:10 bsiegert Exp $
+
+DISTNAME=      chicken-6.0.0
+CATEGORIES=    lang
+MASTER_SITES=  http://code.call-cc.org/releases/${PKGVERSION_NOREV}/
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://www.call-cc.org/
+COMMENT=       Scheme to C compiler, handling R5RS and R7RS (small)
+LICENSE=       modified-bsd
+
+MAKE_JOBS_SAFE=        no
+
+USE_LIBTOOL=           yes
+USE_TOOLS+=            gmake
+UNLIMIT_RESOURCES=     datasize
+
+.include "../../mk/bsd.prefs.mk"
+
+# PLATFORM detection:
+.if ${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
+# 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} DESTDIR=${DESTDIR}
+
+BUILD_DEFS+=           CHICKEN_BINARY_VERSION
+CHICKEN_BINARY_VERSION=        12
+
+OWN_DIRS+=     ${PREFIX}/lib/chicken
+OWN_DIRS+=     ${PREFIX}/lib/chicken/${CHICKEN_BINARY_VERSION}
+
+BUILD_TARGET=          all
+
+MAKE_FLAGS+=   MANDIR=${PREFIX}/${PKGMANDIR}
+MAKE_FLAGS+=   INFODIR=${PREFIX}/${PKGINFODIR}
+MAKE_FLAGS+=   DOCDIR=${PREFIX}/share/doc/${PKGNAME_NOREV}
+MAKE_FLAGS+=   INSTALL_PROGRAM=${INSTALL:Q}
+MAKE_FLAGS+=   LINKER_OPTIONS=${LDFLAGS:Q}
+MAKE_FLAGS+=   C_COMPILER_OPTIMIZATION_OPTIONS=${CFLAGS:Q}
+
+TEST_TARGET=   check
+
+PLIST_VARS+=           uses_soname
+.if ${PLATFORM} != macosx
+PLIST.uses_soname=     yes
+.endif
+
+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"
Index: pkgsrc/lang/chicken6/PLIST
diff -u /dev/null pkgsrc/lang/chicken6/PLIST:1.1
--- /dev/null   Sun Sep  6 09:44:11 2026
+++ pkgsrc/lang/chicken6/PLIST  Sun Sep  6 09:44:10 2026
@@ -0,0 +1,164 @@
+@comment $NetBSD: PLIST,v 1.1 2026/09/06 09:44:10 bsiegert Exp $
+bin/chicken
+bin/chicken-do
+bin/chicken-install
+bin/chicken-profile
+bin/chicken-status
+bin/chicken-uninstall
+bin/csc
+bin/csi
+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.bytevector.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.number-vector.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}/chicken.version.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/scheme.file.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/scheme.process-context.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/scheme.time.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/scheme.write.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/srfi-4.import.so
+lib/chicken/${CHICKEN_BINARY_VERSION}/types.db
+lib/libchicken-static.a
+lib/libchicken.so
+${PLIST.uses_soname}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
+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/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 bytevector).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 (chicken version).html
+share/doc/${PKGNAME}/manual/Module (scheme base).html
+share/doc/${PKGNAME}/manual/Module (scheme case-lambda).html
+share/doc/${PKGNAME}/manual/Module (scheme char).html
+share/doc/${PKGNAME}/manual/Module (scheme complex).html
+share/doc/${PKGNAME}/manual/Module (scheme cxr).html
+share/doc/${PKGNAME}/manual/Module (scheme eval).html
+share/doc/${PKGNAME}/manual/Module (scheme file).html
+share/doc/${PKGNAME}/manual/Module (scheme inexact).html
+share/doc/${PKGNAME}/manual/Module (scheme lazy).html
+share/doc/${PKGNAME}/manual/Module (scheme load).html
+share/doc/${PKGNAME}/manual/Module (scheme process-context).html
+share/doc/${PKGNAME}/manual/Module (scheme r4rs).html
+share/doc/${PKGNAME}/manual/Module (scheme r5rs).html
+share/doc/${PKGNAME}/manual/Module (scheme read).html
+share/doc/${PKGNAME}/manual/Module (scheme repl).html
+share/doc/${PKGNAME}/manual/Module (scheme time).html
+share/doc/${PKGNAME}/manual/Module (scheme write).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
Index: pkgsrc/lang/chicken6/distinfo
diff -u /dev/null pkgsrc/lang/chicken6/distinfo:1.1
--- /dev/null   Sun Sep  6 09:44:11 2026
+++ pkgsrc/lang/chicken6/distinfo       Sun Sep  6 09:44:10 2026
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2026/09/06 09:44:10 bsiegert Exp $
+
+BLAKE2s (chicken-6.0.0.tar.gz) = 16b06d5c40b240d3acd5c84e12e5e66cd0cd5de1ea2bc964e20838d541a0f020
+SHA512 (chicken-6.0.0.tar.gz) = 781eb458beb0242707b6460a187d6a06178aa19d2062014d753c02be1d9e6f0486d3295ea4f4464179a4bf273e9b6512f03564901670efcf3baa4f269f28c3e7
+Size (chicken-6.0.0.tar.gz) = 4287731 bytes
+SHA1 (patch-Makefile.macosx) = b43e53c6e2acf435458dc6da6dce998fb920ce06
+SHA1 (patch-tests_runtests.sh) = c2bcee720a56cc399c6acdb1e002dbcd82ea272e

Index: pkgsrc/lang/chicken6/patches/patch-Makefile.macosx
diff -u /dev/null pkgsrc/lang/chicken6/patches/patch-Makefile.macosx:1.1
--- /dev/null   Sun Sep  6 09:44:11 2026
+++ pkgsrc/lang/chicken6/patches/patch-Makefile.macosx  Sun Sep  6 09:44:10 2026
@@ -0,0 +1,15 @@
+$NetBSD: patch-Makefile.macosx,v 1.1 2026/09/06 09:44:10 bsiegert Exp $
+
+Make sure that the dylib is linked to pkgsrc's lib dir
+
+--- Makefile.macosx.orig       2024-12-11 19:25:23.757613008 +0000
++++ Makefile.macosx
+@@ -48,7 +48,7 @@ C_COMPILER_OPTIMIZATION_OPTIONS ?= -Os -
+ endif
+ endif
+ LIBRARIAN ?= ar
+-LINKER_LINK_SHARED_LIBRARY_OPTIONS = -dynamiclib -compatibility_version 1 -current_version 1.0 -install_name $@
++LINKER_LINK_SHARED_LIBRARY_OPTIONS = -dynamiclib -compatibility_version 1 -current_version 1.0 -install_name $(LIBDIR)/$@
+ HERE = $(shell pwd)
+ PREINSTALL_PROGRAM_FIXUP = $(POSTINSTALL_PROGRAM) -change lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) $(HERE)/lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)
+ POSTINSTALL_PROGRAM_FLAGS = -change lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) $(LIBDIR)/lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) -change 
$(HERE)/lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) $(LIBDIR)/lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO)
Index: pkgsrc/lang/chicken6/patches/patch-tests_runtests.sh
diff -u /dev/null pkgsrc/lang/chicken6/patches/patch-tests_runtests.sh:1.1
--- /dev/null   Sun Sep  6 09:44:11 2026
+++ pkgsrc/lang/chicken6/patches/patch-tests_runtests.sh        Sun Sep  6 09:44:10 2026
@@ -0,0 +1,18 @@
+$NetBSD: patch-tests_runtests.sh,v 1.1 2026/09/06 09:44:10 bsiegert 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