Testing for IPv6 support got broken by configure.ac changes in 1.6.4
As a temp workaround, revert back to the 1.6.3 version.

Upstream-Status: Pending

--- spawn-fcgi-1.6.4/configure.ac
+++ spawn-fcgi-1.6.3/configure.ac
@@ -66,8 +47,8 @@
 # Check for IPv6 support
 
 AC_ARG_ENABLE(ipv6,
-  AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
-  [case "${enableval}" in
+ AC_HELP_STRING([--disable-ipv6],[disable IPv6 support]),
+ [case "${enableval}" in
    yes) ipv6=true ;;
     no) ipv6=false ;;
      *) AC_MSG_ERROR(bad value ${enableval} for --enable-ipv6) ;;
@@ -75,13 +56,10 @@
 
 if test x$ipv6 = xtrue; then
   AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
-    [AC_TRY_LINK([[
-#include <sys/types.h>
+  [AC_TRY_LINK([ #include <sys/types.h>
 #include <sys/socket.h>
-#include <netinet/in.h>
-    ]], [[
-struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;
-    ]], [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
+#include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0; ],
+  [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
 
   if test "$ac_cv_ipv6_support" = yes; then
     AC_DEFINE(HAVE_IPV6,1,[Whether to enable IPv6 support])
