Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Aug 2005 11:36:46 -0300 (BRT)
From:      Marcus Grando <marcus@corp.grupos.com.br>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        trevor@FreeBSD.org
Subject:   ports/85122: Update port: mail/xc-mail unbroken > 502014
Message-ID:  <200508191436.j7JEakT6077994@marcus.grupos.com.br>
Resent-Message-ID: <200508191440.j7JEeG0H008442@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         85122
>Category:       ports
>Synopsis:       Update port: mail/xc-mail unbroken > 502014
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Aug 19 14:40:16 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Marcus Grando
>Release:        FreeBSD 6.0-BETA2 i386
>Organization:
Grupos Internet S/A
>Environment:
System: FreeBSD marcus.grupos.com.br 6.0-BETA2 FreeBSD 6.0-BETA2 #12: Fri Aug 19 00:53:32 BRT 2005 root@marcus.grupos.com.br:/usr/obj/usr/src/sys/MARCUS i386


	
>Description:

- Unbroken when FreeBSD > 502014

Mostly part of this patch is work from vsevolod@.

	
>How-To-Repeat:
	
>Fix:

	

--- xc-mail.patch begins here ---
diff -ruN xc-mail.orig/Makefile xc-mail/Makefile
--- xc-mail.orig/Makefile	Fri Mar 19 19:33:03 2004
+++ xc-mail/Makefile	Fri Aug 19 11:21:03 2005
@@ -7,7 +7,7 @@
 
 PORTNAME=	xc-mail
 PORTVERSION=	2.2
-PORTREVISION=	1
+PORTREVISION=	2
 PORTEPOCH=	1
 CATEGORIES=	mail
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
@@ -17,15 +17,14 @@
 COMMENT=	Mail client for X which supports POP and PGP
 
 LIB_DEPENDS=	Xclasses.1:${PORTSDIR}/x11-toolkits/xclasses
-RUN_DEPENDS=	ispell:${PORTSDIR}/textproc/ispell
 
 GNU_CONFIGURE=	yes
 ONLY_FOR_ARCHS=	arm i386
 USE_GMAKE=	yes
 USE_X_PREFIX=	yes
+USE_REINPLACE=	yes
 
-CONFIGURE_ARGS=	\
-		--includedir=${X11BASE}/include/ \
+CONFIGURE_ARGS=	--includedir=${X11BASE}/include/ \
 		--libdir=${X11BASE}/lib/ \
 		--x-includes=${X11BASE}/include/ \
 		--x-libraries=${X11BASE}/lib/
@@ -36,8 +35,10 @@
 
 .include <bsd.port.pre.mk>
 
+post-patch:
 .if ${OSVERSION} > 502014
-BROKEN=		"Does not compile on FreeBSD >= 5.x"
+	@${REINPLACE_CMD} -e "s|expr $1|expr -- $1|g" ${WRKSRC}/plugins/linkshared.in
+	@${REINPLACE_CMD} -e "s|expr $1|expr -- $1|g" ${WRKSRC}/src/linktool
 .endif
 
 post-install:
