summaryrefslogtreecommitdiff
path: root/dev-lang/squirrel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-lang/squirrel
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-lang/squirrel')
-rw-r--r--dev-lang/squirrel/Manifest11
-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.xml12
-rw-r--r--dev-lang/squirrel/squirrel-2.2.4-r2.ebuild46
-rw-r--r--dev-lang/squirrel/squirrel-3.1.ebuild42
8 files changed, 569 insertions, 0 deletions
diff --git a/dev-lang/squirrel/Manifest b/dev-lang/squirrel/Manifest
new file mode 100644
index 000000000000..f009dd3f4948
--- /dev/null
+++ b/dev-lang/squirrel/Manifest
@@ -0,0 +1,11 @@
+AUX squirrel-2.2.4-autotools.patch 7721 SHA256 59e04a170ebbe0a6441ca6accaca7509151f42053f82eab4857e5954871869f5 SHA512 1e0993d3172a31c4c75631d28192f53a92113c75dc0ea4fb13db4a23bfbf3b5d8495fa2a51c5501c8fa939c2a5072fd6975b3b4e991bd48d8c5ade2862682f1b WHIRLPOOL 2cf465385a026fbaf73a682b4bc21f84ae3b23d1ebcff287d1bba6ad2b703f9e8607b9abaffac5c686a38056056595cbc2674c85d68c67139b042ef8f8c3eee0
+AUX squirrel-2.2.4-gcc47.patch 2371 SHA256 6d044f1235de65b44d5d9510fb591d645ea543eb28bf1a764601b4ac1772fe9d SHA512 65f96e53fc44f69b9e86fc74081a95388f8b06dbd908c6197d1cd481d8f7f86c9ca6ce20bf35c425f0aa65d0ff16517c197ff5ab4d1a97955566dc085ea7a39d WHIRLPOOL 62c72da61579850ccdecb1f157a972f03c161b04ae54f51b6a7808b83872d71a0b660a605e7b8823b96e197991e22bf4679fb45688f403913e0006a581d127d6
+AUX squirrel-2.2.4-stdint.h.patch 2081 SHA256 fc7faf678fee7d4d3ed6895dbe7d95ca955dbd2d6525b0792fb0b66c88aeb948 SHA512 9a1c4b5184b7534c0e0384bd6221e57f9c640ad7b8593139c89fbd12e74755a661f9d19f726251aef8b1b814d0dc5be49ead47c7ca1d73ea4128e602f8c6b159 WHIRLPOOL 48b888c25fafdc469261f9bc5070bed4c9fdf27ac9cec32818dbfe4674363be65655392b6218a29f9c8a20d7f1ee3fa08fa9fd02a6febcd16249f7c290be015f
+AUX squirrel-2.2.4-supertux-const.patch 1285 SHA256 0c33695d6704bd84fcecc2ec89885da2f05698c73f9f2b300131206ae700ef98 SHA512 a57bfd23b4ef024f827edfb7e07e2840e2e90bddafa0e6d52c2ab0a71554aa6cd80db35f974200fd603046053bfda187295be458d887ef016cae8ca1cb4373ff WHIRLPOOL c31895231317334d9f3f1d18f0cd7d524a09328c0795f3017c7c11c0e340dbe6f34ddb2db87ff10449f6b47c8f1c6b3ff5aa1ae992d4c4aca4142b013ce37a97
+DIST squirrel-3.1.tar.gz 175612 SHA256 51942b8638a97b673e34ecf3ca50304996fa99bbdbfa7fe93d9744e6769b2f95 SHA512 8aec059c801a8f6a1ddb9585cebd51457cfd43743cb0b03494e022fd47392e7b4b88e4703f184f4dcba2be8c0fb756e9b260e2f230e1bd92b37cdcb86d4f1141 WHIRLPOOL f1b7b1c96c0d0e8fd7f1c27f05684bacb803a33fd5dbe2bd767b955e2fd747c83a7ef666bc10f1b6ab7fa51fe6df46551dec947e77c862855fee3b7ad7289703
+DIST squirrel_2.2.4_stable.tar.gz 419567 SHA256 936ca05469ab19f16a730685ef4ad1ca5a3838195765d47935a4ba9052d8b2d4 SHA512 91fe260b362d682eb5d21334c0ffa532120550c1c49a40412ac87118bee5f045e79c260f42247bd2c897d33b7a593dd2bc2e5c8e78e219553682f8b6cd79201d WHIRLPOOL 7cc953f1bbfc8e228be9310eff714b682f0e77b5e1ae9bf0a5bb0ec1c9f53b873c9199bb0679b7b13759bbe54e96de674a9b42b90db3ddd2a3caa36bc067ab50
+EBUILD squirrel-2.2.4-r2.ebuild 1037 SHA256 94096efbc945eca42aab95cc335afe6dcc72a20fb43862f62dd7ae3e19f13898 SHA512 c5c04b45afb4453891869d43430f0867066c6c8ebbd2e8d823b6867d1745bd7c19fea0fe466fb805eb052d238f099b67d71af129d292356c6306cab0408b3381 WHIRLPOOL d29475a23a8a5bb560fbf9dad69c4376d8b3ce35ec9db07b117d0a06487a1c2ce55f45e0e2e9a3f5c5d775e7653466ee6ce87a2b49cf0cc5294f2ab7bc95a306
+EBUILD squirrel-3.1.ebuild 901 SHA256 7e9277f509f7a647dc2bf50af1281606c3ea18213c4ebafe668ead370bbb9bd8 SHA512 2e65c05bb5c46cf5aa46b158a9435882bf49bb85cdeb131d30b942d95afbaee96f2173ae3b430c3fa15d44edc2d6caad71ef9c6126be59510e9e1361629dc09c WHIRLPOOL 3c80f6e0066b06a6b3547d9c86d192bd166a494bd72315c66af7f41094c15af4cfc888fa82333311431033f40c14054e7e1e4925750032e6246fa02d57dcd0b1
+MISC ChangeLog 3246 SHA256 5fe46f5575157532e5bd95788c1a50b441945f04c10a04b67468d8f453fd6a56 SHA512 2fd4ec810340aa92c648d664a07f20df079148802fb2d7310c4326ff52eb1d16449eb9265e7687d1aaa08b770717136612f537696531181f51f8e9eb173d1598 WHIRLPOOL 86c1aeb5ef4304696bc0188bb1df25e5187185ae068be202c3ed899ee88b53a94f98ea260573a631b606e9e5852b2940f61f2a21b1c8ef212a2efa13285cb5f0
+MISC ChangeLog-2015 1730 SHA256 d79ebdfecfaa66b6bb4e63939ab6aa2da3657852177d9fa013c8aa046c220783 SHA512 b6d4328ee4ade0c026f97fc3c493da1e4c728820d86eddf10ae247b8d5670314c6cb103d436e8e065acdef26740e76bc81d130a5bdb9aed37cd775e3d08666cc WHIRLPOOL 8fedbd98c4cdaaefe5c29fe09b566409e20790b8d352d7247d49530ac2dd4df86149e3c75134e1f8399cb9d77751b3e363248aa85f258d02111c8b0fea2f8caf
+MISC metadata.xml 395 SHA256 5454d907c0b67aa2f61f32b2ed3b125cd5ca3c8fef1056bad330419c1a94534a SHA512 e7332967d7ada57304e4e9036a61fd27d9fac11dd62a3c4b3627515d4f69cea1b1182132388d480648c469e193fee85bf09220679eb180a9d10c57f78bcb48b4 WHIRLPOOL e5516e27d5e6f68b6289eae49bc150275a3df8458dd3c2f644feeca7914762c777508dabff81b2f99397497b8c40500e36ac6f794b4501df5cf6a12e5d35e4e9
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 000000000000..e39ddedc9eb3
--- /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 000000000000..032a4eb914a6
--- /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 000000000000..911edcc79d34
--- /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 000000000000..e31eca5c1f96
--- /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 000000000000..cc06c944a210
--- /dev/null
+++ b/dev-lang/squirrel/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>slyfox@gentoo.org</email>
+ <name>Sergei Trofimovich</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">squirrel</remote-id>
+ <remote-id type="github">albertodemichelis/squirrel</remote-id>
+ </upstream>
+</pkgmetadata>
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 000000000000..cf2c0636a257
--- /dev/null
+++ b/dev-lang/squirrel/squirrel-2.2.4-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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
+}
diff --git a/dev-lang/squirrel/squirrel-3.1.ebuild b/dev-lang/squirrel/squirrel-3.1.ebuild
new file mode 100644
index 000000000000..0b304c06c11b
--- /dev/null
+++ b/dev-lang/squirrel/squirrel-3.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="A interpreted language mainly used for games"
+HOMEPAGE="http://squirrel-lang.org/"
+SRC_URI="https://github.com/albertodemichelis/squirrel/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples static-libs"
+
+RDEPEND=""
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ -DINSTALL_LIB_DIR="$(get_libdir)" \
+ -DINSTALL_INC_DIR=include
+ $(usex static-libs '' -DDISABLE_STATIC=YES)
+ # /usr/bin/sq is used by app-text/ispell
+ # /usr/lib/libsquirrel.so is used by app-shells/squirrelsh
+ -DLONG_OUTPUT_NAMES=YES
+ )
+
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ dodoc HISTORY
+
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/samples
+ dodoc -r samples
+ fi
+}