After the libc posix pty api addition, make regress failed. Removing the Tty_xs patch appears to fix the problem.
Index: Makefile =================================================================== RCS file: /a8v/pub2/cvsroot/OpenBSD/ports/devel/p5-IO-Tty/Makefile,v retrieving revision 1.15 diff -u -p -u -r1.15 Makefile --- Makefile 23 Aug 2012 15:05:15 -0000 1.15 +++ Makefile 12 Dec 2012 17:17:48 -0000 @@ -6,7 +6,7 @@ COMMENT= provide an interface to create MODULES= cpan DISTNAME= IO-Tty-1.10 -REVISION= 0 +REVISION= 1 CATEGORIES= devel # Perl Index: patches/patch-Tty_xs =================================================================== RCS file: patches/patch-Tty_xs diff -N patches/patch-Tty_xs --- patches/patch-Tty_xs 28 Oct 2011 22:38:15 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,71 +0,0 @@ -$OpenBSD: patch-Tty_xs,v 1.2 2011/10/28 22:38:15 okan Exp $ ---- Tty.xs.orig Mon Oct 11 14:07:57 2010 -+++ Tty.xs Tue Oct 11 23:43:40 2011 -@@ -233,6 +233,7 @@ make_safe_fd(int * fd) - } - } - -+#if !defined(HAVE_OPENPTY) - /* - * After having acquired a master pty, try to find out the slave name, - * initialize and open the slave. -@@ -395,6 +396,7 @@ open_slave(int *ptyfd, int *ttyfd, char *namebuf, int - - return 1; - } -+#endif - - /* - * Allocates and opens a pty. Returns 0 if no pty could be allocated, or -@@ -450,7 +452,7 @@ allocate_pty(int *ptyfd, int *ttyfd, char *namebuf, in - } - #endif - --#if defined(HAVE_PTSNAME) || defined(HAVE_PTSNAME_R) -+#if defined(HAVE_PTSNAME) || defined(HAVE_PTSNAME_R) || defined(HAVE_OPENPTY) - /* we don't need to try these if we don't have a way to get the pty names */ - - #if defined(HAVE_POSIX_OPENPT) -@@ -479,29 +481,21 @@ allocate_pty(int *ptyfd, int *ttyfd, char *namebuf, in - #endif /* defined(HAVE_GETPT) */ - - #if defined(HAVE_OPENPTY) -- /* openpty(3) exists in a variety of OS'es, but due to it's -- * broken interface (no maxlen to slavename) we'll only use it -- * to create the tty/pty pair and rely on ptsname to get the -- * name. */ -- { -- mysig_t old_signal; -- int ret; -- -+ /* openpty(3) is documented to require 16 bytes for the -+ * slave name. We always allocate 64 so it is safe... -+ */ - #if PTY_DEBUG -- if (print_debug) -- fprintf(stderr, "trying openpty()...\n"); -+ if (print_debug) -+ fprintf(stderr, "trying openpty()...\n"); - #endif -- old_signal = mysignal(SIGCHLD, SIG_DFL); -- ret = openpty(ptyfd, ttyfd, NULL, NULL, NULL); -- mysignal(SIGCHLD, old_signal); -- if (ret >= 0 && *ptyfd >= 0) { -- if (open_slave(ptyfd, ttyfd, namebuf, namebuflen)) -- break; -- } -- *ptyfd = -1; -- *ttyfd = -1; -- if (PL_dowarn) -- warn("pty_allocate(nonfatal): openpty(): %.100s", strerror(errno)); -+ if (openpty(ptyfd, ttyfd, namebuf, NULL, NULL) == 0) { -+ make_safe_fd(ptyfd); -+ make_safe_fd(ttyfd); -+ return 1; -+ } else { -+ if (PL_dowarn) -+ warn("pty_allocate: openpty(): %.100s", strerror(errno)); -+ return 0; - } - #endif /* defined(HAVE_OPENPTY) */ -