# HG changeset patch # User Nathan Phillip Brink # Date 2010-02-18 09:25:31 # Node ID 8d632c4f4e82ff5bf8ae22a3eb337c02feffc110 # Parent 92edeea365ef2dadb330e5be91f812a635232f8c Grab yet-to-be-reviewed squirrel from Gentoo's Sunrise. (Portage version: 2.2_rc62-r4/hg/Linux x86_64) (Unsigned Manifest commit) diff --git a/dev-lang/squirrel/ChangeLog b/dev-lang/squirrel/ChangeLog --- a/dev-lang/squirrel/ChangeLog +++ b/dev-lang/squirrel/ChangeLog @@ -1,7 +1,16 @@ # ChangeLog for dev-lang/squirrel -# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 17 Feb 2010; Nathan Phillip Brink (ohnobinki) + +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, -C: + Bump to squirrel-2.2.4. Patch in an autotools buildsystem to satisfy + ssuominen. Add patch from SuperTux team. Thanks to tommy[d], dilfridge, et + al. + 09 Mar 2007; Patrick Zimmermann (moHiJ) squirrel-2.1.1.ebuild: Make sq executable diff --git a/dev-lang/squirrel/Manifest b/dev-lang/squirrel/Manifest --- a/dev-lang/squirrel/Manifest +++ b/dev-lang/squirrel/Manifest @@ -1,4 +1,7 @@ +AUX squirrel-2.2.4-autotools.patch 6858 RMD160 49870b93ba65523058e71192877815af843c59ea SHA1 64a921e2c6fe49a930a19124623455b2d8b9a5c4 SHA256 16c80fae4b35b6d52528c17ff96d1a8450f01868c7b48ca79c8efbbd43c9a3dc +AUX squirrel-2.2.4-stdint.h.patch 2081 RMD160 95be6e1293eb80b672682e32ce37e7d24cf46be4 SHA1 4dbd8d28aec53c53190ecfb5db4e9831dfeb8e67 SHA256 fc7faf678fee7d4d3ed6895dbe7d95ca955dbd2d6525b0792fb0b66c88aeb948 +AUX squirrel-2.2.4-supertux-const.patch 1285 RMD160 c27f6a9e583ab2611108488aeedbfdc175ad5aa3 SHA1 fbf455f2351c0fd032ff97699af009e46ffbc53a SHA256 0c33695d6704bd84fcecc2ec89885da2f05698c73f9f2b300131206ae700ef98 DIST squirrel_2.2.4_stable.tar.gz 419567 RMD160 61c56903041f2e0395c2caf6890b983860415295 SHA1 ab439332916cf6028504c790b28e01089d35d843 SHA256 936ca05469ab19f16a730685ef4ad1ca5a3838195765d47935a4ba9052d8b2d4 -EBUILD squirrel-2.2.4.ebuild 839 RMD160 03e89f9f9c540e4eea6f65e336a53f3527b8f79e SHA1 d5979bb0bb41f285e5489d4a31553194aa2ce31b SHA256 190e9f1ce043a1285ff6bd94922ae876b0a5cc074cdb03f86d6f4c298a549a66 -MISC ChangeLog 482 RMD160 005dc74984f85a95fa873a9604793a78a45e8853 SHA1 9204546081f4bd897db3744f61649e67b566d42b SHA256 c880c2b3f86220516ae3a665f303756b0d874a20eac3ef73515b6ed163517cc6 +EBUILD squirrel-2.2.4.ebuild 759 RMD160 8e62c70220c53cfa51d3065ba1513eb7d8b2d874 SHA1 f57d867d75e26f75b829831655b417b6b552ef3e SHA256 067fa133e3de695c27d8a54b1dba8ea2c1030e1550adfbb3c64a1eef6e5f0a3b +MISC ChangeLog 873 RMD160 09e2bdb3206853a927a7230c86fae08c7d6e4411 SHA1 f1525578920bc455df8b59dd2533faeaacff5cb9 SHA256 b0e52ffcb642b00cd13fc518963cfff3270a14f637a145526cf1cefd64b16f40 MISC metadata.xml 170 RMD160 645927a396fdc21cdeb089fe42c5397332420ea6 SHA1 ac7f48a14fec325926f9ce1be8fbf1f311b4f2e4 SHA256 d797a2ec6f9dc516c9f9c1a758ee87ad3e8c43101b5dc76c2f872d5bd4639b42 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 --- /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 --- /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 + +-#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 + ++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 --- /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/squirrel-2.2.4.ebuild b/dev-lang/squirrel/squirrel-2.2.4.ebuild --- a/dev-lang/squirrel/squirrel-2.2.4.ebuild +++ b/dev-lang/squirrel/squirrel-2.2.4.ebuild @@ -1,9 +1,12 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ +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" @@ -18,27 +21,15 @@ RDEPEND="!app-text/ispell" S="${WORKDIR}/SQUIRREL${PV:0:1}" -src_compile() { - if use amd64 ; then - emake sq64 || die - else - emake || die - fi +src_prepare() { + epatch "${FILESDIR}"/${P}-autotools.patch + epatch "${FILESDIR}"/${P}-supertux-const.patch + epatch "${FILESDIR}"/${P}-stdint.h.patch + + eautoreconf } src_install() { - dobin bin/sq || die - dolib.a lib/*.a || die - insinto /usr - doins -r include || die + emake DESTDIR="${D}" install || die dodoc HISTORY README || die - - if use doc ; then - dodoc doc/*.pdf || die - fi - - if use examples ; then - insinto /usr/share/doc/${PF}/samples - doins -r etc samples/* || die - fi }