diff options
author | 2015-08-08 13:49:04 -0700 | |
---|---|---|
committer | 2015-08-08 17:38:18 -0700 | |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /x11-plugins/wmpop3lb | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'x11-plugins/wmpop3lb')
-rw-r--r-- | x11-plugins/wmpop3lb/Manifest | 1 | ||||
-rw-r--r-- | x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-fix-RECV-and-try-STAT-if-LAST-wont-work.patch | 190 | ||||
-rw-r--r-- | x11-plugins/wmpop3lb/metadata.xml | 5 | ||||
-rw-r--r-- | x11-plugins/wmpop3lb/wmpop3lb-2.4.2-r2.ebuild | 48 |
4 files changed, 244 insertions, 0 deletions
diff --git a/x11-plugins/wmpop3lb/Manifest b/x11-plugins/wmpop3lb/Manifest new file mode 100644 index 000000000000..d3dbce0ea1c7 --- /dev/null +++ b/x11-plugins/wmpop3lb/Manifest @@ -0,0 +1 @@ +DIST wmpop3lb2.4.2.tar.gz 37391 RMD160 9625131b5284258d751089d9a9e1e11a62650eb9 SHA1 a093b00285fa75990914f9b8c02ea203e8ed41b6 SHA256 209b5ca409f226032b1200779e09f3d45a3522bc08eeb9f1b63e14bd04e780f3 diff --git a/x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-fix-RECV-and-try-STAT-if-LAST-wont-work.patch b/x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-fix-RECV-and-try-STAT-if-LAST-wont-work.patch new file mode 100644 index 000000000000..16cbe4ed6bce --- /dev/null +++ b/x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-fix-RECV-and-try-STAT-if-LAST-wont-work.patch @@ -0,0 +1,190 @@ +--- wmpop3lb2.4.2/wmpop3/Pop3Client.c 2002-06-27 16:04:42.000000000 +0200 ++++ wmpop3lb2.4.2-pathed/wmpop3/Pop3Client.c 2007-01-11 14:39:12.000000000 +0200 +@@ -27,6 +27,49 @@ + + #include "Pop3Client.h" + ++/* receive full responce */ ++int do_recv(int s, void *ibuf, size_t len, int flags) ++{ ++ size_t ret, total; ++ char *p, *buf = ibuf; ++ ++ total = 0; ++ while (1) ++ { ++ /* left one byte for null termination */ ++ ret = recv(s, buf + total, len - 1 - total, flags); ++ /* if we got error or close, then brea */ ++ if (ret <= 0) ++ { ++ break; ++ } ++ /* increase size of received data */ ++ total += ret; ++ /* null terminating received data */ ++ buf[total] = 0; ++ /* left one byte for null termination ++ * if out of buffer, return */ ++ if (len - total <= 1) ++ { ++ break; ++ } ++ /* if we found end of line signal, then stop */ ++ p = strstr(buf, "\r\n"); ++ printf("p == %p\n", p); ++ if (p != 0) ++ { ++ break; ++ } ++ } ++ ++ /* if there wasn't any data, then return error code */ ++ if (total == 0) ++ { ++ return ret; ++ } ++ return total; ++} ++ + /* return size if all goes well, -1 if not expected answer */ + int send_command(char *exp_answer, char **retour, Pop3 pc) + { +@@ -61,18 +104,29 @@ + return (pc); + } + int pop3MakeConnection(Pop3 pc, char *serverName, int port){ ++ struct timeval t; + + pc->s = socket(AF_INET, SOCK_STREAM, 0 ); + memset( &(pc->server), 0 , sizeof(pc->server)); + pc->server.sin_family = AF_INET; + pc->hp = gethostbyname(serverName); + if( pc->hp == 0) ++ { ++ close(pc->s); + return -1; ++ } + memcpy( &(pc->server.sin_addr), pc->hp->h_addr, pc->hp->h_length); + pc->server.sin_port = htons(port); + if ( connect(pc->s, (struct sockaddr *)&(pc->server) + , sizeof(pc->server)) < 0 ) ++ { ++ close(pc->s); + return -1; ++ } ++ t.tv_sec = 60; ++ t.tv_usec = 0; ++ setsockopt(pc->s, SOL_SOCKET, SO_RCVTIMEO, &t, sizeof(t)); ++ setsockopt(pc->s, SOL_SOCKET, SO_SNDTIMEO, &t, sizeof(t)); + pc->connected = CONNECTED; + return 0; + } +@@ -94,7 +148,7 @@ + return -1; + } + +- size = recv(pc->s,&pc->inBuf,1024,0); ++ size = do_recv(pc->s,&pc->inBuf,1024,0); + memset(temp,0,1024); + memcpy(temp,pc->inBuf,size); + if( temp[0] != '+' ){ +@@ -104,10 +158,10 @@ + + sprintf(pc->outBuf,"USER %s\r\n",name); + send(pc->s, &pc->outBuf,strlen(pc->outBuf),0); +- size =recv(pc->s,pc->inBuf,1024,0); ++ size = do_recv(pc->s,pc->inBuf,1024,0); + memset(temp,0,1024); + memcpy(temp,pc->inBuf,size); +- if( temp[0] != '+' ){ ++ if( temp[0] != '+' && temp[0] != '\r' ){ + fprintf(stderr,"Invalid User Name\n"); + return -1; + } +@@ -115,10 +169,10 @@ + memset(pc->outBuf,0,1024); + sprintf(pc->outBuf,"PASS %s\r\n",pass); + send(pc->s, pc->outBuf, strlen(pc->outBuf),0 ); +- size =recv(pc->s,&pc->inBuf,1024,0); ++ size = do_recv(pc->s,&pc->inBuf,1024,0); + memset(temp,0,1024); + memcpy(temp,pc->inBuf,size); +- if( temp[0] != '+' ){ ++ if( temp[0] != '+' && temp[0] != '\r'){ + fprintf(stderr,"Incorrect Password\n"); + return -1; + } +@@ -213,7 +267,7 @@ + /* Find total number of messages in mail box */ + sprintf(pc->outBuf,"STAT\r\n"); + send(pc->s, pc->outBuf, strlen(pc->outBuf),0 ); +- size = recv(pc->s,pc->inBuf,1024,0); ++ size = do_recv(pc->s,pc->inBuf,1024,0); + if( pc->inBuf[0] != '+' ){ + perror("Error Receiving Stats"); + return (-1); +@@ -266,7 +320,7 @@ + /* Find total number of messages in mail box */ + sprintf(pc->outBuf,"STAT\r\n"); + send(pc->s, pc->outBuf, strlen(pc->outBuf),0 ); +- size = recv(pc->s,pc->inBuf,1024,0); ++ size = do_recv(pc->s,pc->inBuf,1024,0); + pc->inBuf[size] = '\0'; + #ifdef _DEBUG + printf(" pop3CheckMail, stat received buf (size=%d): [%s]\n", +@@ -313,7 +367,7 @@ + + sprintf(pc->outBuf,"LAST\r\n"); + send(pc->s, pc->outBuf, strlen(pc->outBuf),0 ); +- size = recv(pc->s,pc->inBuf,1024,0); ++ size = do_recv(pc->s,pc->inBuf,1024,0); + pc->inBuf[size] = '\0'; + #ifdef _DEBUG + printf(" pop3CheckMail, last received buf (size=%d): [%s]\n", +@@ -325,9 +379,25 @@ + #ifdef _DEBUG + printf(" Error Receiving LAST: [%s]\n", temp); + #endif +- pc->numOfUnreadMessages = pc->numOfMessages; ++ /* TRY STAT instead LAST */ ++ sprintf(pc->outBuf,"STAT\r\n"); ++ send(pc->s, pc->outBuf, strlen(pc->outBuf),0 ); ++ size = do_recv(pc->s,pc->inBuf,1024,0); ++ pc->inBuf[size] = '\0'; ++#ifdef _DEBUG ++ printf(" pop3CheckMail, last received buf (size=%d): [%s]\n", ++ size, pc->inBuf); ++#endif ++ memset(temp,0,1024); ++ memcpy(temp,pc->inBuf,size); ++ if( temp[0] != '+' ){ ++#ifdef _DEBUG ++ printf(" Error Receiving STAT: [%s]\n", temp); ++#endif ++ pc->numOfUnreadMessages = pc->numOfMessages; ++ } + } +- else { ++ if( temp[0] != '+' ){ + ptr = strtok(temp, " "); + ptr = strtok( 0," "); + pc->numOfUnreadMessages = pc->numOfMessages - atoi(ptr); +@@ -545,7 +615,7 @@ + printf(" %s\n", pc->outBuf); + #endif + send(pc->s, pc->outBuf, strlen(pc->outBuf), 0); +- size = recv(pc->s, pc->inBuf, 4096, 0); ++ size = do_recv(pc->s, pc->inBuf, 4096, 0); + if ('+' != pc->inBuf[0]) { + perror("error while deleting mail"); + return (1); +@@ -579,7 +649,7 @@ + if( pc->connected == NOT_CONNECTED ) + return -1; + send(pc->s, "quit\r\n", 6,0 ); +- size =recv(pc->s,&pc->inBuf,1024,0); ++ size = do_recv(pc->s,&pc->inBuf,1024,0); + pc->connected = NOT_CONNECTED; + if(pc->s != 0) + close(pc->s); diff --git a/x11-plugins/wmpop3lb/metadata.xml b/x11-plugins/wmpop3lb/metadata.xml new file mode 100644 index 000000000000..b1a9efc4f2f0 --- /dev/null +++ b/x11-plugins/wmpop3lb/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>desktop-dock</herd> +</pkgmetadata> diff --git a/x11-plugins/wmpop3lb/wmpop3lb-2.4.2-r2.ebuild b/x11-plugins/wmpop3lb/wmpop3lb-2.4.2-r2.ebuild new file mode 100644 index 000000000000..4c005d642f3f --- /dev/null +++ b/x11-plugins/wmpop3lb/wmpop3lb-2.4.2-r2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=2 +inherit eutils + +IUSE="" + +MY_P=${PN}${PV} +S=${WORKDIR}/${MY_P} +DESCRIPTION="dockapp for checking up to 7 pop3 accounts" +HOMEPAGE="http://wmpop3lb.jourdain.org" +SRC_URI="http://lbj.free.fr/wmpop3/${MY_P}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 ~sparc x86" + +RDEPEND="x11-libs/libX11 + x11-libs/libXext + x11-libs/libXpm" +DEPEND="${RDEPEND} + x11-proto/xextproto + >=sys-apps/sed-4" + +src_prepare() { + #Honour Gentoo CFLAGS + sed -i -e "s:-g2 -D_DEBUG:${CFLAGS}:" "wmpop3/Makefile" + + #Fix bug #161530 + epatch "${FILESDIR}"/${P}-fix-RECV-and-try-STAT-if-LAST-wont-work.patch + + #De-hardcode compiler + sed -i -e "s:cc:\$(CC):g" "wmpop3/Makefile" + + #Honour Gentoo LDFLAGS - bug #335986 + sed -i -e "s:\$(FLAGS) -o wmpop3lb:\$(LDFLAGS) -o wmpop3lb:" "wmpop3/Makefile" +} + +src_compile() { + emake -C wmpop3 || die "parallel make failed" +} + +src_install() { + dobin wmpop3/wmpop3lb + dodoc CHANGE_LOG README +} |