summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-perl/DBD-SQLite/ChangeLog7
-rw-r--r--dev-perl/DBD-SQLite/DBD-SQLite-1.06.ebuild20
-rw-r--r--dev-perl/DBD-SQLite/files/sparc-DBD-SQLite-1.06.patch49
3 files changed, 71 insertions, 5 deletions
diff --git a/dev-perl/DBD-SQLite/ChangeLog b/dev-perl/DBD-SQLite/ChangeLog
index d33dc7a2f706..9865cd79e009 100644
--- a/dev-perl/DBD-SQLite/ChangeLog
+++ b/dev-perl/DBD-SQLite/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-perl/DBD-SQLite
# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-perl/DBD-SQLite/ChangeLog,v 1.6 2004/09/22 14:45:39 mcummings Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-perl/DBD-SQLite/ChangeLog,v 1.7 2004/10/05 21:26:52 mcummings Exp $
+
+ 05 Oct 2004; Michael Cummings <mcummings@gentoo.org>
+ +files/sparc-DBD-SQLite-1.06.patch, DBD-SQLite-1.06.ebuild:
+ Fixes for sparc for a clean test/compile. Read notes in ebuild - better
+ solutions welcome, but these work.
*DBD-SQLite-1.06 (22 Sep 2004)
diff --git a/dev-perl/DBD-SQLite/DBD-SQLite-1.06.ebuild b/dev-perl/DBD-SQLite/DBD-SQLite-1.06.ebuild
index 40f7f1238eab..f10cc377d361 100644
--- a/dev-perl/DBD-SQLite/DBD-SQLite-1.06.ebuild
+++ b/dev-perl/DBD-SQLite/DBD-SQLite-1.06.ebuild
@@ -1,12 +1,12 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-perl/DBD-SQLite/DBD-SQLite-1.06.ebuild,v 1.1 2004/09/22 14:45:39 mcummings Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-perl/DBD-SQLite/DBD-SQLite-1.06.ebuild,v 1.2 2004/10/05 21:26:52 mcummings Exp $
-inherit perl-module
+inherit perl-module eutils
DESCRIPTION="Self Contained RDBMS in a DBI Driver"
HOMEPAGE="http://search.cpan.org/~msergeant/${P}/"
-SRC_URI="http://search.cpan.org/CPAN/authors/id/M/MS/MSERGEANT/${P}.tar.gz"
+SRC_URI="mirror://cpan/authors/id/M/MS/MSERGEANT/${P}.tar.gz"
LICENSE="Artistic | GPL-2"
SLOT="0"
@@ -14,5 +14,17 @@ KEYWORDS="~x86 ~sparc ~ppc"
IUSE=""
SRC_TEST="do"
-DEPEND="dev-perl/DBI
+DEPEND=">=dev-perl/DBI-1.42
!<dev-perl/DBD-SQLite-1*"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ # This horrible patch was gleamed from:
+ # http://www.sqlite.org/cvstrac/chngview?cn=2002
+ # http://www.sqlite.org/cvstrac/tktview?tn=700
+ # Any eager C coders out there are welcome to submit a "real" fix
+ # 2004/Oct/05 mcummings
+ use sparc && epatch ${FILESDIR}/sparc-DBD-SQLite-1.06.patch
+ perl-module_src_prep
+}
diff --git a/dev-perl/DBD-SQLite/files/sparc-DBD-SQLite-1.06.patch b/dev-perl/DBD-SQLite/files/sparc-DBD-SQLite-1.06.patch
new file mode 100644
index 000000000000..3d4d2409c0cc
--- /dev/null
+++ b/dev-perl/DBD-SQLite/files/sparc-DBD-SQLite-1.06.patch
@@ -0,0 +1,49 @@
+diff -Naurp vdbeInt.h.old vdbeInt.h
+--- vdbeInt.h.old 2004-10-05 16:52:42.000000000 -0400
++++ vdbeInt.h 2004-10-05 16:52:54.000000000 -0400
+@@ -100,7 +100,7 @@ typedef struct Cursor Cursor;
+ ** layer without having to malloc. NBFS is short for Number of Bytes
+ ** For Strings.
+ */
+-#define NBFS 32
++#define NBFS 15
+
+ /*
+ ** Internally, the vdbe manipulates nearly all SQL values as Mem
+--- vdbeaux.c.old 2004-10-05 16:32:03.000000000 -0400
++++ vdbeaux.c 2004-10-05 16:17:40.000000000 -0400
+@@ -574,21 +574,22 @@ void sqlite3VdbeMakeReady(
+ assert( nVar>=0 );
+ n = isExplain ? 10 : p->nOp;
+ p->aStack = sqliteMalloc(
+- n*(sizeof(p->aStack[0])+sizeof(Mem*)) /* aStack, apArg */
+- + nVar*sizeof(Mem) /* aVar */
+- + nVar*sizeof(char*) /* azVar */
+- + nMem*sizeof(Mem) /* aMem */
+- + nCursor*sizeof(Cursor*) /* apCsr */
++ n*sizeof(p->aStack[0]) /* aStack */
++ + n*sizeof(Mem*) /* apArg */
++ + nVar*sizeof(Mem) /* aVar */
++ + nVar*sizeof(char*) /* azVar */
++ + nMem*sizeof(Mem) /* aMem */
++ + nCursor*sizeof(Cursor*) /* apCsr */
+ );
+ if( !sqlite3_malloc_failed ){
+- p->apArg = (Mem **)&p->aStack[n];
+- p->aVar = (Mem *)&p->apArg[n];
+- p->azVar = (char**)&p->aVar[nVar];
+- p->okVar = 0;
+- p->nVar = nVar;
+- p->aMem = (Mem*)&p->azVar[nVar];
++ p->aMem = &p->aStack[n];
+ p->nMem = nMem;
+- p->apCsr = (Cursor**)&p->aMem[nMem];
++ p->aVar = &p->aMem[nMem];
++ p->nVar = nVar;
++ p->okVar = 0;
++ p->apArg = (Mem**)&p->aVar[nVar];
++ p->azVar = (char**)&p->apArg[n];
++ p->apCsr = (Cursor**)&p->azVar[nVar];
+ p->nCursor = nCursor;
+ for(n=0; n<nVar; n++){
+ p->aVar[n].flags = MEM_Null;