summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-lang/squirrel
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-lang/squirrel')
-rw-r--r--dev-lang/squirrel/Manifest1
-rw-r--r--dev-lang/squirrel/files/squirrel-2.2.4-autotools.patch302
-rw-r--r--dev-lang/squirrel/files/squirrel-2.2.4-gcc47.patch59
-rw-r--r--dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch75
-rw-r--r--dev-lang/squirrel/files/squirrel-2.2.4-supertux-const.patch22
-rw-r--r--dev-lang/squirrel/metadata.xml11
-rw-r--r--dev-lang/squirrel/squirrel-2.2.4-r1.ebuild46
-rw-r--r--dev-lang/squirrel/squirrel-2.2.4-r2.ebuild47
8 files changed, 563 insertions, 0 deletions
diff --git a/dev-lang/squirrel/Manifest b/dev-lang/squirrel/Manifest
new file mode 100644
index 00000000000..9a833786b7c
--- /dev/null
+++ b/dev-lang/squirrel/Manifest
@@ -0,0 +1 @@
+DIST squirrel_2.2.4_stable.tar.gz 419567 SHA256 936ca05469ab19f16a730685ef4ad1ca5a3838195765d47935a4ba9052d8b2d4 SHA512 91fe260b362d682eb5d21334c0ffa532120550c1c49a40412ac87118bee5f045e79c260f42247bd2c897d33b7a593dd2bc2e5c8e78e219553682f8b6cd79201d WHIRLPOOL 7cc953f1bbfc8e228be9310eff714b682f0e77b5e1ae9bf0a5bb0ec1c9f53b873c9199bb0679b7b13759bbe54e96de674a9b42b90db3ddd2a3caa36bc067ab50
diff --git a/dev-lang/squirrel/files/squirrel-2.2.4-autotools.patch b/dev-lang/squirrel/files/squirrel-2.2.4-autotools.patch
new file mode 100644
index 00000000000..e39ddedc9eb
--- /dev/null
+++ b/dev-lang/squirrel/files/squirrel-2.2.4-autotools.patch
@@ -0,0 +1,302 @@
+Author: Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
+Purpose: Makes squirrel buildable and installable using autotools, a buildsystem everybody is comfortable with.
+Source: http://ohnopub.net/hg/SQUIRREL2
+Generate with: hg diff -r 0 -r -1 -I '**Makefile*' -I configure.ac -I '**.in'
+
+diff -r d6d89bbc08e5 -r c89309f5be40 Makefile
+--- a/Makefile Thu Feb 11 15:08:35 2010 -0500
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,18 +0,0 @@
+-
+-SQUIRREL=.
+-MAKE=make
+-
+-sq32:
+- cd squirrel; $(MAKE)
+- cd sqstdlib; $(MAKE)
+- cd sq; $(MAKE)
+-
+-sqprof:
+- cd squirrel; $(MAKE) sqprof
+- cd sqstdlib; $(MAKE) sqprof
+- cd sq; $(MAKE) sqprof
+-
+-sq64:
+- cd squirrel; $(MAKE) sq64
+- cd sqstdlib; $(MAKE) sq64
+- cd sq; $(MAKE) sq64
+diff -r d6d89bbc08e5 -r c89309f5be40 Makefile.am
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/Makefile.am Sat Apr 10 11:25:40 2010 -0400
+@@ -0,0 +1,89 @@
++# autoreconf variables, recommended by libtoolize
++ACLOCAL_FLAGS = -I m4
++
++AM_CPPFLAGS = -I$(top_srcdir)/include
++
++# custom installation directories
++examplesdir = $(docdir)/examples
++pkgconfigdir = $(libdir)/pkgconfig
++
++# installed things
++if ENABLE_DOC
++dist_doc_DATA = doc/sqstdlib2.pdf \
++ doc/squirrel2.pdf
++endif
++if ENABLE_EXAMPLES
++dist_examples_DATA = samples/ackermann.nut \
++ samples/array.nut \
++ samples/class.nut \
++ samples/classattributes.nut \
++ samples/coroutines.nut \
++ samples/delegation.nut \
++ samples/fibonacci.nut \
++ samples/flow.nut \
++ samples/generators.nut \
++ samples/hello.nut \
++ samples/list.nut \
++ samples/loops.nut \
++ samples/matrix.nut \
++ samples/metamethods.nut \
++ samples/methcall.nut \
++ samples/tailstate.nut
++endif
++
++nodist_pkgconfig_DATA = libsqstdlib.pc \
++ libsquirrel.pc
++bin_PROGRAMS = sq/sq
++lib_LTLIBRARIES = libsquirrel.la \
++ libsqstdlib.la
++include_HEADERS = include/sqstdaux.h \
++ include/sqstdblob.h \
++ include/sqstdio.h \
++ include/sqstdmath.h \
++ include/sqstdstring.h \
++ include/sqstdsystem.h \
++ include/squirrel.h
++
++
++# sources for installed things
++
++libsqstdlib_la_SOURCES = sqstdlib/sqstdaux.cpp \
++ sqstdlib/sqstdblob.cpp sqstdlib/sqstdblobimpl.h \
++ sqstdlib/sqstdio.cpp \
++ sqstdlib/sqstdmath.cpp \
++ sqstdlib/sqstdrex.cpp \
++ sqstdlib/sqstdstream.cpp sqstdlib/sqstdstream.h \
++ sqstdlib/sqstdstring.cpp \
++ sqstdlib/sqstdsystem.cpp
++libsqstdlib_la_LDFLAGS = -version-info 0:0:0
++libsqstdlib_la_LIBADD = libsquirrel.la
++
++libsquirrel_la_SOURCES = squirrel/sqapi.cpp \
++ squirrel/sqarray.h \
++ squirrel/sqbaselib.cpp \
++ squirrel/sqclass.cpp squirrel/sqclass.h \
++ squirrel/sqclosure.h \
++ squirrel/sqcompiler.cpp squirrel/sqcompiler.h \
++ squirrel/sqdebug.cpp \
++ squirrel/sqfuncproto.h \
++ squirrel/sqfuncstate.cpp squirrel/sqfuncstate.h \
++ squirrel/sqlexer.cpp squirrel/sqlexer.h \
++ squirrel/sqmem.cpp \
++ squirrel/sqobject.cpp squirrel/sqobject.h \
++ squirrel/sqopcodes.h \
++ squirrel/sqpcheader.h \
++ squirrel/sqstate.cpp squirrel/sqstate.h \
++ squirrel/sqstring.h \
++ squirrel/sqtable.cpp squirrel/sqtable.h \
++ squirrel/squserdata.h \
++ squirrel/squtils.h \
++ squirrel/sqvm.cpp squirrel/sqvm.h
++libsquirrel_la_LDFLAGS = -version-info 0:0:0
++
++sq_sq_SOURCES = sq/sq.c
++sq_sq_LDADD = libsqstdlib.la
++
++EXTRA_DIST = COMPILE COPYRIGHT HISTORY README \
++ doc/sqstdlib2.chm doc/squirrel2.chm \
++ squirrel.dsw sq/sq.dsp squirrel/squirrel.dsp sqstdlib/sqstdlib.dsp \
++ etc/minimal.c etc/test.nut
+diff -r d6d89bbc08e5 -r c89309f5be40 configure.ac
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/configure.ac Sat Apr 10 11:25:40 2010 -0400
+@@ -0,0 +1,29 @@
++AC_INIT([squirrel],[2.2.4],[http://squirrel-lang.org/])
++
++# recommended by libtoolize:
++AC_CONFIG_MACRO_DIR([m4])
++
++AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])
++
++AC_PROG_LIBTOOL
++AC_PROG_CC_C_O
++AC_PROG_CXX
++
++AC_ARG_ENABLE([doc],
++ [AS_HELP_STRING([--disable-doc], [Control whether or not the API docs (pdfs) are installed.])],
++ [enable_docs=$enableval],
++ [enable_docs=yes])
++AM_CONDITIONAL([ENABLE_DOC],
++ [test "x$enable_docs" = "xyes"])
++
++AC_ARG_ENABLE([examples],
++ [AS_HELP_STRING([--disable-exampels], [Control whether or not examples of libsquirrel use are installed.])],
++ [enable_examples=$enableval],
++ [enable_examples=yes])
++AM_CONDITIONAL([ENABLE_EXAMPLES],
++ [test "x$enable_examples" = "xyes"])
++
++AC_CONFIG_FILES([Makefile
++libsquirrel.pc
++libsqstdlib.pc])
++AC_OUTPUT
+diff -r d6d89bbc08e5 -r c89309f5be40 libsqstdlib.pc.in
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/libsqstdlib.pc.in Sat Apr 10 11:25:40 2010 -0400
+@@ -0,0 +1,14 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: A library for libsquirrel users
++Version: @VERSION@
++URL: @PACKAGE_BUGREPORT@
++Libs: -L${libdir} -lsqstdlib
++# I don't like hard-coding this here, but it's an internal
++# dependency so it's justified.
++Libs.private: -lsquirrel
++Cflags: -I${includedir}
+diff -r d6d89bbc08e5 -r c89309f5be40 libsquirrel.pc.in
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/libsquirrel.pc.in Sat Apr 10 11:25:40 2010 -0400
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: A dynamic scripting language for games
++Version: @VERSION@
++URL: @PACKAGE_BUGREPORT@
++Libs: -L${libdir} -lsquirrel
++Cflags: -I${includedir}
+diff -r d6d89bbc08e5 -r c89309f5be40 sq/Makefile
+--- a/sq/Makefile Thu Feb 11 15:08:35 2010 -0500
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,21 +0,0 @@
+-SQUIRREL= ..
+-
+-
+-OUT= $(SQUIRREL)/bin/sq
+-INCZ= -I$(SQUIRREL)/include -I. -I$(SQUIRREL)/sqlibs
+-LIBZ= -L$(SQUIRREL)/lib
+-LIB= -lsquirrel -lsqstdlib
+-
+-OBJS= sq.o
+-
+-SRCS= sq.c
+-
+-
+-sq32:
+- g++ -O2 -fno-rtti -o $(OUT) $(SRCS) $(INCZ) $(LIBZ) $(LIB)
+-
+-sqprof:
+- g++ -O2 -pg -fno-rtti -pie -gstabs -g3 -o $(OUT) $(SRCS) $(INCZ) $(LIBZ) $(LIB)
+-
+-sq64:
+- g++ -O2 -fno-rtti -D_SQ64 -o $(OUT) $(SRCS) $(INCZ) $(LIBZ) $(LIB)
+\ No newline at end of file
+diff -r d6d89bbc08e5 -r c89309f5be40 sqstdlib/Makefile
+--- a/sqstdlib/Makefile Thu Feb 11 15:08:35 2010 -0500
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,30 +0,0 @@
+-SQUIRREL= ..
+-
+-
+-OUT= $(SQUIRREL)/lib/libsqstdlib.a
+-INCZ= -I$(SQUIRREL)/include -I. -Iinclude
+-
+-SRCS= \
+- sqstdblob.cpp \
+- sqstdio.cpp \
+- sqstdstream.cpp \
+- sqstdmath.cpp \
+- sqstdsystem.cpp \
+- sqstdstring.cpp \
+- sqstdaux.cpp \
+- sqstdrex.cpp
+-
+-
+-sq32:
+- gcc -O2 -fno-rtti -Wall -c $(SRCS) $(INCZ)
+- ar rc $(OUT) *.o
+- rm *.o
+-
+-sqprof:
+- gcc -O2 -pg -fno-rtti -pie -gstabs -g3 -Wall -c $(SRCS) $(INCZ)
+- ar rc $(OUT) *.o
+- rm *.o
+-sq64:
+- gcc -O2 -D_SQ64 -fno-rtti -Wall -c $(SRCS) $(INCZ)
+- ar rc $(OUT) *.o
+- rm *.o
+diff -r d6d89bbc08e5 -r c89309f5be40 squirrel/Makefile
+--- a/squirrel/Makefile Thu Feb 11 15:08:35 2010 -0500
++++ /dev/null Thu Jan 01 00:00:00 1970 +0000
+@@ -1,52 +0,0 @@
+-SQUIRREL= ..
+-
+-
+-OUT= $(SQUIRREL)/lib/libsquirrel.a
+-INCZ= -I$(SQUIRREL)/include -I. -Iinclude
+-DEFS=
+-LIB=
+-
+-OBJS= \
+- sqapi.o \
+- sqbaselib.o \
+- sqcompiler.o \
+- sqdebug.o \
+- sqlexer.o \
+- sqobject.o \
+- sqparser.o \
+- sqstate.o \
+- sqtable.o \
+- sqvm.o \
+- sqmem.o \
+- sqclass.o
+-
+-SRCS= \
+- sqapi.cpp \
+- sqbaselib.cpp \
+- sqfuncstate.cpp \
+- sqdebug.cpp \
+- sqlexer.cpp \
+- sqobject.cpp \
+- sqcompiler.cpp \
+- sqstate.cpp \
+- sqtable.cpp \
+- sqmem.cpp \
+- sqvm.cpp \
+- sqclass.cpp
+-
+-
+-
+-sq32:
+- gcc -O2 -fno-rtti -Wall -c $(SRCS) $(INCZ) $(DEFS)
+- ar rc $(OUT) *.o
+- rm *.o
+-
+-sqprof:
+- gcc -O2 -pg -fno-rtti -pie -gstabs -g3 -Wall -c $(SRCS) $(INCZ) $(DEFS)
+- ar rc $(OUT) *.o
+- rm *.o
+-
+-sq64:
+- gcc -O2 -D_SQ64 -fno-rtti -Wall -c $(SRCS) $(INCZ) $(DEFS)
+- ar rc $(OUT) *.o
+- rm *.o
diff --git a/dev-lang/squirrel/files/squirrel-2.2.4-gcc47.patch b/dev-lang/squirrel/files/squirrel-2.2.4-gcc47.patch
new file mode 100644
index 00000000000..032a4eb914a
--- /dev/null
+++ b/dev-lang/squirrel/files/squirrel-2.2.4-gcc47.patch
@@ -0,0 +1,59 @@
+From fd2d422f16ca1134f3be8d693290e6b1c536bf71 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 7 Jun 2012 10:10:28 +0300
+Subject: [squirrel: PATCH] fix build breakage on gcc-4.7 and clang++
+
+gcc 4.7 got proper support for argument dependent lookup
+for builtin types:
+ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46075
+
+It exposed old problem:
+> gcc -O2 -fno-exceptions -fno-rtti -Wall -fno-strict-aliasing -c sqapi.cpp sqbaselib.cpp sqfuncstate.cpp sqdebug.cpp \
+ sqlexer.cpp sqobject.cpp sqcompiler.cpp sqstate.cpp sqtable.cpp sqmem.cpp sqvm.cpp sqclass.cpp -I../include -I. -Iinclude
+ In file included from sqobject.h:5:0,
+ from sqpcheader.h:16,
+ from sqapi.cpp:4:
+ squtils.h: In instantiation of 'sqvector<T>::~sqvector() [with T = long long int]':
+ sqclosure.h:142:52: required from here
+ squtils.h:46:4: error: 'sq_vm_free' was not declared in this scope, and no declarations were found by argument-dependent
+ lookup at the point of instantiation [-fpermissive]
+ In file included from sqpcheader.h:17:0,
+ from sqapi.cpp:4:
+ sqstate.h:143:6: note: 'void sq_vm_free(void*, SQUnsignedInteger)' declared here, later in the translation unit
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ squirrel/sqstate.h | 3 ---
+ squirrel/squtils.h | 4 ++++
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/squirrel/sqstate.h b/squirrel/sqstate.h
+index 3ed3307..e931404 100755
+--- a/squirrel/sqstate.h
++++ b/squirrel/sqstate.h
+@@ -138,7 +138,4 @@ private:
+
+ bool CompileTypemask(SQIntVec &res,const SQChar *typemask);
+
+-void *sq_vm_malloc(SQUnsignedInteger size);
+-void *sq_vm_realloc(void *p,SQUnsignedInteger oldsize,SQUnsignedInteger size);
+-void sq_vm_free(void *p,SQUnsignedInteger size);
+ #endif //_SQSTATE_H_
+diff --git a/squirrel/squtils.h b/squirrel/squtils.h
+index bff7d24..ac3aef9 100755
+--- a/squirrel/squtils.h
++++ b/squirrel/squtils.h
+@@ -10,6 +10,10 @@
+
+ #define sq_aligning(v) (((size_t)(v) + (SQ_ALIGNMENT-1)) & (~(SQ_ALIGNMENT-1)))
+
++
++void *sq_vm_malloc(SQUnsignedInteger size);
++void *sq_vm_realloc(void *p,SQUnsignedInteger oldsize,SQUnsignedInteger size);
++void sq_vm_free(void *p,SQUnsignedInteger size);
+ //sqvector mini vector class, supports objects by value
+ template<typename T> class sqvector
+ {
+--
+1.7.8.6
+
diff --git a/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch b/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch
new file mode 100644
index 00000000000..911edcc79d3
--- /dev/null
+++ b/dev-lang/squirrel/files/squirrel-2.2.4-stdint.h.patch
@@ -0,0 +1,75 @@
+diff -r d6d89bbc08e5 -r 692b7872324b include/squirrel.h
+--- a/include/squirrel.h Thu Feb 11 15:08:35 2010 -0500
++++ b/include/squirrel.h Sat Feb 13 01:04:21 2010 -0500
+@@ -39,28 +39,22 @@
+ #define SQUIRREL_API extern
+ #endif
+
+-#if (defined(_WIN64) || defined(_LP64))
+-#define _SQ64
+-#endif
++/* Get uintptr_t from a non standard or standard location */
++#ifdef _MSC_VER
++#include <stddef.h>
+
+-#ifdef _SQ64
+-#ifdef _MSC_VER
+-typedef __int64 SQInteger;
+-typedef unsigned __int64 SQUnsignedInteger;
+-typedef unsigned __int64 SQHash; /*should be the same size of a pointer*/
+-#else
+-typedef long SQInteger;
+-typedef unsigned long SQUnsignedInteger;
+-typedef unsigned long SQHash; /*should be the same size of a pointer*/
+-#endif
+-typedef int SQInt32;
+-#else
+-typedef int SQInteger;
+-typedef int SQInt32; /*must be 32 bits(also on 64bits processors)*/
+-typedef unsigned int SQUnsignedInteger;
+-typedef unsigned int SQHash; /*should be the same size of a pointer*/
+-#endif
++typedef __int32 SQInt32;
++typedef __int64 SQInt64;
++#else /* _MSC_VER */
++#include <stdint.h>
+
++typedef int32_t SQInt32;
++typedef int64_t SQInt64;
++#endif /* _MSC_VER */
++
++typedef intptr_t SQInteger;
++typedef uintptr_t SQUnsignedInteger;
++typedef uintptr_t SQHash;
+
+ #ifdef SQUSEDOUBLE
+ typedef double SQFloat;
+@@ -68,12 +62,8 @@
+ typedef float SQFloat;
+ #endif
+
+-#if defined(SQUSEDOUBLE) && !defined(_SQ64)
+-#ifdef _MSC_VER
+-typedef __int64 SQRawObjectVal; //must be 64bits
+-#else
+-typedef long SQRawObjectVal; //must be 64bits
+-#endif
++#if defined(SQUSEDOUBLE)
++typedef SQInt64 SQRawObjectVal; /* must be 64 bits */
+ #define SQ_OBJECT_RAWINIT() { _unVal.raw = 0; }
+ #else
+ typedef SQUnsignedInteger SQRawObjectVal; //is 32 bits on 32 bits builds and 64 bits otherwise
+@@ -453,4 +443,13 @@
+ } /*extern "C"*/
+ #endif
+
++/*
++ Define for code which depends on squirrel to
++ determine bitiness. IMO, this should be discouraged.
++ --ohnobinki
++*/
++#if (defined(_WIN64) || defined(_LP64))
++#define _SQ64
++#endif
++
+ #endif /*_SQUIRREL_H_*/
diff --git a/dev-lang/squirrel/files/squirrel-2.2.4-supertux-const.patch b/dev-lang/squirrel/files/squirrel-2.2.4-supertux-const.patch
new file mode 100644
index 00000000000..e31eca5c1f9
--- /dev/null
+++ b/dev-lang/squirrel/files/squirrel-2.2.4-supertux-const.patch
@@ -0,0 +1,22 @@
+diff -r 3e8a1ff66c3c -r bd1cfd3e3cdd sqstdlib/sqstdstream.cpp
+--- a/sqstdlib/sqstdstream.cpp Fri Feb 12 20:35:23 2010 -0500
++++ b/sqstdlib/sqstdstream.cpp Fri Feb 12 23:58:35 2010 -0500
+@@ -277,7 +277,7 @@
+ sq_pop(v,1);
+ }
+
+-SQRESULT declare_stream(HSQUIRRELVM v,SQChar* name,SQUserPointer typetag,const SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals)
++SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,const SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals)
+ {
+ if(sq_gettype(v,-1) != OT_TABLE)
+ return sq_throwerror(v,_SC("table expected"));
+diff -r 3e8a1ff66c3c -r bd1cfd3e3cdd sqstdlib/sqstdstream.h
+--- a/sqstdlib/sqstdstream.h Fri Feb 12 20:35:23 2010 -0500
++++ b/sqstdlib/sqstdstream.h Fri Feb 12 23:58:35 2010 -0500
+@@ -14,5 +14,5 @@
+ SQInteger _stream_flush(HSQUIRRELVM v);
+
+ #define _DECL_STREAM_FUNC(name,nparams,typecheck) {_SC(#name),_stream_##name,nparams,typecheck}
+-SQRESULT declare_stream(HSQUIRRELVM v,SQChar* name,SQUserPointer typetag,const SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals);
++SQRESULT declare_stream(HSQUIRRELVM v,const SQChar* name,SQUserPointer typetag,const SQChar* reg_name,SQRegFunction *methods,SQRegFunction *globals);
+ #endif /*_SQSTD_STREAM_H_*/
diff --git a/dev-lang/squirrel/metadata.xml b/dev-lang/squirrel/metadata.xml
new file mode 100644
index 00000000000..ed69b5a943f
--- /dev/null
+++ b/dev-lang/squirrel/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>binki@gentoo.org</email>
+ <name>Nathan Phillip Brink</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">squirrel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lang/squirrel/squirrel-2.2.4-r1.ebuild b/dev-lang/squirrel/squirrel-2.2.4-r1.ebuild
new file mode 100644
index 00000000000..4c3e8b23519
--- /dev/null
+++ b/dev-lang/squirrel/squirrel-2.2.4-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit autotools eutils multilib
+
+MY_P="${PN}_${PV}_stable"
+DESCRIPTION="A interpreted language mainly used for games"
+HOMEPAGE="http://squirrel-lang.org/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}${PV:0:1}/${MY_P}/${MY_P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc examples static-libs"
+
+# /usr/bin/sq conflicts
+RDEPEND="!app-text/ispell"
+
+S="${WORKDIR}/SQUIRREL${PV:0:1}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${P}-supertux-const.patch
+ epatch "${FILESDIR}"/${P}-stdint.h.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable doc) \
+ $(use_enable examples) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ if ! use static-libs; then
+ rm -v "${ED}"/usr/$(get_libdir)/*.la || die
+ fi
+
+ dodoc HISTORY README || die
+}
diff --git a/dev-lang/squirrel/squirrel-2.2.4-r2.ebuild b/dev-lang/squirrel/squirrel-2.2.4-r2.ebuild
new file mode 100644
index 00000000000..d8fb4bbe197
--- /dev/null
+++ b/dev-lang/squirrel/squirrel-2.2.4-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit autotools eutils multilib
+
+MY_P="${PN}_${PV}_stable"
+DESCRIPTION="A interpreted language mainly used for games"
+HOMEPAGE="http://squirrel-lang.org/"
+SRC_URI="mirror://sourceforge/${PN}/${PN}${PV:0:1}/${MY_P}/${MY_P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples static-libs"
+
+# /usr/bin/sq conflicts
+RDEPEND="!app-text/ispell"
+
+S="${WORKDIR}/SQUIRREL${PV:0:1}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${P}-supertux-const.patch
+ epatch "${FILESDIR}"/${P}-stdint.h.patch
+ epatch "${FILESDIR}"/${P}-gcc47.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ econf --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ $(use_enable doc) \
+ $(use_enable examples) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ if ! use static-libs; then
+ rm -v "${ED}"/usr/$(get_libdir)/*.la || die
+ fi
+
+ dodoc HISTORY README || die
+}