diff options
author | lippe <lippe@FreeBSD.org> | 2008-08-05 23:19:14 +0800 |
---|---|---|
committer | lippe <lippe@FreeBSD.org> | 2008-08-05 23:19:14 +0800 |
commit | f97bdd4e8badd42241d3d6f58cf99cb43111a3e1 (patch) | |
tree | 99990a344f9f3e16428d6d0d28a712b33fee29bf /lang | |
parent | 8403d8b1dd8483195b959e9ac45b946a0d7cd466 (diff) | |
download | freebsd-ports-gnome-f97bdd4e8badd42241d3d6f58cf99cb43111a3e1.tar.gz freebsd-ports-gnome-f97bdd4e8badd42241d3d6f58cf99cb43111a3e1.tar.zst freebsd-ports-gnome-f97bdd4e8badd42241d3d6f58cf99cb43111a3e1.zip |
Ypsilon is an implementation of Scheme programming language for real-time
applications, which conforms to the latest standard R^6RS.
Ypsilon features mostly concurrent garbage collector optimized for systems
with multiple CPUs, and an easy to use FFI.
WWW: http://code.google.com/p/ypsilon/
PR: ports/126015
Submitted by: Vitaly Magerya <vmagerya@gmail.com>
Approved by: gabor (mentor, implicit)
Diffstat (limited to 'lang')
-rw-r--r-- | lang/ypsilon/Makefile | 38 | ||||
-rw-r--r-- | lang/ypsilon/distinfo | 3 | ||||
-rw-r--r-- | lang/ypsilon/files/patch-Makefile | 46 | ||||
-rw-r--r-- | lang/ypsilon/files/patch-sitelib | 42 | ||||
-rw-r--r-- | lang/ypsilon/pkg-descr | 6 | ||||
-rw-r--r-- | lang/ypsilon/pkg-plist | 83 |
6 files changed, 218 insertions, 0 deletions
diff --git a/lang/ypsilon/Makefile b/lang/ypsilon/Makefile new file mode 100644 index 000000000000..6f5709248073 --- /dev/null +++ b/lang/ypsilon/Makefile @@ -0,0 +1,38 @@ +# New ports collection makefile for: ypsilon +# Date created: 27 July 2008 +# Whom: Vitaly Magerya <vmagerya@gmail.com> +# +# $FreeBSD$ +# + +PORTNAME= ypsilon +PORTVERSION= 0.9.6 +CATEGORIES= lang scheme +MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE} + +MAINTAINER= vmagerya@gmail.com +COMMENT= Scheme implementation for real-time applications + +USE_GMAKE= yes +MAKE_ARGS= PROG="${PORTNAME}" \ + DATADIR="${DATADIR}" \ + PTHREAD_LIBS="${PTHREAD_LIBS}" + +MAN1= ypsilon.1 + +ONLY_FOR_ARCHS= i386 + +post-patch: + ${RM} ${WRKSRC}/sitelib/*.orig + +do-install: + @${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin + @${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${MANPREFIX}/man/man1 + @${MKDIR} ${DATADIR} + (cd ${WRKSRC}/ && ${COPYTREE_SHARE} "sitelib stdlib" ${DATADIR}) +.ifndef (NOPORTEXAMPLES) + @${MKDIR} ${EXAMPLESDIR} + @${INSTALL_DATA} ${WRKSRC}/example/*.scm ${EXAMPLESDIR} +.endif + +.include <bsd.port.mk> diff --git a/lang/ypsilon/distinfo b/lang/ypsilon/distinfo new file mode 100644 index 000000000000..bd8dc9213abe --- /dev/null +++ b/lang/ypsilon/distinfo @@ -0,0 +1,3 @@ +MD5 (ypsilon-0.9.6.tar.gz) = dd6886731fb78a85bc6a019f635f26a2 +SHA256 (ypsilon-0.9.6.tar.gz) = 5072ef7bc0248f546112631dd34a202d791ad8312f184d2ee387a6b40f9de17a +SIZE (ypsilon-0.9.6.tar.gz) = 4533453 diff --git a/lang/ypsilon/files/patch-Makefile b/lang/ypsilon/files/patch-Makefile new file mode 100644 index 000000000000..8411ee026993 --- /dev/null +++ b/lang/ypsilon/files/patch-Makefile @@ -0,0 +1,46 @@ +--- Makefile.orig 2008-08-01 04:39:41.000000000 +0300 ++++ Makefile 2008-08-02 22:01:30.000000000 +0300 +@@ -3,13 +3,11 @@ + # Use Win32 native build for Cygwin + # + +-PROG = ypsilon ++PROG = ${PORTNAME} + +-PREFIX = /usr/local ++CPPFLAGS = -DNDEBUG -DDEFAULT_HEAP_LIMIT=32 -DSYSTEM_SHARE_PATH='"${DATADIR}"' + +-CPPFLAGS = -DNDEBUG -DDEFAULT_HEAP_LIMIT=32 -DSYSTEM_SHARE_PATH='"$(PREFIX)/share/$(PROG)"' +- +-CXXFLAGS = -x c++ -pthread -msse -mfpmath=sse -O3 -fstrict-aliasing \ ++CXXFLAGS = -x c++ ${CFLAGS} \ + -fomit-frame-pointer -momit-leaf-frame-pointer \ + -fno-align-labels -fno-align-loops -fno-align-jumps + +@@ -25,6 +23,18 @@ + + UNAME = $(shell uname) + ++ifneq (, $(findstring FreeBSD, $(UNAME))) ++ ifeq ($(shell $(CXX) -dumpspecs | grep 'march=native')), ) ++ CXXFLAGS += -m32 -march=i386 ++ else ++ CXXFLAGS += -m32# -march=native ++ endif ++ CPPFLAGS += -D__LITTLE_ENDIAN__ ++ ASFLAGS = --32 ++ LDFLAGS = -m32 ${PTHREAD_LIBS} ++ SRCS += ffi_stub_linux.s ++endif ++ + ifneq (, $(findstring Linux, $(UNAME))) + ifeq ($(shell $(CXX) -dumpspecs | grep 'march=native')), ) + CXXFLAGS += -m32 -march=i686 +@@ -48,7 +58,6 @@ + .PHONY: all install uninstall sitelib stdlib check bench clean + + all: $(PROG) +- @mkdir -p -m755 $(HOME)/.ypsilon + + $(PROG): $(OBJS) + $(CXX) $(LDFLAGS) -o $@ $^ diff --git a/lang/ypsilon/files/patch-sitelib b/lang/ypsilon/files/patch-sitelib new file mode 100644 index 000000000000..0cb7f31577cb --- /dev/null +++ b/lang/ypsilon/files/patch-sitelib @@ -0,0 +1,42 @@ +diff -ruN sitelib.old/ffi.scm sitelib/ffi.scm +--- sitelib.old/ffi.scm 2008-08-02 22:38:36.000000000 +0300 ++++ sitelib/ffi.scm 2008-08-02 22:38:49.000000000 +0300 +@@ -6,7 +6,7 @@ + (library (ffi) + + (export c-function c-argument +- on-windows on-darwin on-linux on-posix) ++ on-windows on-darwin on-linux on-freebsd on-posix) + + (import (core primitives) + (core syntax-case) +@@ -16,6 +16,7 @@ + (define on-windows (and (string-contains (architecture-feature 'operating-system) "windows") #t)) + (define on-darwin (and (string-contains (architecture-feature 'operating-system) "darwin") #t)) + (define on-linux (and (string-contains (architecture-feature 'operating-system) "linux") #t)) ++ (define on-freebsd (and (string-contains (architecture-feature 'operating-system) "freebsd") #t)) + (define on-posix (not on-windows)) + + (define assert-int +diff -ruN sitelib.old/gl.scm sitelib/gl.scm +--- sitelib.old/gl.scm 2008-08-02 22:38:36.000000000 +0300 ++++ sitelib/gl.scm 2008-08-02 22:38:49.000000000 +0300 +@@ -1242,6 +1242,7 @@ + (define libGL (cond (on-darwin (load-shared-object "OpenGL.framework/OpenGL")) + (on-windows (load-shared-object "opengl32.dll")) + (on-linux (load-shared-object "libGL.so.1")) ++ (on-freebsd (load-shared-object "libGL.so.1")) + (else (assertion-violation #f "can not locate OpenGL library, unknown operating system")))) + + ;;;; Boolean values +diff -ruN sitelib.old/glut.scm sitelib/glut.scm +--- sitelib.old/glut.scm 2008-08-02 22:38:36.000000000 +0300 ++++ sitelib/glut.scm 2008-08-02 22:38:49.000000000 +0300 +@@ -181,6 +181,7 @@ + (define libGLUT (cond (on-darwin (load-shared-object "GLUT.framework/GLUT")) + (on-windows (load-shared-object "glut32.dll")) + (on-linux (load-shared-object "libglut.so.3")) ++ (on-freebsd (load-shared-object "libglut.so.4")) + (else (assertion-violation #f "can not locate GLUT library, unknown operating system")))) + + ;; Display mode bit masks. diff --git a/lang/ypsilon/pkg-descr b/lang/ypsilon/pkg-descr new file mode 100644 index 000000000000..1c8896543d1a --- /dev/null +++ b/lang/ypsilon/pkg-descr @@ -0,0 +1,6 @@ +Ypsilon is an implementation of Scheme programming language for real-time +applications, which conforms to the latest standard R^6RS. +Ypsilon features mostly concurrent garbage collector optimized for systems +with multiple CPUs, and an easy to use FFI. + +WWW: http://code.google.com/p/ypsilon/ diff --git a/lang/ypsilon/pkg-plist b/lang/ypsilon/pkg-plist new file mode 100644 index 000000000000..5752d8ce6262 --- /dev/null +++ b/lang/ypsilon/pkg-plist @@ -0,0 +1,83 @@ +bin/ypsilon +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gears.scm +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/glut-demo.scm +%%DATADIR%%/sitelib/apropos.scm +%%DATADIR%%/sitelib/ffi.scm +%%DATADIR%%/sitelib/gl.scm +%%DATADIR%%/sitelib/glut.scm +%%DATADIR%%/sitelib/match.scm +%%DATADIR%%/sitelib/pregexp.scm +%%DATADIR%%/sitelib/srfi/srfi-1.scm +%%DATADIR%%/sitelib/srfi/srfi-26.scm +%%DATADIR%%/sitelib/srfi/srfi-28.scm +%%DATADIR%%/sitelib/srfi/srfi-39.scm +%%DATADIR%%/sitelib/srfi/srfi-42.scm +%%DATADIR%%/sitelib/srfi/srfi-6.scm +%%DATADIR%%/sitelib/srfi/srfi-8.scm +%%DATADIR%%/sitelib/streams.scm +%%DATADIR%%/sitelib/tidbits/define-inline.scm +%%DATADIR%%/sitelib/tidbits/dotimes.scm +%%DATADIR%%/sitelib/tidbits/string-split.scm +%%DATADIR%%/sitelib/time.scm +%%DATADIR%%/sitelib/trace.scm +%%DATADIR%%/stdlib/core.scm +%%DATADIR%%/stdlib/core/arithmetic.scm +%%DATADIR%%/stdlib/core/bytevector-transcoders.scm +%%DATADIR%%/stdlib/core/bytevectors.scm +%%DATADIR%%/stdlib/core/chkarg.scm +%%DATADIR%%/stdlib/core/conditions.scm +%%DATADIR%%/stdlib/core/control.scm +%%DATADIR%%/stdlib/core/destructuring.scm +%%DATADIR%%/stdlib/core/enums.scm +%%DATADIR%%/stdlib/core/exceptions.scm +%%DATADIR%%/stdlib/core/files.scm +%%DATADIR%%/stdlib/core/hashtables.scm +%%DATADIR%%/stdlib/core/io.scm +%%DATADIR%%/stdlib/core/lists.scm +%%DATADIR%%/stdlib/core/optargs.scm +%%DATADIR%%/stdlib/core/optimize.scm +%%DATADIR%%/stdlib/core/parameters.scm +%%DATADIR%%/stdlib/core/r5rs.scm +%%DATADIR%%/stdlib/core/records.scm +%%DATADIR%%/stdlib/core/sorting.scm +%%DATADIR%%/stdlib/core/struct.scm +%%DATADIR%%/stdlib/core/syntax-case.scm +%%DATADIR%%/stdlib/core/unicode-assistants.scm +%%DATADIR%%/stdlib/core/unicode.scm +%%DATADIR%%/stdlib/rnrs.scm +%%DATADIR%%/stdlib/rnrs/arithmetic/bitwise.scm +%%DATADIR%%/stdlib/rnrs/arithmetic/fixnums.scm +%%DATADIR%%/stdlib/rnrs/arithmetic/flonums.scm +%%DATADIR%%/stdlib/rnrs/base.scm +%%DATADIR%%/stdlib/rnrs/bytevectors.scm +%%DATADIR%%/stdlib/rnrs/conditions.scm +%%DATADIR%%/stdlib/rnrs/control.scm +%%DATADIR%%/stdlib/rnrs/enums.scm +%%DATADIR%%/stdlib/rnrs/eval.scm +%%DATADIR%%/stdlib/rnrs/exceptions.scm +%%DATADIR%%/stdlib/rnrs/files.scm +%%DATADIR%%/stdlib/rnrs/hashtables.scm +%%DATADIR%%/stdlib/rnrs/io/ports.scm +%%DATADIR%%/stdlib/rnrs/io/simple.scm +%%DATADIR%%/stdlib/rnrs/lists.scm +%%DATADIR%%/stdlib/rnrs/mutable-pairs.scm +%%DATADIR%%/stdlib/rnrs/mutable-strings.scm +%%DATADIR%%/stdlib/rnrs/programs.scm +%%DATADIR%%/stdlib/rnrs/r5rs.scm +%%DATADIR%%/stdlib/rnrs/records/inspection.scm +%%DATADIR%%/stdlib/rnrs/records/procedural.scm +%%DATADIR%%/stdlib/rnrs/records/syntactic.scm +%%DATADIR%%/stdlib/rnrs/sorting.scm +%%DATADIR%%/stdlib/rnrs/syntax-case.scm +%%DATADIR%%/stdlib/rnrs/unicode.scm +%%PORTEXAMPLES%%@dirrm %%EXAMPLESDIR%% +@dirrm %%DATADIR%%/stdlib/rnrs/arithmetic +@dirrm %%DATADIR%%/stdlib/rnrs/io +@dirrm %%DATADIR%%/stdlib/rnrs/records +@dirrm %%DATADIR%%/stdlib/rnrs +@dirrm %%DATADIR%%/stdlib/core +@dirrm %%DATADIR%%/stdlib +@dirrm %%DATADIR%%/sitelib/srfi +@dirrm %%DATADIR%%/sitelib/tidbits +@dirrm %%DATADIR%%/sitelib +@dirrm %%DATADIR%% |