Package: xfmail
Severity: important
Tags: patch

Hi,

currently your package FTBFS on GNU/kFreeBSD with the following error:
> if i486-kfreebsd-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../src/include 
> -I../../data -I../../src/editor -I../../src/mail   -DWITH_FACES -I../compface 
> -DUSE_SOUND -DUSE_SOUND -DUSE_ESOUND -DWITH_LDAP -I/usr/include/glib-1.2 
> -I/usr/lib/glib/include -Wall -g -O2 -I/usr/local/include -MT child.o -MD -MP 
> -MF ".deps/child.Tpo" \
>         -c -o child.o `test -f 'child.cpp' || echo './'`child.cpp; \
>       then mv -f ".deps/child.Tpo" ".deps/child.Po"; \
>       else rm -f ".deps/child.Tpo"; exit 1; \
>       fi
> child.cpp: In function 'void my_check_forms(_proc_info*)':
> child.cpp:510: error: using typedef-name 'fd_set' after 'struct'
> /usr/include/sys/select.h:78: error: 'fd_set' has a previous declaration here
> child.cpp:510: error: invalid type in declaration before ';' token
> child.cpp:523: error: request for member 'fds_bits' in 'read_fds', which is 
> of non-class type 'int'
> child.cpp:524: error: request for member 'fds_bits' in 'read_fds', which is 
> of non-class type 'int'
> child.cpp:524: error: invalid lvalue in asm statement
> child.cpp:534: error: using typedef-name 'fd_set' after 'struct'
> [...]

Full build logs are available at
<http://experimental.ftbfs.de/build.php?arch=kfreebsd-i386&pkg=xfmail>.

Please find attached a patch to add support for GNU/kFreeBSD.

Cheers,

-- 
Cyril Brulebois
diff -ur xfmail-1.5.5~/src/include/umail.h xfmail-1.5.5/src/include/umail.h
--- xfmail-1.5.5~/src/include/umail.h	2007-03-10 00:44:09.000000000 +0100
+++ xfmail-1.5.5/src/include/umail.h	2007-03-10 00:54:39.000000000 +0100
@@ -33,7 +33,7 @@
         #include <config.h>
     #endif
 
-    #ifdef __linux__
+    #if defined(__linux__) || defined(__FreeBSD_kernel__)
         #define __USE_BSD_SIGNAL
     #endif
 
diff -ur xfmail-1.5.5~/src/include/version.h.in xfmail-1.5.5/src/include/version.h.in
--- xfmail-1.5.5~/src/include/version.h.in	2007-03-10 00:44:09.000000000 +0100
+++ xfmail-1.5.5/src/include/version.h.in	2007-03-10 00:54:41.000000000 +0100
@@ -50,6 +50,10 @@
 #define XF_OS		"Linux"
 #endif
 
+#ifdef __FreeBSD_kernel__
+#define XF_OS		"GNU/kFreeBSD"
+#endif
+
 #if defined(sun) && !defined(SVR4)
 #define XF_OS		"SunOS"
 #endif
diff -ur xfmail-1.5.5~/src/mail/imap.cpp xfmail-1.5.5/src/mail/imap.cpp
--- xfmail-1.5.5~/src/mail/imap.cpp	2007-03-10 00:44:09.000000000 +0100
+++ xfmail-1.5.5/src/mail/imap.cpp	2007-03-10 00:54:41.000000000 +0100
@@ -6173,7 +6173,7 @@
 
 #if defined(SASL) && defined(PROT_STDIO)
 int imap_check_io_forms(struct protstream *s, int type) {
-	#if defined(__linux__) || defined(__EMX__)
+	#if defined(__linux__) || defined(__EMX__) || defined(__FreeBSD_kernel__)
 	fd_set read_fds, write_fds, except_fds;
 	#else
 	struct fd_set read_fds, write_fds, except_fds;
diff -ur xfmail-1.5.5~/src/ui/child.cpp xfmail-1.5.5/src/ui/child.cpp
--- xfmail-1.5.5~/src/ui/child.cpp	2007-03-10 00:44:09.000000000 +0100
+++ xfmail-1.5.5/src/ui/child.cpp	2007-03-10 00:54:21.000000000 +0100
@@ -504,7 +504,7 @@
 void my_check_forms(struct _proc_info *npinfo) {
 	struct timeval t;
 	  
-#if defined(__linux__) || defined (__EMX__)
+#if defined(__linux__) || defined (__EMX__) || defined(__FreeBSD_kernel__)
 	fd_set read_fds;
 #else
 	struct fd_set read_fds;
@@ -527,7 +527,7 @@
 		t.tv_sec = SEL_SEC;
 		t.tv_usec = 0;
 /* I am getting rid of all HPUX9 traces */
-#if defined(__linux__) | defined (__EMX__)
+#if defined(__linux__) | defined (__EMX__) || defined(__FreeBSD_kernel__)
 		if(select(xconn + 1, &read_fds, (fd_set *) 0, (fd_set *) 0, &t) <
 	  	  0) {
 #else
@@ -561,7 +561,7 @@
 
 int my_check_io_forms(int fd, int type, int timeout) {
 	struct timeval t, *tptr = NULL;
-#if defined(__linux__) || defined(__EMX__)
+#if defined(__linux__) || defined(__EMX__) || defined(__FreeBSD_kernel__)
 	fd_set read_fds, write_fds, except_fds;
 #else
 	struct fd_set read_fds, write_fds, except_fds;
@@ -634,7 +634,7 @@
 
 void my_check_forms2() {
 	struct timeval t;
-#if defined(__linux__) || defined (__EMX__)
+#if defined(__linux__) || defined (__EMX__) || defined(__FreeBSD_kernel__)
 	fd_set read_fds;
 #else
 	struct fd_set read_fds;
@@ -648,7 +648,7 @@
 	t.tv_sec = 0;
 	t.tv_usec = 0;
 
-#if defined(__linux__) | defined (__EMX__)
+#if defined(__linux__) | defined (__EMX__) || defined(__FreeBSD_kernel__)
 	if(select(xconn + 1, &read_fds, (fd_set *) 0, (fd_set *) 0, &t) == 1)
 #else
 	if(select(xconn + 1, &read_fds, (struct fd_set *) 0, (struct fd_set *) 0,
diff -ur xfmail-1.5.5~/src/ui/version.src xfmail-1.5.5/src/ui/version.src
--- xfmail-1.5.5~/src/ui/version.src	2007-03-10 00:44:09.000000000 +0100
+++ xfmail-1.5.5/src/ui/version.src	2007-03-10 00:54:41.000000000 +0100
@@ -23,6 +23,10 @@
 #define XF_OS		"Linux"
 #endif
 
+#ifdef __FreeBSD_kernel__
+#define XF_OS		"GNU/kFreeBSD"
+#endif
+
 #if defined(sun) && !defined(SVR4)
 #define XF_OS		"SunOS"
 #endif

Reply via email to