--- /dev/null
+# ChangeLog for app-sci/geomview
+# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/geomview/ChangeLog,v 1.1 2004/12/28 05:28:11 ribosome Exp $
+
+*geomview-1.8.1-r3 (28 Dec 2004)
+
+ 28 Dec 2004; Olivier Fisette <ribosome@gentoo.org> +metadata.xml,
+ +files/geomview-1.8.1-configure.diff,
+ +files/geomview-1.8.1-stdiostream.diff, +geomview-1.8.1-r3.ebuild:
+ Moved from app-sci/geomview to sci-mathematics/geomview.
+
+ 25 Jun 2004; George Shapovalov <george@gentoo.org> geomview-1.8.1-r3.ebuild:
+ removed RDEPEND=DEPEND line (deprecated for a while now)
+
+ 20 Apr 2004; Patrick Kursawe <phosphan@gentoo.org> geomview-1.8.1-r3.ebuild:
+ Some people seem to have problems with GL headers, adding -DGL_GLEXT_LEGACY to
+ CFLAGS. See bug #44896.
+
+ 19 Apr 2004; Patrick Kursawe <phosphan@gentoo.org> geomview-1.8.1-r3.ebuild:
+ moved to epatch
+
+ 19 Apr 2004; Patrick Kursawe <phosphan@gentoo.org> geomview-1.8.1-r3.ebuild:
+ Removed S, added IUSE
+
+*geomview-1.8.1-r3 (04 Mar 2004)
+
+ 04 Mar 2004; <nerdboy@gentoo.org> geomview-1.8.1-r3.ebuild, metadata.xml:
+ new user-contributed ebuild (a group effort even) by David Hyunjin Lim,
+ with contributions from Cliff Yapp (I added the keywords and cleaned up
+ the syntax a bit)
+
--- /dev/null
+*** src/lib/oogl/util/glibglue.C 2001-02-23 05:40:30.000000000 +0100
+--- ../geomview-GCC_3.2/src/lib/oogl/util/glibglue.C 2002-10-30 10:23:54.000000000 +0100
+***************
+*** 1,6 ****
+! #include <streambuf.h>
+! #include <strstream.h>
+! #include <stdiostream.h>
+! #include <iostream.h>
+
+ // This C++ glue allows futil.c to use the GNU libc (Linux)
+--- 1,4 ----
+! #include <streambuf>
+! #include <sstream>
+
+ // This C++ glue allows futil.c to use the GNU libc (Linux)
+***************
+*** 9,20 ****
+
+ struct stdio_mark {
+! istdiostream* instream;
+! streammarker *m;
+ };
+
+! strstreambuf *
+ CC_fmemopen(char *mem, int len)
+ {
+! return new strstreambuf(mem, len);
+ }
+
+--- 7,23 ----
+
+ struct stdio_mark {
+! FILE* instream;
+! long m;
+ };
+
+! std::stringbuf *
+ CC_fmemopen(char *mem, int len)
+ {
+! std::stringbuf *b;
+! b = new std::stringbuf;
+! //b->str(mem);
+! b->pubsetbuf(mem, len);
+! return b;
+! //return new std::streambuf(mem, len);
+ }
+
+***************
+*** 22,29 ****
+ CC_stdio_setmark(stdio_mark *sm, FILE* f)
+ {
+! if(sm) delete sm->m;
+! else sm = new stdio_mark;
+! sm->instream = new istdiostream(f);
+! sm->m = new streammarker(sm->instream->rdbuf());
+ return sm;
+ }
+--- 25,31 ----
+ CC_stdio_setmark(stdio_mark *sm, FILE* f)
+ {
+! if(!sm) sm = new stdio_mark;
+! sm->instream = f;
+! sm->m = ftell(f);
+ return sm;
+ }
+***************
+*** 32,36 ****
+ CC_stdio_seekmark(struct stdio_mark *sm)
+ {
+! return sm->instream->rdbuf()->seekmark(*sm->m);
+ }
+
+--- 34,38 ----
+ CC_stdio_seekmark(struct stdio_mark *sm)
+ {
+! return fseek(sm->instream, sm->m, SEEK_SET);
+ }
+
+***************
+*** 38,44 ****
+ CC_stdio_freemark(stdio_mark *sm)
+ {
+- delete sm->m;
+- delete sm->instream;
+ delete sm;
+ }
+
+--- 40,45 ----
+ CC_stdio_freemark(stdio_mark *sm)
+ {
+ delete sm;
+ }
+
++
+*** src/lib/oogl/util/futil.c 2001-02-23 05:41:31.000000000 +0100
+--- ../geomview-GCC_3.2/src/lib/oogl/util/futil.c 2002-10-30 10:21:38.000000000 +0100
+***************
+*** 841,847 ****
+ # endif
+ #endif
+! extern struct stdio_mark *CC_stdio_setmark__FP10stdio_markP8_IO_FILE(struct stdio_mark *m, FILE *f);
+! extern int CC_stdio_seekmark__FP10stdio_mark(struct stdio_mark *mark);
+! extern void CC_stdio_freemark__FP10stdio_mark(struct stdio_mark *mark);
+
+ #if !USE_FSTROPEN_1
+--- 841,853 ----
+ # endif
+ #endif
+!
+! /* This a very nasty trick to link C++ functions from C code.
+! * The names of the functions bellow are obtained by compiling the
+! * glibglue.C file with "g++ -c" and then using "objdump -t glibglue.o"
+! * to spy the names asigned to the functions
+! */
+! extern struct stdio_mark *_Z16CC_stdio_setmarkP10stdio_markP8_IO_FILE(struct stdio_mark *m, FILE *f);
+! extern int _Z17CC_stdio_seekmarkP10stdio_mark(struct stdio_mark *mark);
+! extern void _Z17CC_stdio_freemarkP10stdio_mark(struct stdio_mark *mark);
+
+ #if !USE_FSTROPEN_1
+***************
+*** 857,867 ****
+
+ struct stdio_mark *stdio_setmark(struct stdio_mark *m, FILE *f)
+! { return CC_stdio_setmark__FP10stdio_markP8_IO_FILE(m, f); }
+
+ int stdio_seekmark(struct stdio_mark *mark)
+! { return CC_stdio_seekmark__FP10stdio_mark(mark) != EOF; }
+
+ void stdio_freemark(struct stdio_mark *mark)
+! { CC_stdio_freemark__FP10stdio_mark(mark); }
+
+
+--- 863,873 ----
+
+ struct stdio_mark *stdio_setmark(struct stdio_mark *m, FILE *f)
+! { return _Z16CC_stdio_setmarkP10stdio_markP8_IO_FILE(m, f); }
+
+ int stdio_seekmark(struct stdio_mark *mark)
+! { return _Z17CC_stdio_seekmarkP10stdio_mark(mark) != EOF; }
+
+ void stdio_freemark(struct stdio_mark *mark)
+! { _Z17CC_stdio_freemarkP10stdio_mark(mark); }
--- /dev/null
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-mathematics/geomview/geomview-1.8.1-r3.ebuild,v 1.1 2004/12/28 05:28:11 ribosome Exp $
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="Interactive Geometry Viewer"
+SRC_URI="http://ftp1.sourceforge.net/geomview/geomview-1.8.1.tar.gz"
+HOMEPAGE="http://geomview.sourceforge.net"
+
+KEYWORDS="~x86 ~sparc ~ppc"
+LICENSE="LGPL-2.1"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-lang/tk
+ x11-libs/xforms
+ x11-libs/lesstif
+ virtual/opengl"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${P}-stdiostream.diff
+ epatch ${FILESDIR}/${P}-configure.diff
+}
+
+src_compile() {
+ append-flags "-DGL_GLEXT_LEGACY"
+ econf || die "could not configure"
+ make || die "make failed"
+}
+
+src_install() {
+ make DESTDIR=${D} install
+}