aboutsummaryrefslogtreecommitdiffstats
path: root/packages/gnuplot
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gnuplot')
-rw-r--r--packages/gnuplot/.mtn2git_empty0
-rw-r--r--packages/gnuplot/files/.mtn2git_empty0
-rw-r--r--packages/gnuplot/files/debian-separate-x11-package.patch59
-rw-r--r--packages/gnuplot/files/gnuplot.desktop8
-rw-r--r--packages/gnuplot/files/matrix.patch17
-rw-r--r--packages/gnuplot/files/qtopia.trm483
-rw-r--r--packages/gnuplot/files/subdirs.patch16
-rw-r--r--packages/gnuplot/files/term.patch20
-rw-r--r--packages/gnuplot/qtplot_0.2.bb26
9 files changed, 629 insertions, 0 deletions
diff --git a/packages/gnuplot/.mtn2git_empty b/packages/gnuplot/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gnuplot/.mtn2git_empty
diff --git a/packages/gnuplot/files/.mtn2git_empty b/packages/gnuplot/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/gnuplot/files/.mtn2git_empty
diff --git a/packages/gnuplot/files/debian-separate-x11-package.patch b/packages/gnuplot/files/debian-separate-x11-package.patch
index e69de29bb2..7afa0ee00e 100644
--- a/packages/gnuplot/files/debian-separate-x11-package.patch
+++ b/packages/gnuplot/files/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/packages/gnuplot/files/gnuplot.desktop b/packages/gnuplot/files/gnuplot.desktop
index e69de29bb2..f108e3f46f 100644
--- a/packages/gnuplot/files/gnuplot.desktop
+++ b/packages/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=0
+Type=Application
+Icon=gnuplot.png
+Categories=Scientific
diff --git a/packages/gnuplot/files/matrix.patch b/packages/gnuplot/files/matrix.patch
index e69de29bb2..10f56d9f6a 100644
--- a/packages/gnuplot/files/matrix.patch
+++ b/packages/gnuplot/files/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/packages/gnuplot/files/qtopia.trm b/packages/gnuplot/files/qtopia.trm
index e69de29bb2..b52f9bb975 100644
--- a/packages/gnuplot/files/qtopia.trm
+++ b/packages/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/packages/gnuplot/files/subdirs.patch b/packages/gnuplot/files/subdirs.patch
index e69de29bb2..69c7753973 100644
--- a/packages/gnuplot/files/subdirs.patch
+++ b/packages/gnuplot/files/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/packages/gnuplot/files/term.patch b/packages/gnuplot/files/term.patch
index e69de29bb2..2979b5ec9e 100644
--- a/packages/gnuplot/files/term.patch
+++ b/packages/gnuplot/files/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/packages/gnuplot/qtplot_0.2.bb b/packages/gnuplot/qtplot_0.2.bb
index e69de29bb2..0f7ddf1937 100644
--- a/packages/gnuplot/qtplot_0.2.bb
+++ b/packages/gnuplot/qtplot_0.2.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "QT Gnuplot is a front end for Gnuplot. Install Opie-Embedded \
+console to enable the Launch Gnuplot menu option."
+SECTION = "opie/applications"
+PRIORITY = "optional"
+MAINTAINER = "Philip Frampton"
+LICENSE = "GPL"
+PRIORITY = "optional"
+
+DEPENDS = "gnuplot"
+RDEPDENDS = "gnuplot"
+
+HOMEPAGE = "http://www.mneuroth.de/privat/zaurus/gnuplot.html"
+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/
+}