diff options
author | Francois Perrad <fperrad@gmail.com> | 2013-09-14 16:36:59 +0200 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2013-10-27 11:20:55 +0100 |
commit | 5a4a11a5d1388cf358df8191acea990718fc8704 (patch) | |
tree | 58650f11efadb96c3fa9b74c962178932f022d3c | |
parent | 3b68e8735ecb4099bbb6fc90da0fdf8f4d6217d0 (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.patch | 61 |
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", |