summaryrefslogtreecommitdiff
path: root/recipes/gnuplot
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gnuplot')
-rw-r--r--recipes/gnuplot/files/gnuplot.desktop8
-rw-r--r--recipes/gnuplot/files/gnuplot.pngbin0 -> 9383 bytes
-rw-r--r--recipes/gnuplot/files/qtopia.trm483
-rw-r--r--recipes/gnuplot/files/subdirs.patch11
-rw-r--r--recipes/gnuplot/files/term.patch20
-rw-r--r--recipes/gnuplot/gnuplot-4.0.0/debian-separate-x11-package.patch59
-rw-r--r--recipes/gnuplot/gnuplot-4.0.0/matrix.patch17
-rw-r--r--recipes/gnuplot/gnuplot-4.0.0/subdirs.patch16
-rw-r--r--recipes/gnuplot/gnuplot-4.0.0/term.patch20
-rw-r--r--recipes/gnuplot/gnuplot.inc35
-rw-r--r--recipes/gnuplot/gnuplot_4.0.0.bb12
-rw-r--r--recipes/gnuplot/gnuplot_4.2.4.bb10
-rw-r--r--recipes/gnuplot/gnuplot_cvs.bb19
-rw-r--r--recipes/gnuplot/qtplot_0.2.bb25
14 files changed, 735 insertions, 0 deletions
diff --git a/recipes/gnuplot/files/gnuplot.desktop b/recipes/gnuplot/files/gnuplot.desktop
new file mode 100644
index 0000000000..f67df9e193
--- /dev/null
+++ b/recipes/gnuplot/files/gnuplot.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Gnuplot
+Comment=Plot data and function graphs
+Exec=x-terminal-emulator -e gnuplot
+Terminal=false
+Type=Application
+Icon=gnuplot
+Categories=Science;
diff --git a/recipes/gnuplot/files/gnuplot.png b/recipes/gnuplot/files/gnuplot.png
new file mode 100644
index 0000000000..054cd9e7c7
--- /dev/null
+++ b/recipes/gnuplot/files/gnuplot.png
Binary files differ
diff --git a/recipes/gnuplot/files/qtopia.trm b/recipes/gnuplot/files/qtopia.trm
new file mode 100644
index 0000000000..b52f9bb975
--- /dev/null
+++ b/recipes/gnuplot/files/qtopia.trm
@@ -0,0 +1,483 @@
+/*
+ * $Id: dumb.trm,v 1.16 2004/04/13 17:24:16 broeker Exp $
+ *
+ */
+
+/* GNUPLOT - qtopia.trm */
+
+/*[
+ * Copyright 1991 - 1993, 1998, 2004 Thomas Williams, Colin Kelley
+ *
+ * Permission to use, copy, and distribute this software and its
+ * documentation for any purpose with or without fee is hereby granted,
+ * provided that the above copyright notice appear in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation.
+ *
+ * Permission to modify the software is granted, but not the right to
+ * distribute the complete modified source code. Modifications are to
+ * be distributed as patches to the released version. Permission to
+ * distribute binaries produced by compiling modified sources is granted,
+ * provided you
+ * 1. distribute the corresponding source modifications from the
+ * released version in the form of a patch file along with the binaries,
+ * 2. add special version identification to distinguish your version
+ * in addition to the base release version number,
+ * 3. provide your name and address as the primary contact for the
+ * support of your modified version, and
+ * 4. retain our contact information in regard to use of the base
+ * software.
+ * Permission to distribute the released version of the source code along
+ * with corresponding source modifications in the form of a patch file is
+ * granted with same provisions 2 through 4 for binary distributions.
+ *
+ * This software is provided "as is" without express or implied warranty
+ * to the extent permitted by applicable law.
+]*/
+
+/*
+ * This file is included by ../term.c.
+ *
+ * This terminal driver supports:
+ * qtopia terminals
+ *
+ * AUTHORS
+ * Michael Neuroth, 2004-05-16
+ * INTERNET: michael.neuroth@freenet.de
+ *
+ * send your comments or suggestions to (gnuplot-info@lists.sourceforge.net).
+ *
+ */
+#include "driver.h"
+
+#define NO_QTOPIA_ENHANCED_SUPPORT
+
+#ifdef TERM_REGISTER
+register_term(qtopia_driver)
+#endif
+
+#ifdef TERM_PROTO
+TERM_PUBLIC void QTOPIA_options __PROTO((void));
+TERM_PUBLIC void QTOPIA_init __PROTO((void));
+TERM_PUBLIC void QTOPIA_graphics __PROTO((void));
+TERM_PUBLIC void QTOPIA_text __PROTO((void));
+TERM_PUBLIC void QTOPIA_reset __PROTO((void));
+TERM_PUBLIC void QTOPIA_linetype __PROTO((int linetype));
+TERM_PUBLIC void QTOPIA_move __PROTO((unsigned int x, unsigned int y));
+TERM_PUBLIC void QTOPIA_point __PROTO((unsigned int x, unsigned int y,
+ int point));
+TERM_PUBLIC void QTOPIA_vector __PROTO((unsigned int x, unsigned int y));
+TERM_PUBLIC void QTOPIA_put_text __PROTO((unsigned int x, unsigned int y,
+ const char *str));
+TERM_PUBLIC void QTOPIA_arrow __PROTO((unsigned int sx, unsigned int sy,
+ unsigned int ex, unsigned int ey,
+ int head));
+
+#define ENHqtopia_put_text NULL
+
+
+#define QTOPIA_XMAX 4096
+#define QTOPIA_YMAX 4096
+
+#ifdef ZAURUS
+#define QTOPIA_VCHAR (QTOPIA_YMAX/25)
+#define QTOPIA_HCHAR (QTOPIA_XMAX/40)
+#define QTOPIA_VTIC (QTOPIA_YMAX/50)
+#define QTOPIA_HTIC (QTOPIA_XMAX/40)
+#else
+#define QTOPIA_VCHAR (QTOPIA_YMAX/25)
+#define QTOPIA_HCHAR (QTOPIA_XMAX/50)
+#define QTOPIA_VTIC (QTOPIA_YMAX/100)
+#define QTOPIA_HTIC (QTOPIA_XMAX/150)
+#endif
+
+#endif /* TERM_PROTO */
+
+#ifdef TERM_BODY
+
+/*#include <winsock2.h>*/
+/* needs: ws2_32.lib */
+#ifndef _MSC_VER
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#endif
+
+#define QTOPIA_MAX_BUFFER 512
+#define QTOPIA_MAX_DELAY_COUNT 20 /* * 100 ms = 2 s */
+
+#ifdef _MSC_VER
+#define QTOPIA_BAD_SOCKET INVALID_SOCKET /* -1 */
+#define QTOPIA_BAD_CONNECT SOCKET_ERROR
+#else
+#define QTOPIA_BAD_SOCKET -1
+#define QTOPIA_BAD_CONNECT -1
+#endif
+#define QTOPIA_PORT_NO 5050
+
+static int qtopia_client_socket = QTOPIA_BAD_SOCKET;
+static unsigned short qtopia_port_no = QTOPIA_PORT_NO;
+static char qtopia_host_name[QTOPIA_MAX_BUFFER+1] = { "localhost" };
+
+static int OpenClient __PROTO(( int test));
+static void CloseClient();
+
+static void MySleep( delay )
+int delay;
+{
+#ifdef _MSC_VER
+ Sleep( delay );
+#else
+ usleep( delay );
+#endif
+}
+
+static void InitSockets()
+{
+#ifdef _MSC_VER
+ WORD wVersionRequested;
+ WSADATA wsaData;
+ int err;
+
+ wVersionRequested = MAKEWORD( 2, 2 );
+
+ err = WSAStartup( wVersionRequested, &wsaData );
+#endif
+}
+
+static void ExitSockets()
+{
+#ifdef _MSC_VER
+ WSACleanup();
+#endif
+}
+
+static int CheckForQtplot( count )
+int count;
+{
+ /* test (via sockets) if qtplot is allready running */
+ if( !OpenClient( 1 ) )
+ {
+ /* give qtplot a litle bit time to start... */
+ if( count < QTOPIA_MAX_DELAY_COUNT )
+ {
+ if( count == 0 )
+ {
+#ifdef _MSC_VER
+ system( "start qtplot" );
+#else
+ system( "qtplot&" );
+#endif
+ }
+
+ MySleep(100);
+
+ return CheckForQtplot( count+1 );
+ }
+ else
+ {
+ return 0;
+ }
+ }
+ else
+ {
+ CloseClient();
+
+ return 1;
+ }
+}
+
+static int OpenClient( test )
+int test;
+{
+ int len;
+ struct sockaddr_in address;
+ int result;
+
+ /* Create a socket for the client. */
+
+ qtopia_client_socket = socket(AF_INET, SOCK_STREAM, 0);
+
+ if( qtopia_client_socket != QTOPIA_BAD_SOCKET )
+ {
+ /* Name the socket, as agreed with the server. */
+
+ address.sin_family = AF_INET;
+ address.sin_addr.s_addr = inet_addr(/*qtopia_host_name*/"127.0.0.1"); /* localhost */
+ address.sin_port = htons(qtopia_port_no);
+ len = sizeof(address);
+
+ /* Now connect our socket to the server's socket. */
+
+ result = connect(qtopia_client_socket, (struct sockaddr *)&address, len);
+
+ if( result == QTOPIA_BAD_SOCKET )
+ {
+ /* mark this socket as bad */
+
+ close( qtopia_client_socket );
+
+ qtopia_client_socket = QTOPIA_BAD_SOCKET;
+
+ if( !test )
+ {
+ fprintf( gpoutfile, "error connecting to server !\n" );
+ }
+ return 0; /* something went wrong */
+ }
+ }
+ else
+ {
+ if( !test )
+ {
+ fprintf( gpoutfile, "error creating socket !\n" );
+ }
+ return 0; /* something went wrong */
+ }
+
+ return 1; /* everything ist ok ! */
+}
+
+static void CloseClient()
+{
+ close( qtopia_client_socket );
+}
+
+static int IsClientOk()
+{
+ return qtopia_client_socket != QTOPIA_BAD_SOCKET;
+}
+
+static void SendDataToSocket( sLine )
+const char * sLine;
+{
+ if( IsClientOk() )
+ {
+ int send_count;
+
+ send_count = send( qtopia_client_socket, sLine, strlen( sLine ), 0 );
+
+ if( send_count <= 0 )
+ {
+ fprintf( gpoutfile, "error writing to socket str=%s!\n", sLine );
+ }
+ /*
+ else
+ {
+ fprintf( gpoutfile, "wrote %d bytes\n", send_count );
+ }
+ */
+ }
+ else
+ {
+ /* for testing... */
+ /*fprintf( gpoutfile, sLine );*/
+ }
+}
+
+/* ************************************************** */
+
+enum QTOPIA_id { QTOPIA_PORT, QTOPIA_HOST, QTOPIA_OTHER };
+
+static struct gen_table QTOPIA_opts[] =
+{
+ { "po$rt", QTOPIA_PORT },
+ { "ho$st", QTOPIA_HOST },
+ { NULL, QTOPIA_OTHER }
+};
+
+TERM_PUBLIC void
+QTOPIA_options()
+{
+ /* this is not for the qtopia terminal ! */
+ /*SendDataToSocket( "qtd options\n" );*/
+
+ int x, y;
+ struct value a;
+
+ while (!END_OF_COMMAND)
+ {
+ switch(lookup_table(&QTOPIA_opts[0],c_token))
+ {
+ case QTOPIA_PORT:
+ c_token++;
+ if (END_OF_COMMAND)
+ int_error(c_token, "expecting port number");
+ qtopia_port_no = (int) real(const_express(&a));
+ break;
+ case QTOPIA_HOST:
+ c_token++;
+ if (END_OF_COMMAND)
+ int_error(c_token, "expecting host name");
+ if (isstring(c_token))
+ quote_str( qtopia_host_name, c_token, sizeof(qtopia_host_name) );
+ else
+ copy_str( qtopia_host_name, c_token, sizeof(qtopia_host_name) );
+ c_token++;
+ break;
+ case QTOPIA_OTHER:
+ default:
+ break;
+ }
+ }
+
+ sprintf(term_options, "host=%s port=%d",qtopia_host_name,qtopia_port_no);
+}
+
+
+TERM_PUBLIC void
+QTOPIA_init()
+{
+ /* initialize lib (if necassary) */
+ InitSockets();
+ CheckForQtplot( 0 );
+ OpenClient( 0 );
+
+ SendDataToSocket( "qtd init\n" );
+}
+
+
+TERM_PUBLIC void
+QTOPIA_graphics()
+{
+ SendDataToSocket( "qtd graphics\n" );
+}
+
+TERM_PUBLIC void
+QTOPIA_text()
+{
+ SendDataToSocket( "qtd text\n" );
+}
+
+
+TERM_PUBLIC void
+QTOPIA_reset()
+{
+ SendDataToSocket( "qtd reset\n" );
+
+ /* give the qtplot a litle bit time to shutdown */
+ MySleep(100);
+
+ CloseClient();
+ ExitSockets();
+}
+
+
+TERM_PUBLIC void
+QTOPIA_linetype(linetype)
+int linetype;
+{
+ char sBuffer[QTOPIA_MAX_BUFFER];
+
+ sprintf( sBuffer, "qtd linetype type=%d\n",linetype );
+
+ SendDataToSocket( sBuffer );
+}
+
+
+TERM_PUBLIC void
+QTOPIA_move(x, y)
+unsigned int x, y;
+{
+ char sBuffer[QTOPIA_MAX_BUFFER];
+
+ sprintf( sBuffer, "qtd move x=%d y=%d\n",x,y );
+
+ SendDataToSocket( sBuffer );
+}
+
+
+TERM_PUBLIC void
+QTOPIA_point(x, y, point)
+unsigned int x, y;
+int point;
+{
+ char sBuffer[QTOPIA_MAX_BUFFER];
+
+ sprintf( sBuffer, "qtd point x=%d y=%d point=%d\n",x,y,point );
+
+ SendDataToSocket( sBuffer );
+}
+
+
+TERM_PUBLIC void
+QTOPIA_vector(_x, _y)
+unsigned int _x, _y;
+{
+ char sBuffer[QTOPIA_MAX_BUFFER];
+
+ sprintf( sBuffer, "qtd vector x=%d y=%d\n",_x,_y );
+
+ SendDataToSocket( sBuffer );
+}
+
+
+TERM_PUBLIC void
+QTOPIA_put_text(x, y, str)
+unsigned int x, y;
+const char *str;
+{
+ char sBuffer[QTOPIA_MAX_BUFFER];
+
+ sprintf( sBuffer, "qtd put_text x=%d y=%d str=%s\n",x,y,str );
+
+ SendDataToSocket( sBuffer );
+}
+
+/* not suported yet ! */
+TERM_PUBLIC void
+QTOPIA_arrow(sx, sy, ex, ey, head)
+ unsigned int sx, sy, ex, ey;
+ int head; /* ignored */
+{
+ char sBuffer[QTOPIA_MAX_BUFFER];
+
+ sprintf( sBuffer, "qtd arrow sx=%d sy=%d ex=%d ey=%d head=%d\n",sx,sy,ex,ey,head );
+
+ SendDataToSocket( sBuffer );
+}
+
+
+#endif /* TERM_BODY */
+
+#ifdef TERM_TABLE
+TERM_TABLE_START(qtopia_driver)
+ "qtopia", "qtopia or Qt",
+ QTOPIA_XMAX, QTOPIA_YMAX, QTOPIA_VCHAR, QTOPIA_HCHAR,
+ QTOPIA_VTIC, QTOPIA_HTIC, QTOPIA_options, QTOPIA_init, QTOPIA_reset,
+ QTOPIA_text, null_scale, QTOPIA_graphics, QTOPIA_move, QTOPIA_vector,
+ QTOPIA_linetype, QTOPIA_put_text, null_text_angle,
+ null_justify_text, QTOPIA_point, /*QTOPIA_arrow*/0, set_font_null,
+ 0, /* pointsize */
+ TERM_CAN_MULTIPLOT,
+ NULL, NULL, NULL, NULL
+#ifdef USE_MOUSE
+ , NULL, NULL, NULL, NULL, NULL
+#endif
+#ifdef PM3D
+ , NULL, NULL, NULL, NULL
+#endif
+TERM_TABLE_END(qtopia_driver)
+
+#undef LAST_TERM
+#define LAST_TERM qtopia_driver
+
+#endif /* TERM_TABLE */
+
+#ifdef TERM_HELP
+START_HELP(qtopia)
+"1 qtopia",
+"?commands set terminal qtopia",
+"?set terminal qtopia",
+"?set term qtopia",
+"?terminal qtopia",
+"?term qtopia",
+"?qtopia",
+" The `qtopia` terminal driver has no additional options.",
+"",
+" Syntax:",
+" set terminal qtopia",
+""
+END_HELP(qtopia)
+#endif /* TERM_HELP */
diff --git a/recipes/gnuplot/files/subdirs.patch b/recipes/gnuplot/files/subdirs.patch
new file mode 100644
index 0000000000..8c7d1f0d35
--- /dev/null
+++ b/recipes/gnuplot/files/subdirs.patch
@@ -0,0 +1,11 @@
+--- /tmp/Makefile.am 2007-08-23 13:10:15.560659023 +0200
++++ gnuplot-4.2.0/Makefile.am 2007-08-23 13:10:34.961764629 +0200
+@@ -1,7 +1,7 @@
+ ## Process this file with automake to produce Makefile.in -*-Makefile-*-
+ AUTOMAKE_OPTIONS = foreign 1.2h
+
+-SUBDIRS = config m4 term src docs $(LISPDIR) man demo tutorial share
++SUBDIRS = config m4 term src $(LISPDIR) man share
+
+ EXTRA_DIST = BUGS CodeStyle Copyright FAQ GNUmakefile INSTALL INSTALL.gnu \
+ Makefile.maint PATCHLEVEL PGPKEYS PORTING README README.1ST README.exp \
diff --git a/recipes/gnuplot/files/term.patch b/recipes/gnuplot/files/term.patch
new file mode 100644
index 0000000000..41aa8e7a97
--- /dev/null
+++ b/recipes/gnuplot/files/term.patch
@@ -0,0 +1,20 @@
+--- gnuplot-4.2.0/src/term.h.old 2007-11-16 01:21:09.000000000 -0600
++++ gnuplot-4.2.0/src/term.h 2007-11-16 01:22:45.000000000 -0600
+@@ -70,6 +70,7 @@
+ */
+ #ifdef SHORT_TERMLIST
+ # include "dumb.trm" /* dumb terminal */
++# include "qtopia.trm" /* QTopia terminal */
+
+ # ifdef GP_ENH_EST
+ # include "estimate.trm" /* used for enhanced text processing */
+@@ -436,6 +437,9 @@
+ /* TeXDraw drawing package for LaTeX */
+ #include "texdraw.trm"
+
++/* Qtopia */
++#include "qtopia.trm"
++
+ /* METAFONT */
+ #include "metafont.trm"
+
diff --git a/recipes/gnuplot/gnuplot-4.0.0/debian-separate-x11-package.patch b/recipes/gnuplot/gnuplot-4.0.0/debian-separate-x11-package.patch
new file mode 100644
index 0000000000..7afa0ee00e
--- /dev/null
+++ b/recipes/gnuplot/gnuplot-4.0.0/debian-separate-x11-package.patch
@@ -0,0 +1,59 @@
+--- gnuplot-4.0.0.orig/src/term.c
++++ gnuplot-4.0.0/src/term.c
+@@ -1278,6 +1278,33 @@
+ return (t);
+ }
+
++#ifdef X11
++int
++x11driver_found()
++{
++ char *binname = "/gnuplot_x11";
++ char *fullname;
++ struct stat buf;
++
++ fullname = (char*)malloc(sizeof(X11_DRIVER_DIR) + sizeof(binname) + 1);
++ strcat(fullname, X11_DRIVER_DIR);
++ strcat(fullname, binname);
++
++ /* exists? */
++ if (stat(fullname, &buf)) {
++ free(fullname);
++ return 0;
++ }
++
++ free(fullname);
++ /* executable? */
++ if (buf.st_mode && S_IXOTH)
++ return 1;
++
++ return 0;
++}
++#endif
++
+ /*
+ * Routine to detect what terminal is being used (or do anything else
+ * that would be nice). One anticipated (or allowed for) side effect
+@@ -1356,12 +1383,18 @@
+ env_term = getenv("TERM"); /* try $TERM */
+ if (term_name == (char *) NULL
+ && env_term != (char *) NULL && strcmp(env_term, "xterm") == 0)
+- term_name = "x11";
++ term_name = "x11";
+ display = getenv("DISPLAY");
+ if (term_name == (char *) NULL && display != (char *) NULL)
+- term_name = "x11";
++ term_name = "x11";
+ if (X11_Display)
+- term_name = "x11";
++ term_name = "x11";
++ /* if x11 was selected check for driver */
++ if (term_name && (strcmp(term_name, "x11") == 0) && !x11driver_found() && isatty(fileno(stdin))) {
++ printf("*** X11 output driver not found, switching to dumb terminal!\n");
++ printf("*** If you want to use the X11 output, please install the ""gnuplot-x11"" package\n");
++ term_name = "dumb";
++ };
+ #endif /* x11 */
+
+ #ifdef AMIGA
+
diff --git a/recipes/gnuplot/gnuplot-4.0.0/matrix.patch b/recipes/gnuplot/gnuplot-4.0.0/matrix.patch
new file mode 100644
index 0000000000..10f56d9f6a
--- /dev/null
+++ b/recipes/gnuplot/gnuplot-4.0.0/matrix.patch
@@ -0,0 +1,17 @@
+--- gnuplot-4.0.0/src/matrix.c.old 2004-04-13 18:23:58.000000000 +0100
++++ gnuplot-4.0.0/src/matrix.c 2005-03-01 12:38:07.068232748 +0000
+@@ -290,9 +290,12 @@
+ *d = 1.0;
+ for (ar = a, lim = &(a[n]); ar < lim; ar++) {
+ large = 0.0;
+- for (ac = *ar, limc = &(ac[n]); ac < limc;)
+- if ((temp = fabs(*ac++)) > large)
++ for (ac = *ar, limc = &(ac[n]); ac < limc;){
++ temp = *ac++;
++ temp = fabs(temp);
++ if (temp > large)
+ large = temp;
++ }
+ if (large == 0.0)
+ int_error(NO_CARET, "Singular matrix in LU-DECOMP");
+ *dp++ = 1 / large;
diff --git a/recipes/gnuplot/gnuplot-4.0.0/subdirs.patch b/recipes/gnuplot/gnuplot-4.0.0/subdirs.patch
new file mode 100644
index 0000000000..69c7753973
--- /dev/null
+++ b/recipes/gnuplot/gnuplot-4.0.0/subdirs.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- gnuplot-4.0.0/Makefile.am~nodocs
++++ gnuplot-4.0.0/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Process this file with automake to produce Makefile.in -*-Makefile-*-
+ AUTOMAKE_OPTIONS = foreign 1.2h
+
+-SUBDIRS = config m4 term src docs lisp man demo tutorial
++SUBDIRS = config m4 term src man tutorial
+
+ EXTRA_DIST = BUGS CodeStyle Copyright FAQ GNUmakefile INSTALL INSTALL.gnu \
+ Makefile.maint PATCHLEVEL PGPKEYS PORTING README README.1ST README.exp \
diff --git a/recipes/gnuplot/gnuplot-4.0.0/term.patch b/recipes/gnuplot/gnuplot-4.0.0/term.patch
new file mode 100644
index 0000000000..2979b5ec9e
--- /dev/null
+++ b/recipes/gnuplot/gnuplot-4.0.0/term.patch
@@ -0,0 +1,20 @@
+--- gnuplot-4.0.0/src/term.h.old 2005-03-01 15:17:46.424111687 +0000
++++ gnuplot-4.0.0/src/term.h 2005-03-01 15:18:50.961405665 +0000
+@@ -54,6 +54,7 @@
+ */
+ #ifdef SHORT_TERMLIST
+ # include "dumb.trm" /* dumb terminal */
++# include "qtopia.trm" /* QTopia terminal */
+ # include "post.trm" /* postscript */
+ # include "table.trm" /* built-in, but used for the documentation */
+ # if !(defined(OS2) || defined(MSDOS) || defined(_Windows) || defined(ATARI) || defined(MTOS) || defined(AMIGA))
+@@ -432,6 +433,9 @@
+ /* TeXDraw drawing package for LaTeX */
+ #include "texdraw.trm"
+
++/* Qtopia */
++#include "qtopia.trm"
++
+ /* METAFONT */
+ #include "metafont.trm"
+
diff --git a/recipes/gnuplot/gnuplot.inc b/recipes/gnuplot/gnuplot.inc
new file mode 100644
index 0000000000..30affad357
--- /dev/null
+++ b/recipes/gnuplot/gnuplot.inc
@@ -0,0 +1,35 @@
+DESCRIPTION = "Gnuplot is a portable command-line driven interactive datafile \
+(text or binary) and function plotting utility."
+HOMEPAGE = "http://www.gnuplot.info/"
+SECTION = "console/scientific"
+LICENSE = "BSD-4"
+PRIORITY = "optional"
+DEPENDS = "virtual/libx11 gd cairo readline"
+
+inherit autotools
+
+acpaths = ""
+
+EXTRA_OECONF = "--with-readline=${STAGING_LIBDIR}/.. \
+ --without-lisp-files \
+ --without-tutorial \
+ --disable-wxwidgets"
+
+do_compile_prepend() {
+ install -m 0644 ${WORKDIR}/qtplot-0.2/qtopia.trm ${S}/term/
+}
+
+do_install_append() {
+ install -d ${D}${datadir}/applications/
+ install -m 0644 ${WORKDIR}/gnuplot.desktop ${D}${datadir}/applications/
+ install -d ${D}${datadir}/pixmaps/
+ install -m 0644 ${WORKDIR}/gnuplot.png ${D}${datadir}/pixmaps/
+}
+
+PACKAGES =+ "${PN}-x11-dbg ${PN}-x11"
+DESCRIPTION_${PN}-x11 = "X11 display terminal for Gnuplot."
+SECTION_${PN}-x11 = "x11/scientific"
+FILES_${PN}-x11 = "${libexecdir} ${datadir}/applications ${datadir}/pixmaps ${libdir}/X11 "
+
+FILES_${PN} += "${datadir}/texmf"
+FILES_${PN}-x11-dbg += "${libexecdir}/gnuplot/*/.debug"
diff --git a/recipes/gnuplot/gnuplot_4.0.0.bb b/recipes/gnuplot/gnuplot_4.0.0.bb
new file mode 100644
index 0000000000..abf519ae6e
--- /dev/null
+++ b/recipes/gnuplot/gnuplot_4.0.0.bb
@@ -0,0 +1,12 @@
+require gnuplot.inc
+
+PR = "r5"
+
+SRC_URI = "ftp://ftp.gnuplot.info/pub/gnuplot/gnuplot-${PV}.tar.gz \
+ file://subdirs.patch;patch=1 \
+ file://debian-separate-x11-package.patch;patch=1 \
+ http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz \
+ file://matrix.patch;patch=1 \
+ file://term.patch;patch=1 \
+ file://gnuplot.desktop \
+ file://gnuplot.png"
diff --git a/recipes/gnuplot/gnuplot_4.2.4.bb b/recipes/gnuplot/gnuplot_4.2.4.bb
new file mode 100644
index 0000000000..1df0c9fa21
--- /dev/null
+++ b/recipes/gnuplot/gnuplot_4.2.4.bb
@@ -0,0 +1,10 @@
+require gnuplot.inc
+
+PR = "r1"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/gnuplot/${PN}-${PV}.tar.gz \
+ http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz \
+ file://subdirs.patch;patch=1 \
+ file://term.patch;patch=1 \
+ file://gnuplot.desktop \
+ file://gnuplot.png"
diff --git a/recipes/gnuplot/gnuplot_cvs.bb b/recipes/gnuplot/gnuplot_cvs.bb
new file mode 100644
index 0000000000..ff3e9b3810
--- /dev/null
+++ b/recipes/gnuplot/gnuplot_cvs.bb
@@ -0,0 +1,19 @@
+require gnuplot.inc
+
+PV = "4.3.0+cvs${SRCDATE}"
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "cvs://anonymous@gnuplot.cvs.sourceforge.net/cvsroot/${PN};module=${PN} \
+ http://www.mneuroth.de/privat/zaurus/qtplot-0.2.tar.gz \
+ file://subdirs.patch;patch=1 \
+ file://term.patch;patch=1 \
+ file://gnuplot.desktop \
+ file://gnuplot.png"
+
+S = "${WORKDIR}/${PN}"
+
+do_configure_prepend() {
+ ./prepare
+}
diff --git a/recipes/gnuplot/qtplot_0.2.bb b/recipes/gnuplot/qtplot_0.2.bb
new file mode 100644
index 0000000000..cc57260f49
--- /dev/null
+++ b/recipes/gnuplot/qtplot_0.2.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "QT Gnuplot is a front end for Gnuplot. Install Opie-Embedded \
+console to enable the Launch Gnuplot menu option."
+HOMEPAGE = "http://www.mneuroth.de/privat/zaurus/gnuplot.html"
+SECTION = "opie/applications"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "gnuplot"
+RDEPDENDS_${PN} = "gnuplot"
+
+PR = "r1"
+
+SRC_URI = "http://www.mneuroth.de/privat/zaurus/qtplot-${PV}.tar.gz"
+
+APPTYPE = "binary"
+APPDESKTOP = "${S}"
+
+inherit opie
+
+do_install_prepend() {
+ install -d ${D}${palmtopdir}/pics
+ install -d ${D}${palmtopdir}/help/html
+
+ install -m 644 Qtplot.png ${D}${palmtopdir}/pics/
+ install -m 644 qtplot.html ${D}${palmtopdir}/help/html/
+}