diff options
author | Koen Kooi <koen@openembedded.org> | 2005-06-30 08:19:37 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-06-30 08:19:37 +0000 |
commit | c8e5702127e507e82e6f68a4b8c546803accea9d (patch) | |
tree | 00583491f40ecc640f2b28452af995e3a63a09d7 /packages/gnuplot | |
parent | 87ec8ca4d2e2eb4d1c1e1e1a6b46a395d56805b9 (diff) |
import clean BK tree at cset 1.3670
Diffstat (limited to 'packages/gnuplot')
-rw-r--r-- | packages/gnuplot/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/gnuplot/files/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/gnuplot/files/debian-separate-x11-package.patch | 59 | ||||
-rw-r--r-- | packages/gnuplot/files/gnuplot.desktop | 8 | ||||
-rw-r--r-- | packages/gnuplot/files/matrix.patch | 17 | ||||
-rw-r--r-- | packages/gnuplot/files/qtopia.trm | 483 | ||||
-rw-r--r-- | packages/gnuplot/files/subdirs.patch | 16 | ||||
-rw-r--r-- | packages/gnuplot/files/term.patch | 20 | ||||
-rw-r--r-- | packages/gnuplot/qtplot_0.2.bb | 26 |
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/ +} |