diff -ruN xc-mail.orig/files/patch-plugins_dataresend_dataresend.cxx xc-mail/files/patch-plugins_dataresend_dataresend.cxx
--- xc-mail.orig/files/patch-plugins_dataresend_dataresend.cxx	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-plugins_dataresend_dataresend.cxx	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,20 @@
+--- plugins/dateresend/dateresend.cxx.orig	Wed Aug 17 10:09:32 2005
++++ plugins/dateresend/dateresend.cxx	Wed Aug 17 10:10:28 2005
+@@ -47,7 +47,7 @@
+ 			addmenu(4,"Resend in 1 week");
+ 	}
+ }
+-void dateresend::resendmail(int mode,char *datestr=NULL)
++void dateresend::resendmail(int mode,char *datestr)
+ {
+ 	int size;
+ 	char *body=sm->ml->mailbody(size,1);
+@@ -379,7 +379,7 @@
+ 		addmenu(MPMENU_GENERAL,1,"Send me @ date...");
+ 	}
+ }
+-void datesender::sendmail(char *subject,char *body,char *datestr=NULL)
++void datesender::sendmail(char *subject,char *body,char *datestr)
+ {
+ 	int size;
+ 	createmail *cm=new createmail;
diff -ruN xc-mail.orig/files/patch-plugins_linkshared.in xc-mail/files/patch-plugins_linkshared.in
--- xc-mail.orig/files/patch-plugins_linkshared.in	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-plugins_linkshared.in	Fri Aug 19 11:14:18 2005
@@ -0,0 +1,11 @@
+--- plugins/linkshared.in.orig	Fri Aug 19 09:59:40 2005
++++ plugins/linkshared.in	Fri Aug 19 10:00:28 2005
+@@ -26,7 +26,7 @@
+ 
+ case @host@ in
+ 
+-	*-linux-*|*-irix6*|*-freebsd3*|*-freebsd4*|*-freebsd5*|*solaris2*)
++	*-linux-*|*-irix6*|*-freebsd3*|*-freebsd4*|*-freebsd5*|*-freebsd6*|*-freebsd7*|*solaris2*)
+ 		echo @CXX@ -o $dest -shared -Wl,-soname,"$dest" $*
+ 		@CXX@ -o $dest -shared -Wl,-soname,"$dest" $* || die
+ 		;;
diff -ruN xc-mail.orig/files/patch-src_configure xc-mail/files/patch-src_configure
--- xc-mail.orig/files/patch-src_configure	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-src_configure	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,16 @@
+--- src/configure.orig	Wed Aug 17 10:33:21 2005
++++ src/configure	Wed Aug 17 10:36:06 2005
+@@ -4679,9 +4679,10 @@
+ 		_d=XCmail.readme.h
+ 	fi
+ 	echo "$ac_t""creating $_d" 1>&6
+-	(	echo "static char *readme=\""
+-		sed -e "s/\\\\/\\\\\\\\/g" -e "s/\"/\\\\\"/g"
+-		echo "\";"
++	(	echo "static char *readme="
++		sed -e "s/\\\\/\\\\\\\\/g" -e "s/\"/\\\\\"/g" \
++		    -e "s/^/\"/" -e "s/$/\"/"
++		echo ";"
+ 	) <${srcdir}/../README >$_d
+ 
+ 
diff -ruN xc-mail.orig/files/patch-src_folder.cxx xc-mail/files/patch-src_folder.cxx
--- xc-mail.orig/files/patch-src_folder.cxx	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-src_folder.cxx	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,11 @@
+--- src/folder.cxx.orig	Wed Aug 17 10:15:03 2005
++++ src/folder.cxx	Wed Aug 17 10:15:29 2005
+@@ -1382,7 +1382,7 @@
+ }
+ folders_functions::~folders_functions()
+ { }
+-void folders_functions::call(enum CALLTYPE m=FOLDERS)
++void folders_functions::call(enum CALLTYPE m)
+ {
+ 	if (func)
+ 		func();
diff -ruN xc-mail.orig/files/patch-src_folder_manager.cxx xc-mail/files/patch-src_folder_manager.cxx
--- xc-mail.orig/files/patch-src_folder_manager.cxx	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-src_folder_manager.cxx	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,105 @@
+--- src/folder_manager.cxx.orig	Wed Aug 17 10:16:03 2005
++++ src/folder_manager.cxx	Wed Aug 17 10:18:45 2005
+@@ -474,54 +474,54 @@
+ 	  bg->Center();
+ 	  bg->XDistance(4);
+ 	   html_gadget *helptxt=new html_gadget;
+-	   helptxt->Text("<body>The folder management is divided in 2 areas:
+-<ul><li>the folder controller
+-<li>the folder editor
+-</ul>
+-<p>
+-The <b>folder controllers</b> allows to create, rename, delete, move and copy
+-real folders from one IO to another. IOs are the different places for
+-folders - like your home directory (~/Mail), the folder archive (~/Mail/ARCHIVE).<p>
+-Each IO normally allows only unique folder names - ie they are stored in files. But 
+-different IOs may have the same folder names.
+-<p>
+-<b>To move mail from a folder (eg received) into the folder archiv do this:</b>
+-<ol>
+-<li>select your mail directory in the left popup list (..../Mail/)
+-<li>select the ARCHIV directory in the right popup list (..../Mail/ARCHIV/)
+-<li>select the folder you want to archiv in the left listbox (eg received)
+-<li>press one of the buttons 'Copy' to copy the folder, 'Move' to copy the folder and remove the source or 'Move mail' to copy the folder and clear the source (the best choice here)
+-</ol>
+-<p>
+-The <b>folder editor</b> handles the so called 'virtual folders' or
+-vfolders. To use this you have to enable the 'advanced vfolder concept'
+-in the main preferences.
+-<p>
+-Every real folder  belongs to one or more virtual folders
+-and every vertiual folder has one or more real folders in it.<p>
+-The idea is to have only a handfull visible folders in the mail window (this only 
+-shows the virtual folders) but they belong to different IOs - eg. all your
+-POP3 servers may write their mails in different real folders but you will see 
+-all mails in one vfolder - but you can still access the real folders of each 
+-POP3 server if you also create a virtual folders for this.<p>
+-
+-An image that might help you:
+-<pre>
+-  +--------+             +--------+            +--------+
+-  |vfolder1|             |vfolder2|      +-----|vfolder3|
+-  +--------+             +--------+     /      +--------+
+-       |                      |        /           |  
+-  +---------+     +--------------------+    +-------------+
+-  |~/Mail/f1|     |/var/spool/mail/user|    |.../ARCHIV/f2|
+-  +---------+     +--------------------+    +-------------+
+-</pre>
+-<dl>
+-<dd>vfolder1 uses ~/Mail/f1,
+-<dd>vfolder2 uses /var/spool/mail/user and
+-<dd>vfolder3 uses /var/spool/mail/user AND .../ARCHIV/f2.
+-</dl>
+-<p>
+-</body>");
++	   helptxt->Text("<body>The folder management is divided in 2 areas:"
++"<ul><li>the folder controller"
++"<li>the folder editor"
++"</ul>"
++"<p>"
++"The <b>folder controllers</b> allows to create, rename, delete, move and copy"
++"real folders from one IO to another. IOs are the different places for"
++"folders - like your home directory (~/Mail), the folder archive (~/Mail/ARCHIVE).<p>"
++"Each IO normally allows only unique folder names - ie they are stored in files. But "
++"different IOs may have the same folder names."
++"<p>"
++"<b>To move mail from a folder (eg received) into the folder archiv do this:</b>"
++"<ol>"
++"<li>select your mail directory in the left popup list (..../Mail/)"
++"<li>select the ARCHIV directory in the right popup list (..../Mail/ARCHIV/)"
++"<li>select the folder you want to archiv in the left listbox (eg received)"
++"<li>press one of the buttons 'Copy' to copy the folder, 'Move' to copy the folder and remove the source or 'Move mail' to copy the folder and clear the source (the best choice here)"
++"</ol>"
++"<p>"
++"The <b>folder editor</b> handles the so called 'virtual folders' or"
++"vfolders. To use this you have to enable the 'advanced vfolder concept'"
++"in the main preferences."
++"<p>"
++"Every real folder  belongs to one or more virtual folders"
++"and every vertiual folder has one or more real folders in it.<p>"
++"The idea is to have only a handfull visible folders in the mail window (this only "
++"shows the virtual folders) but they belong to different IOs - eg. all your"
++"POP3 servers may write their mails in different real folders but you will see "
++"all mails in one vfolder - but you can still access the real folders of each "
++"POP3 server if you also create a virtual folders for this.<p>"
++""
++"An image that might help you:"
++"<pre>"
++"  +--------+             +--------+            +--------+"
++"  |vfolder1|             |vfolder2|      +-----|vfolder3|"
++"  +--------+             +--------+     /      +--------+"
++"       |                      |        /           |  "
++"  +---------+     +--------------------+    +-------------+"
++"  |~/Mail/f1|     |/var/spool/mail/user|    |.../ARCHIV/f2|"
++"  +---------+     +--------------------+    +-------------+"
++"</pre>"
++"<dl>"
++"<dd>vfolder1 uses ~/Mail/f1,"
++"<dd>vfolder2 uses /var/spool/mail/user and"
++"<dd>vfolder3 uses /var/spool/mail/user AND .../ARCHIV/f2."
++"</dl>"
++"<p>"
++"</body>");
+ 	  bg->Add(helptxt);
+ 	 cd->Add("Information/Short help",bg);
+ 
diff -ruN xc-mail.orig/files/patch-src_plugins.cxx xc-mail/files/patch-src_plugins.cxx
--- xc-mail.orig/files/patch-src_plugins.cxx	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-src_plugins.cxx	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,29 @@
+--- src/plugins.cxx.orig	Wed Aug 17 10:20:39 2005
++++ src/plugins.cxx	Wed Aug 17 10:21:42 2005
+@@ -547,7 +547,7 @@
+ 
+ // -------------------------------------------------------------------------
+ 
+-mainplugin::mainplugin(char *name,char *author,unsigned int flags=0,char *information=NULL) : plugins(name,author,PT_Maintool,flags,information)
++mainplugin::mainplugin(char *name,char *author,unsigned int flags,char *information) : plugins(name,author,PT_Maintool,flags,information)
+ {
+ }
+ mainplugin::mainplugin(class mainplugin *m) : plugins(m)
+@@ -595,7 +595,7 @@
+ 
+ // -------------------------------------------------------------------------
+ 
+-newmailplugin::newmailplugin(char *name,char *author,unsigned int flags=0,char *information=NULL) : plugins(name,author,PT_Newmailtool,flags,information)
++newmailplugin::newmailplugin(char *name,char *author,unsigned int flags,char *information) : plugins(name,author,PT_Newmailtool,flags,information)
+ {
+ }
+ newmailplugin::newmailplugin(class newmailplugin *m) : plugins(m)
+@@ -636,7 +636,7 @@
+ 
+ // -------------------------------------------------------------------------
+ 
+-showmailplugin::showmailplugin(char *name,char *author,unsigned int flags=0,char *information=NULL) : plugins(name,author,PT_Showmailtool,flags,information)
++showmailplugin::showmailplugin(char *name,char *author,unsigned int flags,char *information) : plugins(name,author,PT_Showmailtool,flags,information)
+ {
+ }
+ showmailplugin::showmailplugin(class showmailplugin *m) : plugins(m)
diff -ruN xc-mail.orig/files/patch-src_reader.cxx xc-mail/files/patch-src_reader.cxx
--- xc-mail.orig/files/patch-src_reader.cxx	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-src_reader.cxx	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,11 @@
+--- src/reader.cxx.orig	Wed Aug 17 10:21:57 2005
++++ src/reader.cxx	Wed Aug 17 10:22:13 2005
+@@ -400,7 +400,7 @@
+ // 		ed.Start(readerwin);
+ // 	}
+ // }
+-void updateoutput(int s=0)
++void updateoutput(int s)
+ {
+ 	mail *ml;
+ 	if (!folderlist->currentfolder()) return;
diff -ruN xc-mail.orig/files/patch-src_sendmail.cxx xc-mail/files/patch-src_sendmail.cxx
--- xc-mail.orig/files/patch-src_sendmail.cxx	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-src_sendmail.cxx	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,11 @@
+--- src/sendmail.cxx.orig	Wed Aug 17 10:22:27 2005
++++ src/sendmail.cxx	Wed Aug 17 10:22:37 2005
+@@ -796,7 +796,7 @@
+ static indicator *spool_indi=NULL;
+ static char 	 spool_txtbuf[150]="";
+ 
+-static void spstatus(char *t,int v=0)
++static void spstatus(char *t,int v)
+ {
+ 	if (spool_indi)
+ 	{
diff -ruN xc-mail.orig/files/patch-src_settings_wizzard.cxx xc-mail/files/patch-src_settings_wizzard.cxx
--- xc-mail.orig/files/patch-src_settings_wizzard.cxx	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-src_settings_wizzard.cxx	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,99 @@
+--- src/settings_wizzard.cxx.orig	Wed Aug 17 10:23:12 2005
++++ src/settings_wizzard.cxx	Wed Aug 17 10:24:36 2005
+@@ -768,51 +768,51 @@
+ 	 txt->Text(PROGRAMNAME" note\n");
+ 	ogp->Add(txt);
+ 	 html_gadget *helptxt=new html_gadget;
+-	 helptxt->Text("<body>
+-XCmail has a special kind of mail folder management which
+-allows more flexibility:<p>
+-<center>Virtual folders</center><p>
+-A virtual folder (vfolder) may contain one or more real folders.
+-Real folders are for example the files on your hard disk (as you
+-might know it from other mail programs).<p>
+-
+-Normally easy vfolder has only one real folder in it which has the same
+-name (filename) and you don't worry about it (if you want to use vfolders
+-you have to enable this function in the general preferences).<p>
+-
+-However XCmail offers different places where and how to store folders
+-and you might hide this behind a vfolder. This different places are for
+-example:
+-<dl>
+-<dd>the Inbox
+-<dd>a POP3 Inbox
+-<dd>a 'normal' folder
+-<dd>a compressed folder
+-</dl><p>
+-This places are called IOs. A vfolder may contain as many real folders
+-from every IO as you want. But a typicall usage could be:
+-<dl>
+-<dd>a vfolder with all POP3 inboxes - so every POP3 server has an own
+-real folder where to story the mail but one vfolder for the user to
+-read and manage it
+-<dd>a vfolder with a normal folder and an archived compressed folder
+-</dl><p>
+-Finally there are different type of vfolders:
+-<ul>
+-<li>Inbox: XCmail checks this folders for new mail and will alert you
+-<li>Outbox: Sent mails could be stored in an outbox vfolder (which one
+-has to be setup in the network and transfer prefs) and if you open an
+-Outbox vfolder the recipient not the sender is shown in the mail list
+-<li>Trash: deleted mail is moved into the trash vfolder before it is
+-really removed - the first trash vfolder of each IO is used
+-<li>Received: this is not a really special vfolder - if you have enabled
+-to move mail into the received folder (general prefs/misc) the first
+-found received vfolder of each IO is used
+-<li>Folder: a 'normal' vfolder
+-</ul><p>
+-For more details on vfolders read the manual and check the folder manager
+-window ('Special' pull down menu).
+-</body>");
++	 helptxt->Text("<body>"
++"XCmail has a special kind of mail folder management which"
++"allows more flexibility:<p>"
++"<center>Virtual folders</center><p>"
++"A virtual folder (vfolder) may contain one or more real folders."
++"Real folders are for example the files on your hard disk (as you"
++"might know it from other mail programs).<p>"
++""
++"Normally easy vfolder has only one real folder in it which has the same"
++"name (filename) and you don't worry about it (if you want to use vfolders"
++"you have to enable this function in the general preferences).<p>"
++""
++"However XCmail offers different places where and how to store folders"
++"and you might hide this behind a vfolder. This different places are for"
++"example:"
++"<dl>"
++"<dd>the Inbox"
++"<dd>a POP3 Inbox"
++"<dd>a 'normal' folder"
++"<dd>a compressed folder"
++"</dl><p>"
++"This places are called IOs. A vfolder may contain as many real folders"
++"from every IO as you want. But a typicall usage could be:"
++"<dl>"
++"<dd>a vfolder with all POP3 inboxes - so every POP3 server has an own"
++"real folder where to story the mail but one vfolder for the user to"
++"read and manage it"
++"<dd>a vfolder with a normal folder and an archived compressed folder"
++"</dl><p>"
++"Finally there are different type of vfolders:"
++"<ul>"
++"<li>Inbox: XCmail checks this folders for new mail and will alert you"
++"<li>Outbox: Sent mails could be stored in an outbox vfolder (which one"
++"has to be setup in the network and transfer prefs) and if you open an"
++"Outbox vfolder the recipient not the sender is shown in the mail list"
++"<li>Trash: deleted mail is moved into the trash vfolder before it is"
++"really removed - the first trash vfolder of each IO is used"
++"<li>Received: this is not a really special vfolder - if you have enabled"
++"to move mail into the received folder (general prefs/misc) the first"
++"found received vfolder of each IO is used"
++"<li>Folder: a 'normal' vfolder"
++"</ul><p>"
++"For more details on vfolders read the manual and check the folder manager"
++"window ('Special' pull down menu)."
++"</body>");
+ 	ogp->Add(helptxt);
+ 
+ 
diff -ruN xc-mail.orig/files/patch-src_stringTokenizer.cxx xc-mail/files/patch-src_stringTokenizer.cxx
--- xc-mail.orig/files/patch-src_stringTokenizer.cxx	Wed Dec 31 21:00:00 1969
+++ xc-mail/files/patch-src_stringTokenizer.cxx	Fri Aug 19 11:15:30 2005
@@ -0,0 +1,20 @@
+--- src/stringTokenizer.cxx.orig	Wed Aug 17 11:05:22 2005
++++ src/stringTokenizer.cxx	Wed Aug 17 13:35:24 2005
+@@ -455,7 +455,7 @@
+ 	{
+ 		chs+=strlen(get(i)->tokenize(delim2?delim2:delim,ign_bslash))+l;
+ 	}
+-	if (!(return_buf=(char*)malloc(chs)))
++	if (chs == 0 || !(return_buf=(char*)malloc(chs)))
+ 	{
+ 		return (char*)"";
+ 	}
+@@ -478,7 +478,7 @@
+ 			}
+ 		}
+ 	}
+-	*d=0;
++	//*d=0;
+ 	return return_buf;
+ }
+ 
--- xc-mail.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200508191436.j7JEakT6077994>