aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorlippe <lippe@FreeBSD.org>2008-08-05 23:19:14 +0800
committerlippe <lippe@FreeBSD.org>2008-08-05 23:19:14 +0800
commitf97bdd4e8badd42241d3d6f58cf99cb43111a3e1 (patch)
tree99990a344f9f3e16428d6d0d28a712b33fee29bf /lang
parent8403d8b1dd8483195b959e9ac45b946a0d7cd466 (diff)
downloadfreebsd-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/Makefile38
-rw-r--r--lang/ypsilon/distinfo3
-rw-r--r--lang/ypsilon/files/patch-Makefile46
-rw-r--r--lang/ypsilon/files/patch-sitelib42
-rw-r--r--lang/ypsilon/pkg-descr6
-rw-r--r--lang/ypsilon/pkg-plist83
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%%