summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorAndrew Pantyukhin <sat@FreeBSD.org>2007-07-14 12:17:12 +0000
committerAndrew Pantyukhin <sat@FreeBSD.org>2007-07-14 12:17:12 +0000
commitf5c217d2244ad9951e0cb879eb93e1bb01a6760b (patch)
treeca210487c1689ca69d3755d2f68f452262f8da09 /lang
parentFix build with gcc 4.2 (diff)
- Add port lang/squirrel
- Register conflicts with archivers/squsq Squirrel is a high level imperative/OO programming language, designed to be a powerful scripting tool that fits in the size, memory bandwidth, and real-time requirements of applications like games. However Squirrel offers a wide range of features like dynamic typing, delegation, classes & inheritance, higher order functions, generators, coroutines, tail recursion, exception handling, automatic memory management, weak references, etc. Squirrel is inspired by languages like Python, Javascript and especially Lua. The API is very similar and the table code is based on the Lua one. WWW: http://squirrel-lang.org/ Author: Alberto Demichelis <alberto@ademichelis.com>
Notes
Notes: svn path=/head/; revision=195571
Diffstat (limited to 'lang')
-rw-r--r--lang/Makefile1
-rw-r--r--lang/squirrel/Makefile48
-rw-r--r--lang/squirrel/distinfo3
-rw-r--r--lang/squirrel/pkg-descr13
4 files changed, 65 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index f7e3699a46ee..9741fa2075f3 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -296,6 +296,7 @@
SUBDIR += spidermonkey
SUBDIR += spl
SUBDIR += squeak
+ SUBDIR += squirrel
SUBDIR += sr
SUBDIR += starlogo
SUBDIR += steptalk
diff --git a/lang/squirrel/Makefile b/lang/squirrel/Makefile
new file mode 100644
index 000000000000..32f76b0729cb
--- /dev/null
+++ b/lang/squirrel/Makefile
@@ -0,0 +1,48 @@
+# New ports collection makefile for: squirrel
+# Date created: 14 July 2007
+# Whom: Andrew Pantyukhin <infofarmer@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= squirrel
+PORTVERSION= 2.1.1
+CATEGORIES= lang
+MASTER_SITES= SF
+DISTNAME= ${PORTNAME}_${DISTVERSION}_stable
+
+MAINTAINER= infofarmer@FreeBSD.org
+COMMENT= High level imperative/OO programming language
+
+CONFLICTS= squsq-[0-9]*
+USE_DOS2UNIX= yes
+USE_LDCONFIG= yes
+WRKSRC= ${WRKDIR}/SQUIRREL2
+SHORTINCS= stdaux stdblob stdio stdmath stdstring stdsystem uirrel
+FULLINCS= ${SHORTINCS:S|^|sq|:S|$|.h|}
+PLIST_FILES= bin/sq lib/libsqstdlib.so lib/libsqstdlib.so.0\
+ lib/libsquirrel.so lib/libsquirrel.so.0\
+ ${FULLINCS:S|^|include/|}
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == amd64 || ${ARCH} == sparc64 || ${ARCH} == ia64
+ALL_TARGET= sq64
+CFLAGS+= -fPIC
+.endif
+
+post-patch:
+ @${FIND} ${WRKSRC} -name Makefile|${XARGS} ${REINPLACE_CMD}\
+ -e '/^MAKE/d;s|gcc|$${CC}|;s|-O2|$${CFLAGS}|;s|g++|$${CXX}|'\
+ -e 's|\.a|.so|g;s|ar rc|$${CC} ${CFLAGS} -shared -o|'
+
+do-install:
+ @${INSTALL_PROGRAM} ${WRKSRC}/bin/sq ${PREFIX}/bin/
+ @cd ${WRKSRC}/lib&&${INSTALL_PROGRAM} libsqstdlib.so libsquirrel.so\
+ ${PREFIX}/lib/
+ @${LN} -sf libsqstdlib.so ${PREFIX}/lib/libsqstdlib.so.0
+ @${LN} -sf libsquirrel.so ${PREFIX}/lib/libsquirrel.so.0
+ @cd ${WRKSRC}/include&&${INSTALL_DATA} ${FULLINCS}\
+ ${PREFIX}/include/
+
+.include <bsd.port.post.mk>
diff --git a/lang/squirrel/distinfo b/lang/squirrel/distinfo
new file mode 100644
index 000000000000..296f61b7bfc1
--- /dev/null
+++ b/lang/squirrel/distinfo
@@ -0,0 +1,3 @@
+MD5 (squirrel_2.1.1_stable.tar.gz) = 28fbd623b558aa48d4607147f7b904d1
+SHA256 (squirrel_2.1.1_stable.tar.gz) = e4892291e1a65607335e3671dd92fa3bd0d2c2fde72cdf04a190ac66ca1ed382
+SIZE (squirrel_2.1.1_stable.tar.gz) = 399111
diff --git a/lang/squirrel/pkg-descr b/lang/squirrel/pkg-descr
new file mode 100644
index 000000000000..aa54fc9d2834
--- /dev/null
+++ b/lang/squirrel/pkg-descr
@@ -0,0 +1,13 @@
+Squirrel is a high level imperative/OO programming language, designed
+to be a powerful scripting tool that fits in the size, memory bandwidth,
+and real-time requirements of applications like games. However Squirrel
+offers a wide range of features like dynamic typing, delegation, classes
+& inheritance, higher order functions, generators, coroutines, tail
+recursion, exception handling, automatic memory management, weak
+references, etc.
+
+Squirrel is inspired by languages like Python, Javascript and especially
+Lua. The API is very similar and the table code is based on the Lua one.
+
+WWW: http://squirrel-lang.org/
+Author: Alberto Demichelis <alberto@ademichelis.com>