On Sat, Dec 20, 2014 at 11:51:24PM +0000, ni...@openbsd.org wrote:
> amd64 regression test failed...

Thank you for your report!

Upstream switched from ExtUtils::MakeMaker to Module::Build and that
resulted in important CFLAGs missing during compilation.

I've opened issue on GitHub about this.

Any comments about below patch?

For me regress passes in i386 and amd64.


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/p5-IO-Interface/Makefile,v
retrieving revision 1.19
diff -u -r1.19 Makefile
--- Makefile    14 Jun 2014 23:25:42 -0000      1.19
+++ Makefile    24 Dec 2014 02:08:04 -0000
@@ -1,19 +1,25 @@
 # $OpenBSD: Makefile,v 1.19 2014/06/14 23:25:42 sthen Exp $
 
-SHARED_ONLY=   Yes
+SHARED_ONLY =  Yes
 
-COMMENT=       module for access to network card configuration information
+COMMENT =      module for access to network card configuration information
 
-MODULES=       cpan
-DISTNAME=      IO-Interface-1.06
-REVISION=      1
-CATEGORIES=    net
+MODULES =      cpan
+DISTNAME =     IO-Interface-1.09
+CATEGORIES =   net
 
-MAINTAINER=    Kevin Lo <ke...@openbsd.org>
+HOMEPAGE =     https://github.com/lstein/LibIO-Interface-Perl
+
+MAINTAINER =   Mikolaj Kucharski <miko...@kucharski.name>
 
 # Artistic/GPL
-PERMIT_PACKAGE_CDROM=   Yes
+PERMIT_PACKAGE_CDROM = Yes
 
 WANTLIB += c
+
+CONFIGURE_STYLE =      modbuild
+
+# upstream switched to modbuild, commit c4de691
+CFLAGS +=      -D__USE_BSD -DSIOCGIFCONF -DHAVE_SOCKADDR_DL_STRUCT 
-DUSE_GETIFADDRS
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/p5-IO-Interface/distinfo,v
retrieving revision 1.7
diff -u -r1.7 distinfo
--- distinfo    25 Jul 2011 14:22:42 -0000      1.7
+++ distinfo    24 Dec 2014 02:08:04 -0000
@@ -1,5 +1,2 @@
-MD5 (IO-Interface-1.06.tar.gz) = fXfQ8j7n9XcQn8Xw5n4KSw==
-RMD160 (IO-Interface-1.06.tar.gz) = 8Go0QDlu7qfLCZJ3eFcb2TzxA0Q=
-SHA1 (IO-Interface-1.06.tar.gz) = 13XoQDSHyjrYavnbOYStGbDAyZc=
-SHA256 (IO-Interface-1.06.tar.gz) = 
bAe8nOvOwuxYpuaWmhTI1PSVmGkzLVPqs7ZQeVQc33c=
-SIZE (IO-Interface-1.06.tar.gz) = 10339
+SHA256 (IO-Interface-1.09.tar.gz) = 
5j6BxS6x4OYOwtmD9VUtJJPhFxeZJclnV/I8S9n6cTo=
+SIZE (IO-Interface-1.09.tar.gz) = 16414
Index: patches/patch-Interface_xs
===================================================================
RCS file: patches/patch-Interface_xs
diff -N patches/patch-Interface_xs
--- patches/patch-Interface_xs  30 Aug 2010 03:48:17 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,75 +0,0 @@
-
-NetBSD and OpenBSD don't set the address family on the "netmask" address.
-Work around that by just setting the address family field after ioctl() and
-before checking it.
-
-if_hwaddr() was broken, code looping all interfaces was causing segmentation
-fault on freeifaddrs()
-
-$OpenBSD: patch-Interface_xs,v 1.2 2010/08/30 03:48:17 kevlo Exp $
---- Interface.xs.orig  Fri Jun  6 16:51:42 2008
-+++ Interface.xs       Sun Aug 29 01:53:48 2010
-@@ -2,6 +2,9 @@
- #include "perl.h"
- #include "XSUB.h"
- 
-+#include <stdio.h>
-+#include <string.h>
-+
- /* socket definitions */
- #include <sys/types.h>
- #include <sys/socket.h>
-@@ -511,6 +514,9 @@ if_netmask(sock, name, ...)
-         operation = SIOCGIFNETMASK;
-      }
-      if (!Ioctl(sock,operation,&ifr)) XSRETURN_UNDEF;
-+#if defined(__NetBSD__) || defined(__OpenBSD__)
-+     ifr.ifr_addr.sa_family = AF_INET;
-+#endif
-      if (ifr.ifr_addr.sa_family != AF_INET) croak ("Address is not in the 
AF_INET family.\n");
-      RETVAL = inet_ntoa(((struct sockaddr_in*) &ifr.ifr_addr)->sin_addr);
- #endif
-@@ -566,7 +572,7 @@ if_hwaddr(sock, name, ...)
-      IOCTL_CMD_T    operation;
-      struct ifreq   ifr;
- #if (defined(USE_GETIFADDRS) && defined(HAVE_SOCKADDR_DL_STRUCT))
--     struct ifaddrs* ifap = NULL;
-+     struct ifaddrs *ifap, *ifa;
-      struct sockaddr_dl* sdl;
-      sa_family_t  family;
-      char *sdlname, *haddr, *s;
-@@ -582,20 +588,17 @@ if_hwaddr(sock, name, ...)
- #if (defined(USE_GETIFADDRS) && defined(HAVE_SOCKADDR_DL_STRUCT))
-      getifaddrs(&ifap);
- 
--     while(1) {
--       if (ifap == NULL) break;
--       if (strncmp(name, ifap -> ifa_name, IFNAMSIZ) == 0) {
--         family = ifap -> ifa_addr -> sa_family;
-+     for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
-+       if (strncmp(name, ifa->ifa_name, IFNAMSIZ) == 0) {
-+         family = ifa->ifa_addr->sa_family;
-          if (family == AF_LINK) {
--           sdl = (struct sockaddr_dl *) ifap->ifa_addr;
-+           sdl = (struct sockaddr_dl *) ifa->ifa_addr;
-            haddr = sdl->sdl_data + sdl->sdl_nlen;
-            hlen = sdl->sdl_alen;
-            break;
-          }
-        }
--       ifap = ifap -> ifa_next;
-      } 
--     freeifaddrs(ifap);
- 
-      s = hwaddr; 
-      s[0] = '\0';
-@@ -608,6 +611,9 @@ if_hwaddr(sock, name, ...)
-          s += len;
-        }
-      }
-+
-+     freeifaddrs(ifap);
-+
-      RETVAL = hwaddr;
- #elif (defined(HAS_IOCTL) && defined(SIOCGIFHWADDR))
-      bzero((void*)&ifr,sizeof(struct ifreq));
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/net/p5-IO-Interface/pkg/PLIST,v
retrieving revision 1.5
diff -u -r1.5 PLIST
--- pkg/PLIST   14 Jun 2014 23:25:42 -0000      1.5
+++ pkg/PLIST   24 Dec 2014 02:08:04 -0000
@@ -9,6 +9,5 @@
 ${P5ARCH}/auto/IO/Interface/
 @comment ${P5ARCH}/auto/IO/Interface/Interface.bs
 ${P5ARCH}/auto/IO/Interface/Interface.so
-${P5ARCH}/auto/IO/Interface/autosplit.ix
 @man man/man3p/IO::Interface.3p
 @man man/man3p/IO::Interface::Simple.3p


-- 
best regards
q#

Reply via email to