On Sun, Apr 12, 2009 at 10:46:01PM -0400, Scott Vokes wrote: > On Sun, Apr 12, 2009 at 10:06 PM, Taylor Venable <tay...@metasyntax.net> > wrote: > > It seems I am not the only person using Lisp languages on OpenBSD > > after all! ?And ironically enough this has come up already. ?Here's my > > patch to update to the recently released Chicken 4.0.0 but I won't yet > > ask for it to be included until the other gentleman working on Chicken > > gets a chance to review. ?I'm somewhat new to porting so I will defer > > on the right way to do this. ?Built and tested on i386. > As noted, I was wondering if updating to 3.4.0 rather than 4.0.0 > would be better for now. Chicken has a great collection of extensions > ("eggs"), but so far only a few of them have been updated for 4.0. > (The macro system changed.) There could be a multi-version port set > up, as with e.g. Python, but I would rather get 3.4 updated properly > first.
Eggs are one of the great things about Chicken, but the inverse argument is that as people upgrade to 4.0.0 they'll port the eggs they need and evolve the new version's support. That said, I think a way to select between the two would be the optimal solution. One option is to try to get both running side-by-side (we'd have to hack some stuff of course since they both like to install files with the same name e.g. "csi" and "csc" but we already have to do that to get versioned libraries). Also, 3.4.0 is not the last in the 3.x releases, as there is a 3.5.x series (the first was retracted because of problems with threading, but subsequent so-called "development" releases such as 3.5.2 worked fine on OpenBSD). I've fixed some of the problems mentioned in response to the 3.4.0 patch, viz. versioned libraries and the manual page path. The library versioning may not be the most elegant or correct solution, given that it makes copies rather than symlinks. My procedure here was to have it actually build the versioned library names as targets and to link to these immediately; an alternative approach could be to rename them as part of the install process. It requires the also-attached patches to rules.make and default.make to do this. (NOTE: tarball extracts as lang/chicken/patches/...) Best regards, -- Taylor Christopher Venable http://real.metasyntax.net:2357/
? lang/chicken/patches Index: lang/chicken/Makefile =================================================================== RCS file: /cvs/ports/lang/chicken/Makefile,v retrieving revision 1.8 diff -u -r1.8 Makefile --- lang/chicken/Makefile 20 Aug 2008 00:06:20 -0000 1.8 +++ lang/chicken/Makefile 13 Apr 2009 03:32:12 -0000 @@ -2,16 +2,16 @@ COMMENT= practical and portable Scheme system -DISTNAME= chicken-2.6 +DISTNAME= chicken-4.0.0 -SHARED_LIBS += chicken 1.0 # .0.0 -SHARED_LIBS += uchicken 1.0 # .0.0 +SHARED_LIBS += chicken 4.0.0 +SHARED_LIBS += uchicken 4.0.0 CATEGORIES= lang HOMEPAGE= http://www.call-with-current-continuation.org/ -MAINTAINER= Deanna Phillips <dea...@openbsd.org> +MAINTAINER= ports@openbsd.org MASTER_SITES= ${HOMEPAGE} @@ -24,10 +24,6 @@ PERMIT_DISTFILES_FTP= Yes USE_GMAKE= Yes -USE_LIBTOOL= Yes - -CONFIGURE_STYLE= gnu -CONFIGURE_ARGS= ${CONFIGURE_SHARED} REGRESS_TARGET= bench REGRESS_DEPENDS= :${PKGNAME}:lang/chicken @@ -39,6 +35,9 @@ EXTRA_CFLAGS= -O0 .endif -MAKE_FLAGS+= EXTRA_CFLAGS=${EXTRA_CFLAGS} +# Chicken installs to $(DESTDIR)$(PREFIX) so don't set both. +DESTDIRNAME= SOME_DUMMY_VARIABLE + +MAKE_FLAGS+= EXTRA_CFLAGS=${EXTRA_CFLAGS} PLATFORM=bsd .include <bsd.port.mk> Index: lang/chicken/distinfo =================================================================== RCS file: /cvs/ports/lang/chicken/distinfo,v retrieving revision 1.5 diff -u -r1.5 distinfo --- lang/chicken/distinfo 24 Apr 2007 17:07:19 -0000 1.5 +++ lang/chicken/distinfo 13 Apr 2009 03:32:12 -0000 @@ -1,5 +1,5 @@ -MD5 (chicken-2.6.tar.gz) = My7a4Hm7NNgVNp9LpRgZgw== -RMD160 (chicken-2.6.tar.gz) = CvDXnoXuAX0q0r/eefRWHyV8hSw= -SHA1 (chicken-2.6.tar.gz) = QBDSHbGw0t87OrOSUDvkuxkHO70= -SHA256 (chicken-2.6.tar.gz) = MjhcU5PHN2A1+RHz6Ic1Gxzo+25WSYzEJYgVvG2wYyY= -SIZE (chicken-2.6.tar.gz) = 3517981 +MD5 (chicken-4.0.0.tar.gz) = ZY3qrjVvM2DkjW0WKPwGLg== +RMD160 (chicken-4.0.0.tar.gz) = 2+64iqBaPe5UGiBvjsvuKyD6Bos= +SHA1 (chicken-4.0.0.tar.gz) = nVbMDzTZ+SC1nSV25lGzGlMKOO8= +SHA256 (chicken-4.0.0.tar.gz) = IZnUKnFDc+AqQhEq1pm1Opq5mvkz2CEknunWLGvHRgA= +SIZE (chicken-4.0.0.tar.gz) = 3309221 Index: lang/chicken/pkg/PFRAG.shared =================================================================== RCS file: /cvs/ports/lang/chicken/pkg/PFRAG.shared,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 PFRAG.shared --- lang/chicken/pkg/PFRAG.shared 4 Jun 2006 10:36:03 -0000 1.1.1.1 +++ lang/chicken/pkg/PFRAG.shared 13 Apr 2009 03:32:12 -0000 @@ -1,3 +1,30 @@ -...@comment $OpenBSD: PFRAG.shared,v 1.1.1.1 2006/06/04 10:36:03 steven Exp $ -...@lib lib/libchicken.so.${LIBchicken_VERSION} -...@lib lib/libuchicken.so.${LIBuchicken_VERSION} +...@comment $OpenBSD$ +lib/chicken/4/chicken.import.so +lib/chicken/4/compiler.import.so +lib/chicken/4/csi.import.so +lib/chicken/4/data-structures.import.so +lib/chicken/4/extras.import.so +lib/chicken/4/files.import.so +lib/chicken/4/foreign.import.so +lib/chicken/4/irregex.import.so +lib/chicken/4/lolevel.import.so +lib/chicken/4/ports.import.so +lib/chicken/4/posix.import.so +lib/chicken/4/regex.import.so +lib/chicken/4/scheme.import.so +lib/chicken/4/setup-api.import.so +lib/chicken/4/setup-api.so +lib/chicken/4/setup-download.import.so +lib/chicken/4/setup-download.so +lib/chicken/4/srfi-1.import.so +lib/chicken/4/srfi-13.import.so +lib/chicken/4/srfi-14.import.so +lib/chicken/4/srfi-18.import.so +lib/chicken/4/srfi-4.import.so +lib/chicken/4/srfi-69.import.so +lib/chicken/4/tcp.import.so +lib/chicken/4/utils.import.so +lib/libchicken-4.0.0.so +lib/libchicken.so +lib/libuchicken-4.0.0.so +lib/libuchicken.so Index: lang/chicken/pkg/PLIST =================================================================== RCS file: /cvs/ports/lang/chicken/pkg/PLIST,v retrieving revision 1.5 diff -u -r1.5 PLIST --- lang/chicken/pkg/PLIST 24 Apr 2007 17:07:19 -0000 1.5 +++ lang/chicken/pkg/PLIST 13 Apr 2009 03:32:12 -0000 @@ -1,82 +1,76 @@ -...@comment $OpenBSD: PLIST,v 1.5 2007/04/24 17:07:19 martynas Exp $ +...@comment $OpenBSD$ %%SHARED%% -bin/chicken -bin/chicken-profile -bin/chicken-setup -bin/csc -bin/csi +...@bin bin/chicken +...@bin bin/chicken-bug +...@bin bin/chicken-install +...@bin bin/chicken-profile +...@bin bin/chicken-status +...@bin bin/chicken-uninstall +...@bin bin/csc +...@bin bin/csi include/chicken-config.h -include/chicken-defaults.h include/chicken.h +lib/chicken/ +lib/chicken/4/ +lib/libchicken-4.0.0.a lib/libchicken.a -lib/libchicken.la +lib/libuchicken-4.0.0.a lib/libuchicken.a -lib/libuchicken.la +...@man man/man1/chicken-bug.1 +...@man man/man1/chicken-install.1 @man man/man1/chicken-profile.1 -...@man man/man1/chicken-setup.1 +...@man man/man1/chicken-status.1 +...@man man/man1/chicken-uninstall.1 @man man/man1/chicken.1 @man man/man1/csc.1 @man man/man1/csi.1 share/chicken/ -share/chicken/1/ -share/chicken/chicken-ffi-macros.scm -share/chicken/chicken-more-macros.scm -share/chicken/eval.exports -share/chicken/extras.exports -share/chicken/library.exports -share/chicken/lolevel.exports -share/chicken/posix.exports -share/chicken/regex.exports -share/chicken/scheduler.exports -share/chicken/srfi-1.exports -share/chicken/srfi-13.exports -share/chicken/srfi-14.exports -share/chicken/srfi-18.exports -share/chicken/srfi-4.exports -share/chicken/tcp.exports -share/chicken/utils.exports -share/doc/chicken/ -share/doc/chicken/ChangeLog -share/doc/chicken/LICENSE -share/doc/chicken/README -share/doc/chicken/html/ -share/doc/chicken/html/accessing-external-objects.html -share/doc/chicken/html/acknowledgements.html -share/doc/chicken/html/basic-mode-of-operation.html -share/doc/chicken/html/bibliography.html -share/doc/chicken/html/bugs-and-limitations.html -share/doc/chicken/html/c-interface.html -share/doc/chicken/html/callbacks.html -share/doc/chicken/html/chicken-setup.html -share/doc/chicken/html/data-representation.html -share/doc/chicken/html/declarations.html -share/doc/chicken/html/deviations-from-the-standard.html -share/doc/chicken/html/embedding.html -share/doc/chicken/html/extensions-to-the-standard.html -share/doc/chicken/html/faq.html -share/doc/chicken/html/foreign-type-specifiers.html -share/doc/chicken/html/index.html -share/doc/chicken/html/interface-to-external-functions-and-variables.html -share/doc/chicken/html/locations.html -share/doc/chicken/html/non-standard-macros-and-special-forms.html -share/doc/chicken/html/non-standard-read-syntax.html -share/doc/chicken/html/other-support-procedures.html -share/doc/chicken/html/parameters.html -share/doc/chicken/html/pattern-matching.html -share/doc/chicken/html/supported-language.html -share/doc/chicken/html/unit-eval.html -share/doc/chicken/html/unit-extras.html -share/doc/chicken/html/unit-library.html -share/doc/chicken/html/unit-lolevel.html -share/doc/chicken/html/unit-match.html -share/doc/chicken/html/unit-posix.html -share/doc/chicken/html/unit-regex.html -share/doc/chicken/html/unit-srfi-1.html -share/doc/chicken/html/unit-srfi-13.html -share/doc/chicken/html/unit-srfi-14.html -share/doc/chicken/html/unit-srfi-18.html -share/doc/chicken/html/unit-srfi-4.html -share/doc/chicken/html/unit-tcp.html -share/doc/chicken/html/unit-utils.html -share/doc/chicken/html/using-the-compiler.html -share/doc/chicken/html/using-the-interpreter.html +share/chicken/doc/ +share/chicken/doc/LICENSE +share/chicken/doc/README +share/chicken/doc/html/ +share/chicken/doc/html/Accessing external objects.html +share/chicken/doc/html/Acknowledgements.html +share/chicken/doc/html/Basic mode of operation.html +share/chicken/doc/html/Bibliography.html +share/chicken/doc/html/Bugs and limitations.html +share/chicken/doc/html/C interface.html +share/chicken/doc/html/Callbacks.html +share/chicken/doc/html/Data representation.html +share/chicken/doc/html/Declarations.html +share/chicken/doc/html/Deviations from the standard.html +share/chicken/doc/html/Embedding.html +share/chicken/doc/html/Extensions to the standard.html +share/chicken/doc/html/Extensions.html +share/chicken/doc/html/Foreign type specifiers.html +share/chicken/doc/html/Interface to external functions and variables.html +share/chicken/doc/html/Locations.html +share/chicken/doc/html/Modules and macros.html +share/chicken/doc/html/Non-standard macros and special forms.html +share/chicken/doc/html/Non-standard read syntax.html +share/chicken/doc/html/Other support procedures.html +share/chicken/doc/html/Parameters.html +share/chicken/doc/html/Supported language.html +share/chicken/doc/html/The User's Manual.html +share/chicken/doc/html/Unit data-structures.html +share/chicken/doc/html/Unit eval.html +share/chicken/doc/html/Unit expand.html +share/chicken/doc/html/Unit extras.html +share/chicken/doc/html/Unit files.html +share/chicken/doc/html/Unit library.html +share/chicken/doc/html/Unit lolevel.html +share/chicken/doc/html/Unit ports.html +share/chicken/doc/html/Unit posix.html +share/chicken/doc/html/Unit regex.html +share/chicken/doc/html/Unit srfi-1.html +share/chicken/doc/html/Unit srfi-13.html +share/chicken/doc/html/Unit srfi-14.html +share/chicken/doc/html/Unit srfi-18.html +share/chicken/doc/html/Unit srfi-4.html +share/chicken/doc/html/Unit tcp.html +share/chicken/doc/html/Unit utils.html +share/chicken/doc/html/Using the compiler.html +share/chicken/doc/html/Using the interpreter.html +share/chicken/doc/html/faq.html +share/chicken/doc/html/manual.css +share/chicken/setup.defaults
chicken-4.0.0-patches.tgz
Description: application/tar-gz