Package: nyquist Version: 2.29-6 Severity: important Tags: patch Hi,
currently your package FTBFS on GNU/kFreeBSD with the following error: > cc -c xlisp/xlfio.c -o xlisp/xlfio.o -DREADLINE -DCMTSTUFF -O2 -Inyqsrc > -Itran -Ixlisp -Isys/unix -Icmt -Isnd -Ifft > xlisp/xlfio.c:12: error: expected '=', ',', ';', 'asm' or '__attribute__' > before 'error' > xlisp/xlfio.c: In function 'xgetstroutput': > xlisp/xlfio.c:581: warning: return makes pointer from integer without a cast > xlisp/xlfio.c: In function 'xformat': > xlisp/xlfio.c:657: warning: assignment makes pointer from integer without a > cast > xlisp/xlfio.c: At top level: > xlisp/xlfio.c:664: error: conflicting types for 'getstroutput' > xlisp/xlfio.c:581: error: previous implicit declaration of 'getstroutput' was > here > make[1]: *** [xlisp/xlfio.o] Error 1 Full build logs are available at <http://experimental.ftbfs.de/build.php?arch=kfreebsd-i386&pkg=nyquist>. Please find attached a patch to add support for GNU/kFreeBSD and which allows your package to build fine on this platform. Please also note that I added two "#error" since having plaintext warning/error instead of proper information isn't that clean (and even quite dirty, IMVHO of course). Cheers, -- Cyril Brulebois
--- nyquist-2.29/snd/sndconfig.h 2002-11-21 14:15:14.000000000 +0100 +++ nyquist-2.29/snd/sndconfig.h 2007-03-16 05:36:17.000000000 +0100 @@ -60,7 +60,7 @@ #elif defined(IRIX) #include "sndirix.h" -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #include "sndfreebsd.h" #elif defined(_WIN32) --- nyquist-2.29/snd/sndcvt.c 2002-11-21 14:15:14.000000000 +0100 +++ nyquist-2.29/snd/sndcvt.c 2007-03-16 05:36:17.000000000 +0100 @@ -9,14 +9,14 @@ #endif /* mips */ #include "snd.h" #include "stdio.h" -#ifdef LINUX +#if defined(LINUX) && !defined(__FreeBSD_kernel__) #include "sys/file.h" #else /* #include <unistd.h> */ #ifdef WIN32 #include <sys/stat.h> #include "io.h" -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #include <sys/stat.h> #else #include <stat.h> --- nyquist-2.29/xlisp/xlfio.c 2002-11-21 14:15:17.000000000 +0100 +++ nyquist-2.29/xlisp/xlfio.c 2007-03-16 05:36:17.000000000 +0100 @@ -9,13 +9,12 @@ /* do some sanity checking: */ #ifndef XL_BIG_ENDIAN #ifndef XL_LITTLE_ENDIAN -configuration error -- either XL_BIG_ or XL_LITTLE_ENDIAN must be defined -in xlisp.h +#error configuration error -- either XL_BIG_ or XL_LITTLE_ENDIAN must be defined in xlisp.h #endif #endif #ifdef XL_BIG_ENDIAN #ifdef XL_LITTLE_ENDIAN -configuration error -- both XL_BIG_ and XL_LITTLE_ENDIAN are defined! +#error configuration error -- both XL_BIG_ and XL_LITTLE_ENDIAN are defined! #endif #endif --- nyquist-2.29/xlisp/xlisp.h 2007-03-16 05:35:24.000000000 +0100 +++ nyquist-2.29/xlisp/xlisp.h 2007-03-16 05:41:01.000000000 +0100 @@ -143,7 +143,7 @@ #endif /* Linux on Pentium */ -#ifdef __linux__ +#if defined(__linux__) || defined(__GLIBC__) #include <endian.h> #if __BYTE_ORDER == __LITTLE_ENDIAN #define XL_LITTLE_ENDIAN --- nyquist-2.29/snd/sndio.c 2002-11-21 14:15:14.000000000 +0100 +++ nyquist-2.29/snd/sndio.c 2007-03-16 05:36:17.000000000 +0100 @@ -20,7 +20,7 @@ #ifdef WIN32 #include <sys/stat.h> #include "io.h" -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) #include <sys/stat.h> #else #include <stat.h> --- nyquist-2.29/sys/unix/osstuff.c 2007-03-16 05:35:24.000000000 +0100 +++ nyquist-2.29/sys/unix/osstuff.c 2007-03-16 05:36:17.000000000 +0100 @@ -100,7 +100,7 @@ /* oserror - print an error message */ void oserror(char *msg) {printf("error: %s\n",msg);} -#ifndef linux +#if !defined(linux) && !defined(__GLIBC__) extern long random(); #ifndef srandom /* if it isn't a macro */ extern srandom(); --- nyquist-2.29/sys/unix/term.c 2002-11-21 14:15:16.000000000 +0100 +++ nyquist-2.29/sys/unix/term.c 2007-03-16 05:36:17.000000000 +0100 @@ -4,12 +4,19 @@ /* Thanks to Dave Cook for rescuing it */ #include <termios.h> +#if defined(linux) #include <asm/ioctls.h> +#endif #include <signal.h> #include <stdlib.h> #include <unistd.h> #include <stdio.h> +#if defined(__FreeBSD_kernel__) +#include <sys/filio.h> +#endif + + /* This will be used for new terminal settings. */ static struct termios current;