summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois Perrad <fperrad@gmail.com>2013-09-14 16:36:59 +0200
committerPeter Korsgaard <peter@korsgaard.com>2013-10-27 11:20:55 +0100
commit5a4a11a5d1388cf358df8191acea990718fc8704 (patch)
tree58650f11efadb96c3fa9b74c962178932f022d3c
parent3b68e8735ecb4099bbb6fc90da0fdf8f4d6217d0 (diff)
perl: fix on uClibc without IPv6 support
Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--package/perl/perl-uClibc-IPv6.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/package/perl/perl-uClibc-IPv6.patch b/package/perl/perl-uClibc-IPv6.patch
new file mode 100644
index 000000000..8ace75e06
--- /dev/null
+++ b/package/perl/perl-uClibc-IPv6.patch
@@ -0,0 +1,61 @@
+fix on uClibc without IPv6 support
+
+Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
+
+Index: b/cpan/Socket/Socket.xs
+===================================================================
+--- a/cpan/Socket/Socket.xs
++++ b/cpan/Socket/Socket.xs
+@@ -896,7 +896,7 @@
+ CODE:
+ #ifdef HAS_INETNTOP
+ STRLEN addrlen;
+-#ifdef AF_INET6
++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6))
+ struct in6_addr addr;
+ char str[INET6_ADDRSTRLEN];
+ #else
+@@ -916,7 +916,7 @@
+ croak("Bad address length for Socket::inet_ntop on AF_INET;"
+ " got %"UVuf", should be 4", (UV)addrlen);
+ break;
+-#ifdef AF_INET6
++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6))
+ case AF_INET6:
+ if(addrlen != 16)
+ croak("Bad address length for Socket::inet_ntop on AF_INET6;"
+@@ -925,7 +925,7 @@
+ #endif
+ default:
+ croak("Bad address family for %s, got %d, should be"
+-#ifdef AF_INET6
++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6))
+ " either AF_INET or AF_INET6",
+ #else
+ " AF_INET",
+@@ -955,7 +955,7 @@
+ #ifdef HAS_INETPTON
+ int ok;
+ int addrlen = 0;
+-#ifdef AF_INET6
++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6))
+ struct in6_addr ip_address;
+ #else
+ struct in_addr ip_address;
+@@ -965,14 +965,14 @@
+ case AF_INET:
+ addrlen = 4;
+ break;
+-#ifdef AF_INET6
++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6))
+ case AF_INET6:
+ addrlen = 16;
+ break;
+ #endif
+ default:
+ croak("Bad address family for %s, got %d, should be"
+-#ifdef AF_INET6
++#if (defined(__UCLIBC__) && defined(__UCLIBC_HAS_IPV6__)) || (!defined(__UCLIBC__) && defined(AF_INET6))
+ " either AF_INET or AF_INET6",
+ #else
+ " AF_INET",