diff options
| author | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
|---|---|---|
| committer | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
| commit | ecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch) | |
| tree | b89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /x11-plugins/wmpop3lb | |
| parent | 1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff) | |
| download | baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip | |
Updating liguros repo
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/files/wmpop3lb-2.4.2-gcc-10.patch | 21 | ||||
| -rw-r--r-- | x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-list.patch | 127 | ||||
| -rw-r--r-- | x11-plugins/wmpop3lb/metadata.xml | 10 | ||||
| -rw-r--r-- | x11-plugins/wmpop3lb/wmpop3lb-2.4.2-r3.ebuild | 45 |
6 files changed, 394 insertions, 0 deletions
diff --git a/x11-plugins/wmpop3lb/Manifest b/x11-plugins/wmpop3lb/Manifest new file mode 100644 index 000000000000..c1a1c0881219 --- /dev/null +++ b/x11-plugins/wmpop3lb/Manifest @@ -0,0 +1 @@ +DIST wmpop3lb2.4.2.tar.gz 37391 BLAKE2B a9e1acaa35b965db90d5e272382629d02b127b19e9501a6e26094f204463a1f33023cdcf4b7910a045abd2e412c0a41cd3d67fb98378b164f2a3c3f0f457f8af SHA512 6d9d12261c457542ba45bbbb2f07ea9895a456d87c60187e2df0f0cc6e6da57fb498ea642346d113749b9529f1bebc623ec9dad48ee84e5016925b2440211e0f 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..93d2ab291741 --- /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 @@ +--- a/wmpop3/Pop3Client.c 2002-06-27 16:04:42.000000000 +0200 ++++ b/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/files/wmpop3lb-2.4.2-gcc-10.patch b/x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-gcc-10.patch new file mode 100644 index 000000000000..5beb41552562 --- /dev/null +++ b/x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-gcc-10.patch @@ -0,0 +1,21 @@ +--- a/wmgeneral/wmgeneral.c ++++ b/wmgeneral/wmgeneral.c +@@ -45,6 +45,7 @@ Window iconwin, win; + GC NormalGC; + XpmIcon wmgen; + Pixmap pixmask; ++Display *display; + + /*****************/ + /* Mouse Regions */ +--- a/wmgeneral/wmgeneral.h ++++ b/wmgeneral/wmgeneral.h +@@ -21,7 +21,7 @@ typedef struct { + /* Global variable */ + /*******************/ + +-Display *display; ++extern Display *display; + + /***********************/ + /* Function Prototypes */ diff --git a/x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-list.patch b/x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-list.patch new file mode 100644 index 000000000000..684b5a171c9b --- /dev/null +++ b/x11-plugins/wmpop3lb/files/wmpop3lb-2.4.2-list.patch @@ -0,0 +1,127 @@ +diff -Naur a/wmgeneral/list.c b/wmgeneral/list.c +--- a/wmgeneral/list.c 2016-01-04 13:22:26.492218531 +0100 ++++ b/wmgeneral/list.c 2016-01-04 13:22:59.018229270 +0100 +@@ -38,7 +38,7 @@ + + /* Return a cons cell produced from (head . tail) */ + +-INLINE LinkedList* ++LinkedList* + list_cons(void* head, LinkedList* tail) + { + LinkedList* cell; +@@ -51,7 +51,7 @@ + + /* Return the length of a list, list_length(NULL) returns zero */ + +-INLINE int ++int + list_length(LinkedList* list) + { + int i = 0; +@@ -66,7 +66,7 @@ + /* Return the Nth element of LIST, where N count from zero. If N + larger than the list length, NULL is returned */ + +-INLINE void* ++void* + list_nth(int index, LinkedList* list) + { + while(index-- != 0) +@@ -81,7 +81,7 @@ + + /* Remove the element at the head by replacing it by its successor */ + +-INLINE void ++void + list_remove_head(LinkedList** list) + { + if (!*list) return; +@@ -101,7 +101,7 @@ + + /* Remove the element with `car' set to ELEMENT */ + /* +-INLINE void ++void + list_remove_elem(LinkedList** list, void* elem) + { + while (*list) +@@ -112,7 +112,7 @@ + } + }*/ + +-INLINE LinkedList * ++LinkedList * + list_remove_elem(LinkedList* list, void* elem) + { + LinkedList *tmp; +@@ -132,7 +132,7 @@ + + /* Return element that has ELEM as car */ + +-INLINE LinkedList* ++LinkedList* + list_find(LinkedList* list, void* elem) + { + while(list) +@@ -146,7 +146,7 @@ + + /* Free list (backwards recursive) */ + +-INLINE void ++void + list_free(LinkedList* list) + { + if(list) +@@ -158,7 +158,7 @@ + + /* Map FUNCTION over all elements in LIST */ + +-INLINE void ++void + list_mapcar(LinkedList* list, void(*function)(void*)) + { + while(list) +diff -Naur a/wmgeneral/list.h b/wmgeneral/list.h +--- a/wmgeneral/list.h 2016-01-04 13:22:26.492218531 +0100 ++++ b/wmgeneral/list.h 2016-01-04 13:22:30.028219699 +0100 +@@ -29,31 +29,25 @@ + #ifndef __LIST_H_ + #define __LIST_H_ + +-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) +-# define INLINE inline +-#else +-# define INLINE +-#endif +- + typedef struct LinkedList { + void *head; + struct LinkedList *tail; + } LinkedList; + +-INLINE LinkedList* list_cons(void* head, LinkedList* tail); ++LinkedList* list_cons(void* head, LinkedList* tail); + +-INLINE int list_length(LinkedList* list); ++int list_length(LinkedList* list); + +-INLINE void* list_nth(int index, LinkedList* list); ++void* list_nth(int index, LinkedList* list); + +-INLINE void list_remove_head(LinkedList** list); ++void list_remove_head(LinkedList** list); + +-INLINE LinkedList *list_remove_elem(LinkedList* list, void* elem); ++LinkedList *list_remove_elem(LinkedList* list, void* elem); + +-INLINE void list_mapcar(LinkedList* list, void(*function)(void*)); ++void list_mapcar(LinkedList* list, void(*function)(void*)); + +-INLINE LinkedList*list_find(LinkedList* list, void* elem); ++LinkedList*list_find(LinkedList* list, void* elem); + +-INLINE void list_free(LinkedList* list); ++void list_free(LinkedList* list); + + #endif diff --git a/x11-plugins/wmpop3lb/metadata.xml b/x11-plugins/wmpop3lb/metadata.xml new file mode 100644 index 000000000000..a65e7749da2f --- /dev/null +++ b/x11-plugins/wmpop3lb/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="person"> + <email>voyageur@gentoo.org</email> + <name>Bernard Cafarelli</name> +</maintainer> + + <origin>gentoo-staging</origin> +</pkgmetadata> diff --git a/x11-plugins/wmpop3lb/wmpop3lb-2.4.2-r3.ebuild b/x11-plugins/wmpop3lb/wmpop3lb-2.4.2-r3.ebuild new file mode 100644 index 000000000000..8b443af7ff28 --- /dev/null +++ b/x11-plugins/wmpop3lb/wmpop3lb-2.4.2-r3.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="dockapp for checking up to 7 pop3 accounts" +HOMEPAGE="https://www.dockapps.net/wmpop3lb" +SRC_URI="https://www.dockapps.net/download/${P/-}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 ~sparc x86" +IUSE="" + +RDEPEND="x11-libs/libX11 + x11-libs/libXext + x11-libs/libXpm" +DEPEND="${RDEPEND}" + +S=${WORKDIR}/${P/-} + +PATCHES=( "${FILESDIR}"/${P}-fix-RECV-and-try-STAT-if-LAST-wont-work.patch + "${FILESDIR}"/${P}-list.patch + "${FILESDIR}"/${P}-gcc-10.patch ) + +src_prepare() { + #Honour Gentoo CFLAGS + sed -i -e "s|-g2 -D_DEBUG|${CFLAGS}|" "wmpop3/Makefile" || die + + #De-hardcode compiler + sed -i -e "s|cc|\$(CC)|g" "wmpop3/Makefile" || die + + #Honour Gentoo LDFLAGS - bug #335986 + sed -i -e "s|\$(FLAGS) -o wmpop3lb|\$(LDFLAGS) -o wmpop3lb|" "wmpop3/Makefile" || die + default +} + +src_compile() { + emake -C wmpop3 +} + +src_install() { + dobin wmpop3/wmpop3lb + dodoc CHANGE_LOG README +} |
