summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2010-03-05 18:45:32 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2010-03-05 18:45:32 +0000
commita744c4ef08ed5dcc0ea8dd534b4a4c284cff634f (patch)
tree0b5147f45cd3f5949710dc55f3f6e29e2fc975ca /dev-lang/squirrel
parentUse system libltdl wrt #252403, thanks to Diego E. 'Flameeyes' Pettenò for r... (diff)
downloadgentoo-2-a744c4ef08ed5dcc0ea8dd534b4a4c284cff634f.tar.gz
gentoo-2-a744c4ef08ed5dcc0ea8dd534b4a4c284cff634f.tar.bz2
gentoo-2-a744c4ef08ed5dcc0ea8dd534b4a4c284cff634f.zip
Initial commit for squirrel package. Moved from sunrise. Fixes bug #169051
(Portage version: 2.2_rc63/cvs/Linux x86_64)
Diffstat (limited to 'dev-lang/squirrel')
-rw-r--r--dev-lang/squirrel/ChangeLog14
-rw-r--r--dev-lang/squirrel/files/squirrel-2.2.4-autotools.patch278
-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.xml19
-rw-r--r--dev-lang/squirrel/squirrel-2.2.4.ebuild35
6 files changed, 443 insertions, 0 deletions
diff --git a/dev-lang/squirrel/ChangeLog b/dev-lang/squirrel/ChangeLog
new file mode 100644
index 000000000000..7b7cf0bcf75a
--- /dev/null
+++ b/dev-lang/squirrel/ChangeLog
@@ -0,0 +1,14 @@
+# ChangeLog for dev-lang/squirrel
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/squirrel/ChangeLog,v 1.1 2010/03/05 18:45:30 hwoarang Exp $
+
+*squirrel-2.2.4 (05 Mar 2010)
+
+ 05 Mar 2010; Markos Chandras <hwoarang@gentoo.org> +squirrel-2.2.4.ebuild,
+ +files/squirrel-2.2.4-autotools.patch,
+ +files/squirrel-2.2.4-stdint.h.patch,
+ +files/squirrel-2.2.4-supertux-const.patch, +metadata.xml:
+ Initial commit for squirrel package. Moved from sunrise. Thanks to Nathan
+ Phillip Brink <ohnobinki@ohnopublishing.net> for the ebuild. Fixes bug
+ #169051
+
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..ab17050a0479
--- /dev/null
+++ b/dev-lang/squirrel/files/squirrel-2.2.4-autotools.patch
@@ -0,0 +1,278 @@
+diff -r d6d89bbc08e5 -r 2ef7f06a679f 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 2ef7f06a679f Makefile.am
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/Makefile.am Wed Feb 17 01:30:01 2010 -0500
+@@ -0,0 +1,84 @@
++# autoreconf variables, recommended by libtoolize
++ACLOCAL_FLAGS = -I m4
++
++AM_CPPFLAGS = -Iinclude
++
++# custom installation directories
++examplesdir = $(docdir)/examples
++pkgconfigdir = $(libdir)/pkgconfig
++
++# installed things
++dist_doc_DATA = doc/sqstdlib2.pdf \
++ doc/squirrel2.pdf
++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
++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 2ef7f06a679f configure.ac
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/configure.ac Wed Feb 17 01:30:01 2010 -0500
+@@ -0,0 +1,15 @@
++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_CONFIG_FILES([Makefile
++libsquirrel.pc
++libsqstdlib.pc])
++AC_OUTPUT
+diff -r d6d89bbc08e5 -r 2ef7f06a679f libsqstdlib.pc.in
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/libsqstdlib.pc.in Wed Feb 17 01:30:01 2010 -0500
+@@ -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 2ef7f06a679f libsquirrel.pc.in
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/libsquirrel.pc.in Wed Feb 17 01:30:01 2010 -0500
+@@ -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 2ef7f06a679f 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 2ef7f06a679f 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 2ef7f06a679f 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-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..6c63f01fa8bf
--- /dev/null
+++ b/dev-lang/squirrel/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>no-herd</herd>
+<maintainer>
+<email>hwoarang@gentoo.org</email>
+<name>Markos Chandras</name>
+</maintainer>
+<maintainer>
+<email>ohnobinki@ohnopublishing.net</email>
+<name>Nathan Phillip Brink</name>
+<description>
+Proxy-maintainer. CC him on bugs
+</description>
+</maintainer>
+<longdescription lang="en">
+</longdescription>
+</pkgmetadata>
+
diff --git a/dev-lang/squirrel/squirrel-2.2.4.ebuild b/dev-lang/squirrel/squirrel-2.2.4.ebuild
new file mode 100644
index 000000000000..55f83d9ce3e3
--- /dev/null
+++ b/dev-lang/squirrel/squirrel-2.2.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/squirrel/squirrel-2.2.4.ebuild,v 1.1 2010/03/05 18:45:30 hwoarang Exp $
+
+EAPI="2"
+
+inherit autotools eutils
+
+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"
+
+# /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_install() {
+ emake DESTDIR="${D}" install || die
+ dodoc HISTORY README || die
+}