summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordholland <dholland@pkgsrc.org>2008-08-30 20:01:28 +0000
committerdholland <dholland@pkgsrc.org>2008-08-30 20:01:28 +0000
commit108c96f8e4b817f4a9646de17a0d615329f960ae (patch)
tree61398827a709b2643c3a68570c041630c72a65b2
parent69d7a368b0ce9e75fa476716ffcb4dd8a991b957 (diff)
downloadpkgsrc-108c96f8e4b817f4a9646de17a0d615329f960ae.tar.gz
Make this crap build again. Don't use sigvec(); it's no longer supported
on NetBSD and probably elsewhere. Because the build wasn't stopping on error, prior builds of this package "succeeded" and generated a shared library missing some code. For this reason, bump both PKGREVISION and BUILDLINK_ABI_DEPENDS.
-rw-r--r--x11/xview-lib/Makefile4
-rw-r--r--x11/xview-lib/buildlink3.mk4
-rw-r--r--x11/xview-lib/distinfo13
-rw-r--r--x11/xview-lib/patches/patch-af13
-rw-r--r--x11/xview-lib/patches/patch-cj79
-rw-r--r--x11/xview-lib/patches/patch-ck80
-rw-r--r--x11/xview-lib/patches/patch-cn17
-rw-r--r--x11/xview-lib/patches/patch-dm148
-rw-r--r--x11/xview-lib/patches/patch-em13
9 files changed, 334 insertions, 37 deletions
diff --git a/x11/xview-lib/Makefile b/x11/xview-lib/Makefile
index 472d14a63df..93425b81ba4 100644
--- a/x11/xview-lib/Makefile
+++ b/x11/xview-lib/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.34 2007/02/22 19:27:30 wiz Exp $
+# $NetBSD: Makefile,v 1.35 2008/08/30 20:01:28 dholland Exp $
DISTNAME= xview3.2p1-X11R6
PKGNAME= xview-lib-3.2.1
-PKGREVISION= 6
+PKGREVISION= 7
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_LOCAL}
diff --git a/x11/xview-lib/buildlink3.mk b/x11/xview-lib/buildlink3.mk
index e1c6ebf2f7e..5af97e6b220 100644
--- a/x11/xview-lib/buildlink3.mk
+++ b/x11/xview-lib/buildlink3.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.7 2006/12/27 13:37:47 joerg Exp $
+# $NetBSD: buildlink3.mk,v 1.8 2008/08/30 20:01:28 dholland Exp $
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
XVIEW_LIB_BUILDLINK3_MK:= ${XVIEW_LIB_BUILDLINK3_MK}+
@@ -13,7 +13,7 @@ BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}xview-lib
.if !empty(XVIEW_LIB_BUILDLINK3_MK:M+)
BUILDLINK_API_DEPENDS.xview-lib+= xview-lib>=3.2.1
-BUILDLINK_ABI_DEPENDS.xview-lib?= xview-lib>=3.2.1nb6
+BUILDLINK_ABI_DEPENDS.xview-lib?= xview-lib>=3.2.1nb7
BUILDLINK_PKGSRCDIR.xview-lib?= ../../x11/xview-lib
.endif # XVIEW_LIB_BUILDLINK3_MK
diff --git a/x11/xview-lib/distinfo b/x11/xview-lib/distinfo
index 5e4ab729d04..977716b749e 100644
--- a/x11/xview-lib/distinfo
+++ b/x11/xview-lib/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.12 2007/06/12 23:10:24 tnn Exp $
+$NetBSD: distinfo,v 1.13 2008/08/30 20:01:28 dholland Exp $
SHA1 (xview3.2p1-X11R6.tar.gz) = 1cd04231b893c3e6c70b56791d527b498e21a27a
RMD160 (xview3.2p1-X11R6.tar.gz) = 2f21b14cb088aec887683bbc6d4ed9a3bc3fe2bb
@@ -8,7 +8,7 @@ SHA1 (patch-ab) = f119539e73ce6885a9b1ec155e61076ede89b752
SHA1 (patch-ac) = 56484fc24a4ad8ccbe8067bb703179b3e74582ca
SHA1 (patch-ad) = 7260078b17bb0cc905c626965572b3510259cc42
SHA1 (patch-ae) = 7cc93ff7a26d1b01518b244c7fb0a0e79d7b4b7c
-SHA1 (patch-af) = 87e21efc3f3fe59889136b6ee836fdc49c9edad4
+SHA1 (patch-af) = 71b4935279f8d00af2a1c2b1682cd72e5d7c5bc0
SHA1 (patch-ag) = 2329e9cb1290f7704e547b328d0e852c7ff56a18
SHA1 (patch-ah) = 7331c4107005cfc98c6507f62b567f765d56aaff
SHA1 (patch-ai) = 8f1dfe2f952db58f1ce2ddad80efcddc337199b6
@@ -64,11 +64,11 @@ SHA1 (patch-cf) = 6addd9b52dea9c4646797405904e95853f110635
SHA1 (patch-cg) = 9c3643e0507a62226447712b1f1173973f6ebd5f
SHA1 (patch-ch) = 4ca1610b5ede24852dec3b3087e48680e3ec1aa2
SHA1 (patch-ci) = 645b94302a5d6ba09f29bd5e06f321ac388b592a
-SHA1 (patch-cj) = 4d95e94699fda4a1ed26dcd63a7acece2ce7623d
-SHA1 (patch-ck) = 59b8c342a8bcd32bea0db9003e7da5b7da3d1376
+SHA1 (patch-cj) = d193c1688bef88c5c89bb41da62b9989138e6582
+SHA1 (patch-ck) = fd3045b5ebafa95cf5a963ef6921d14407b55afe
SHA1 (patch-cl) = 6ada5a7257c2495781c805f55e38d4b2b8bcc323
SHA1 (patch-cm) = e743e951a0a4b34a60f091df0e37850bc6dde99e
-SHA1 (patch-cn) = 86bede62bc40d3213b5e4801f84707bc2088f747
+SHA1 (patch-cn) = 8ad590cc4aa6e74dc0e4793cb291b634591372bc
SHA1 (patch-co) = 8983ff1dbd11907d9399b2cf497d74378291a4df
SHA1 (patch-cp) = d989a4a195622b2aba899d70f1700b602eeb771f
SHA1 (patch-cq) = 3d9022971b371500bdf14f800a7e392beefefee0
@@ -93,7 +93,7 @@ SHA1 (patch-di) = da64503892d0e421bce6f8f07da879884a757bcb
SHA1 (patch-dj) = cfc6a0706c67c15e81ff7a5285624cae30a78cc1
SHA1 (patch-dk) = 9ba00db63023e0863901d017b54c05903fb19da4
SHA1 (patch-dl) = 0aef1fe619dc5ff228d813d816f5e974d49bf829
-SHA1 (patch-dm) = 205ac73da2105f82d497279507f93a6ec703a5d0
+SHA1 (patch-dm) = dcc65f8233dc3478b47eee980587c271ebee1c97
SHA1 (patch-dn) = b0ccb6467097b3b1937810d9f1fc6a2b21fbabc2
SHA1 (patch-do) = 14d0e4cb02758b457b2c78ae1ee5d0899b0faa65
SHA1 (patch-dp) = 94c78bf81c6125d14df071eb0d2738eef95b5f17
@@ -119,6 +119,7 @@ SHA1 (patch-ei) = 65e504ea6b78958b5ff3a805559d4429f4f6e798
SHA1 (patch-ej) = 8eb2a61821f1ebf778ae1fa7a828de3a0b8e2ae6
SHA1 (patch-ek) = 49c51048cb416e53279d9f319466f5eaf5c28ae0
SHA1 (patch-el) = 51e1d47e1f42e1cc62d53b1e4c3426b9dbf4a798
+SHA1 (patch-em) = f475e6d905c8ccaf15074ce6ce27f4dceca2a041
SHA1 (patch-fa) = b17b18509017d19e52c1c54416bec24d67ce2b4d
SHA1 (patch-fb) = 3f6906fe91374c3bfdd77549ec784643887ceee2
SHA1 (patch-fc) = 3b4bd2940d0482ae8280b0cd7935b9368388b703
diff --git a/x11/xview-lib/patches/patch-af b/x11/xview-lib/patches/patch-af
index 7bd4c787550..868e5b45241 100644
--- a/x11/xview-lib/patches/patch-af
+++ b/x11/xview-lib/patches/patch-af
@@ -1,7 +1,7 @@
-$NetBSD: patch-af,v 1.3 2001/12/20 09:19:55 tron Exp $
+$NetBSD: patch-af,v 1.4 2008/08/30 20:01:28 dholland Exp $
---- lib/libxview/base/base.h.orig Tue Jun 29 07:14:42 1993
-+++ lib/libxview/base/base.h Thu Dec 20 10:09:16 2001
+--- lib/libxview/base/base.h.orig 1993-06-29 01:14:42.000000000 -0400
++++ lib/libxview/base/base.h 2008-08-30 14:37:00.000000000 -0400
@@ -6,10 +6,15 @@
* file for terms of the license.
*/
@@ -18,7 +18,7 @@ $NetBSD: patch-af,v 1.3 2001/12/20 09:19:55 tron Exp $
#include <xview/xv_c_types.h>
-@@ -54,10 +59,12 @@
+@@ -54,12 +59,14 @@
* non-SVR4 systems.
*/
#ifndef SUNOS41
@@ -26,9 +26,12 @@ $NetBSD: patch-af,v 1.3 2001/12/20 09:19:55 tron Exp $
#define XV_OS_SVR4
-#define XV_USE_TTCOMPAT
#define SYSV_WAIT
- #define SYSV_UCONTEXT
+-#define SYSV_UCONTEXT
+#endif
+#define XV_USE_TTCOMPAT
#define XV_USE_XVFCNTL
#endif
++#define SYSV_UCONTEXT
+ /*
+ * These alloc macros should be functions someday with an error call out
diff --git a/x11/xview-lib/patches/patch-cj b/x11/xview-lib/patches/patch-cj
index 52dc0cb581a..3a1871d2905 100644
--- a/x11/xview-lib/patches/patch-cj
+++ b/x11/xview-lib/patches/patch-cj
@@ -1,8 +1,8 @@
-$NetBSD: patch-cj,v 1.1 2001/12/20 09:20:03 tron Exp $
+$NetBSD: patch-cj,v 1.2 2008/08/30 20:01:28 dholland Exp $
---- lib/libxview/ttysw/tty_init.c.orig Tue Jun 29 07:17:19 1993
-+++ lib/libxview/ttysw/tty_init.c Thu Dec 20 10:09:17 2001
-@@ -14,6 +14,7 @@
+--- lib/libxview/ttysw/tty_init.c.orig 1993-06-29 01:17:19.000000000 -0400
++++ lib/libxview/ttysw/tty_init.c 2008-08-30 14:57:05.000000000 -0400
+@@ -14,6 +14,7 @@ static char sccsid[] = "@(#)tty_init
* Ttysw initialization, destruction and error procedures
*/
@@ -10,7 +10,7 @@ $NetBSD: patch-cj,v 1.1 2001/12/20 09:20:03 tron Exp $
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
-@@ -82,7 +83,11 @@
+@@ -82,7 +83,11 @@ static char sccsid[] = "@(#)tty_init
extern char *strncpy();
extern char *strcpy();
@@ -22,7 +22,7 @@ $NetBSD: patch-cj,v 1.1 2001/12/20 09:20:03 tron Exp $
char *textsw_checkpoint_undo();
/* static */ void ttysw_parseargs();
-@@ -106,6 +111,7 @@
+@@ -106,6 +111,7 @@ Xv_private char *xv_font_monospace();
extern int ttysel_use_seln_service;
@@ -30,7 +30,68 @@ $NetBSD: patch-cj,v 1.1 2001/12/20 09:20:03 tron Exp $
struct ttysw_createoptions {
int becomeconsole; /* be the console */
-@@ -518,6 +524,9 @@
+@@ -432,10 +438,8 @@ ttysw_fork_it(ttysw0, argv, wfd)
+ char appname[20];
+ char *p;
+ unsigned ttysw_error_sleep = 1;
+-#ifndef SVR4
+- struct sigvec vec, ovec;
+-#else
+ struct sigaction vec, ovec;
++#ifdef SVR4
+ extern char *ptsname();
+
+ #define BSD_TTY_COMPAT /* yank this if csh ever gets ported properly */
+@@ -461,27 +465,6 @@ ttysw_fork_it(ttysw0, argv, wfd)
+ }
+
+ /* Set up the child characteristics */
+-#ifndef SVR4 /* SunOS4.x code */
+- vec.sv_handler = SIG_DFL;
+- vec.sv_mask = vec.sv_onstack = 0;
+- sigvec(SIGWINCH, &vec, 0);
+- /*
+- * Become session leader, change process group of child
+- * process (me at this point in code) so
+- * its signal stuff doesn't affect the terminal emulator.
+- */
+- setsid();
+- vec.sv_handler = SIG_IGN;
+- vec.sv_mask = vec.sv_onstack = 0;
+- sigvec(SIGTTOU, &vec, &ovec);
+-
+- close(ttysw->ttysw_tty);
+-
+- /* Make the following file descriptor be my controlling terminal */
+- ttysw->ttysw_tty = open("/dev/tty", O_RDWR, 0); /* open master tty* */
+- sigvec(SIGTTOU, &ovec, 0);
+-
+-#else /* SVR4 code */
+ vec.sa_handler = SIG_DFL;
+ sigemptyset(&vec.sa_mask);
+ vec.sa_flags = SA_RESTART;
+@@ -497,13 +480,19 @@ ttysw_fork_it(ttysw0, argv, wfd)
+ vec.sa_flags = SA_RESTART;
+ sigaction(SIGTTOU, &vec, &ovec);
+
++#ifndef SVR4 /* SunOS4.x code */
++ close(ttysw->ttysw_tty);
++
++ /* Make the following file descriptor be my controlling terminal */
++ ttysw->ttysw_tty = open("/dev/tty", O_RDWR, 0); /* open master tty* */
++#else /* SVR4 code */
+ if (unlockpt(ttysw->ttysw_pty) == -1)
+ perror("unlockpt (2)");
+ if ((ttysw->ttysw_tty = open(ptsname(ttysw->ttysw_pty),O_RDWR))<0)
+ return -1;
++#endif /* SVR4 */
+
+ sigaction(SIGTTOU, &ovec, (struct sigaction *) 0);
+-#endif /* SVR4 */
+
+ /*
+ * Initialize file descriptors. Connections to servers are marked as
+@@ -518,6 +507,9 @@ ttysw_fork_it(ttysw0, argv, wfd)
(void) dup2(ttysw->ttysw_tty, 2);
(void) close(ttysw->ttysw_tty);
@@ -40,7 +101,7 @@ $NetBSD: patch-cj,v 1.1 2001/12/20 09:20:03 tron Exp $
if (*argv == (char *) NULL || strcmp("-c", *argv) == 0) {
/* Process arg list */
int argc;
-@@ -955,7 +964,11 @@
+@@ -955,7 +947,11 @@ updateutmp(username, ttyslotuse, ttyfd)
struct utmpx utmp;
#endif
struct passwd *passwdent;
@@ -52,7 +113,7 @@ $NetBSD: patch-cj,v 1.1 2001/12/20 09:20:03 tron Exp $
int f;
char *ttyn;
extern char *ttyname();
-@@ -1007,13 +1020,22 @@
+@@ -1007,13 +1003,22 @@ updateutmp(username, ttyslotuse, ttyfd)
XV_MSG("Add tty[qrs][0-f] to /etc/ttys file.\n"));
return (0);
}
diff --git a/x11/xview-lib/patches/patch-ck b/x11/xview-lib/patches/patch-ck
index 0fab4f122a9..864ce84df6a 100644
--- a/x11/xview-lib/patches/patch-ck
+++ b/x11/xview-lib/patches/patch-ck
@@ -1,8 +1,8 @@
-$NetBSD: patch-ck,v 1.1 2001/12/20 09:20:03 tron Exp $
+$NetBSD: patch-ck,v 1.2 2008/08/30 20:01:28 dholland Exp $
---- lib/libxview/ttysw/tty_main.c.orig Tue Jun 29 07:17:22 1993
-+++ lib/libxview/ttysw/tty_main.c Thu Dec 20 10:09:17 2001
-@@ -75,6 +75,11 @@
+--- lib/libxview/ttysw/tty_main.c.orig 1993-06-29 01:17:22.000000000 -0400
++++ lib/libxview/ttysw/tty_main.c 2008-08-30 15:06:22.000000000 -0400
+@@ -75,6 +75,11 @@ static char sccsid[] = "@(#)tty_main
int committed_left = 0;
#endif
@@ -14,7 +14,7 @@ $NetBSD: patch-ck,v 1.1 2001/12/20 09:20:03 tron Exp $
extern Textsw_index textsw_insert();
#ifdef OW_I18N
extern Textsw_index textsw_insert_wcs();
-@@ -906,8 +911,12 @@
+@@ -906,8 +911,12 @@ ttysw_pty_input(ttysw, pty)
if (int_ucntl == (tiocsti & 0xff))
ttysw_process_STI(ttysw, owbp, cc - 1);
@@ -27,3 +27,73 @@ $NetBSD: patch-ck,v 1.1 2001/12/20 09:20:03 tron Exp $
ttysw_getp(TTY_VIEW_HANDLE_FROM_TTY_FOLIO(ttysw)); /* jcb for nng */
} else
#ifdef OW_I18N
+@@ -1491,11 +1500,12 @@ xv_tty_new_size(ttysw, cols, lines)
+
+ struct ttysize ts;
+ #ifndef SVR4
+- struct sigvec vec, ovec;
++ struct sigaction vec, ovec;
+
++ (void) sigaction(SIGTTOU, NULL, &ovec);
++ vec = ovec;
++ vec.sa_handler = SIG_IGN;
+- vec.sv_handler = SIG_IGN;
+- vec.sv_mask = vec.sv_onstack = 0;
+- (void) sigvec(SIGTTOU, &vec, &ovec);
++ (void) sigaction(SIGTTOU, &vec, NULL);
+ #endif
+
+ ts.ts_lines = lines;
+@@ -1504,7 +1514,7 @@ xv_tty_new_size(ttysw, cols, lines)
+ perror(XV_MSG("ttysw-TIOCSSIZE"));
+
+ #ifndef SVR4
+- (void) sigvec(SIGTTOU, &ovec, 0);
++ (void) sigaction(SIGTTOU, &ovec, NULL);
+ #endif
+ #else /* sun */
+ /*
+@@ -1512,11 +1522,12 @@ xv_tty_new_size(ttysw, cols, lines)
+ */
+ struct winsize ws;
+ #ifndef SVR4
+- struct sigvec vec, ovec;
++ struct sigaction vec, ovec;
+
++ (void) sigaction(SIGTTOU, NULL, &ovec);
++ vec = ovec;
++ vec.sa_handler = SIG_IGN;
+- vec.sv_handler = SIG_IGN;
+- vec.sv_mask = vec.sv_onstack = 0;
+- (void) sigvec(SIGTTOU, &vec, &ovec);
++ (void) sigaction(SIGTTOU, &vec, NULL);
+ #endif
+
+ ws.ws_row = lines;
+@@ -1525,7 +1536,7 @@ xv_tty_new_size(ttysw, cols, lines)
+ perror(XV_MSG("ttysw-TIOCSWINSZ"));
+
+ #ifndef SVR4
+- (void) sigvec(SIGTTOU, &ovec, 0);
++ (void) sigaction(SIGTTOU, &ovec, NULL);
+ #endif
+ #endif /* sun */
+ }
+@@ -1624,7 +1635,7 @@ Pkg_private void
+ ttysw_flush_input(ttysw)
+ Ttysw_folio ttysw;
+ {
+-#ifndef SVR4
++#if 0 /*ndef SVR4*/
+ struct sigvec vec, ovec; /* Sys V compatibility */
+ int flushf = 0;
+
+@@ -1655,7 +1666,7 @@ ttysw_flush_input(ttysw)
+ # endif /* XV_USE_TERMIOS */
+ perror(XV_MSG("TIOCFLUSH"));
+
+-#ifndef SVR4
++#if 0 /*ndef SVR4*/
+ (void) sigvec(SIGTTOU, &ovec, (struct sigvec *) 0);
+ #else
+ sigaction(SIGTTOU, &ovec, (struct sigaction *) 0);
diff --git a/x11/xview-lib/patches/patch-cn b/x11/xview-lib/patches/patch-cn
index 64f45cde5a3..e8e5b282e6b 100644
--- a/x11/xview-lib/patches/patch-cn
+++ b/x11/xview-lib/patches/patch-cn
@@ -1,8 +1,8 @@
-$NetBSD: patch-cn,v 1.1 2001/12/20 09:20:03 tron Exp $
+$NetBSD: patch-cn,v 1.2 2008/08/30 20:01:28 dholland Exp $
---- lib/libxview/ttysw/ttyselect.c.orig Sun Jun 26 03:05:23 1994
-+++ lib/libxview/ttysw/ttyselect.c Thu Dec 20 10:09:17 2001
-@@ -75,6 +75,8 @@
+--- lib/libxview/ttysw/ttyselect.c.orig 1994-06-25 21:05:23.000000000 -0400
++++ lib/libxview/ttysw/ttyselect.c 2008-08-30 15:02:55.000000000 -0400
+@@ -75,6 +75,8 @@ static Seln_result ttysel_copy_in(),
#endif
ttysel_reply();
@@ -11,3 +11,12 @@ $NetBSD: patch-cn,v 1.1 2001/12/20 09:20:03 tron Exp $
static struct ttyselection *
ttysel_from_rank();
+@@ -1774,7 +1776,7 @@ ttysel_copy_out(ttysel, context, max_len
+ max_length--;
+ }
+ /* round up to word boundary */
+- while ((unsigned) dest % 4 != 0) {
++ while ((uintptr_t) dest % 4 != 0) {
+ *dest++ = '\0';
+ }
+
diff --git a/x11/xview-lib/patches/patch-dm b/x11/xview-lib/patches/patch-dm
index f8562c9aedf..19286a836f0 100644
--- a/x11/xview-lib/patches/patch-dm
+++ b/x11/xview-lib/patches/patch-dm
@@ -1,7 +1,7 @@
-$NetBSD: patch-dm,v 1.2 2006/01/05 18:25:57 joerg Exp $
+$NetBSD: patch-dm,v 1.3 2008/08/30 20:01:28 dholland Exp $
---- lib/libxview/notify/ndet_loop.c.orig Tue Jun 29 07:18:19 1993
-+++ lib/libxview/notify/ndet_loop.c Thu Dec 20 10:09:16 2001
+--- lib/libxview/notify/ndet_loop.c.orig 1993-06-29 01:18:19.000000000 -0400
++++ lib/libxview/notify/ndet_loop.c 2008-08-30 14:21:48.000000000 -0400
@@ -14,13 +14,18 @@ static char sccsid[] = "@(#)ndet_loo
* Ndet_loop.c - Notification loop.
*/
@@ -30,7 +30,42 @@ $NetBSD: patch-dm,v 1.2 2006/01/05 18:25:57 joerg Exp $
pkg_private_data u_int ndet_flags = 0;
pkg_private_data NTFY_CLIENT *ndet_clients = 0;
pkg_private_data NTFY_CLIENT *ndet_client_latest = 0;
-@@ -224,7 +227,8 @@ notify_start()
+@@ -55,7 +58,7 @@ extern NTFY_CNDTBL *ntfy_cndtbl[NTFY_LAS
+
+ /* NOTE! This assumes NSIG is 32. Not very portable */
+ /* ndet_prev_sigvec needs to start off at all zeros */
+-#ifndef SVR4
++#if 0 /*ndef SVR4*/
+ pkg_private_data struct sigvec ndet_prev_sigvec[NSIG] = {
+ {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
+ {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
+@@ -70,20 +73,19 @@ pkg_private_data struct sigvec ndet_prev
+ pkg_private_data struct sigaction ndet_prev_sigvec[NSIG];
+ #endif SVR4
+
+-#ifdef vax /* vax signal handlers return ints */
++#if 0 /*def vax*/ /* vax signal handlers return ints */
+ pkg_private int ndet_signal_catcher();
+ #else /* sun signal handlers are void */
+-pkg_private void ndet_signal_catcher();
++pkg_private void ndet_signal_catcher(int sig, siginfo_t *info, void *ctx);
+ #endif
+
+-#ifndef SVR4
++#if 0 /*ndef SVR4*/
+ pkg_private_data struct sigvec ndet_sigvec = {ndet_signal_catcher, 0, 0};
+ static int ndet_signal_code;
+ static struct sigcontext *ndet_signal_context;
+ #else SVR4
+-pkg_private_data struct sigaction ndet_sigvec =
+- {SA_RESTART, {ndet_signal_catcher}, {0}, {0,0}};
+- static int ndet_signal_code;
++pkg_private_data struct sigaction ndet_sigvec;
++ static siginfo_t *ndet_signal_code;
+ static ucontext_t *ndet_signal_context;
+ #endif SVR4
+
+@@ -224,7 +226,8 @@ notify_start()
* will return with an EINTR when a signal arrives while IN
* select, not ON THE WAY into select).
*/
@@ -40,3 +75,108 @@ $NetBSD: patch-dm,v 1.2 2006/01/05 18:25:57 joerg Exp $
nfds = syscall(SYS_select,
FD_SETSIZE, &ibits, &obits, &ebits,
(sigisempty(&ndet_sigs_received)) ? timer : &ndet_polling_tv);
+@@ -715,7 +718,7 @@ ndet_fig_sig_change()
+ /*
+ * Don't catch this signal, currently we are
+ */
+-#ifndef SVR4
++#if 0 /*ndef SVR4*/
+ n = sigvec(sig, &ndet_prev_sigvec[sig],
+ (struct sigvec *) 0); /* SYSTEM CALL */
+ ntfy_assert(n == 0, 6 /* Unexpected error: sigvec */);
+@@ -743,11 +746,13 @@ ndet_enable_sig(sig)
+ int n;
+
+ /* Arrange to catch this signal, currently we are not */
+-#ifndef SVR4
++#if 0 /*ndef SVR4*/
+ n = sigvec(sig, &ndet_sigvec, &ndet_prev_sigvec[sig]);
+ /* SYSTEM CALL */
+ ntfy_assert(n == 0, 8 /* Unexpected error: sigvec */);
+ #else SVR4
++ ndet_sigvec.sa_flags = SA_RESTART | SA_SIGINFO;
++ ndet_sigvec.sa_sigaction = ndet_signal_catcher;
+ n = sigaction(sig, &ndet_sigvec, &ndet_prev_sigvec[sig]);
+ /* SYSTEM CALL */
+ ntfy_assert(n == 0, 9 /* Unexpected error: sigaction */);
+@@ -758,25 +763,28 @@ ndet_enable_sig(sig)
+
+ pkg_private_data int ndet_track_sigs = 0;
+
+-#ifdef vax
++#if 0 /*def vax*/
+ pkg_private int /* Should be static but there might be
+ * clients of it */
+ #else
+ pkg_private void /* Should be static but there might be
+ * clients of it */
+ #endif
+-ndet_signal_catcher(sig, code, scp)
++ndet_signal_catcher(sig, info, scp_v)
+ int sig;
+- int code;
+-#ifndef SVR4
+- struct sigcontext *scp;
++ siginfo_t *info;
++ void *scp_v;
++{
++#if 0 /*ndef SVR4*/
++ struct sigcontext *scp = scp_v;
+ #else SVR4
+- ucontext_t *scp;
++ ucontext_t *scp = scp_v;
+ #endif SVR4
+-{
+
+-#ifdef SVR4
+- void (*old_handler) () = ndet_prev_sigvec[sig].sa_handler;
++#if 1 /*def SVR4*/
++ int use_action = (ndet_prev_sigvec[sig].sa_flags & SA_SIGINFO) != 0;
++ void (*old_handler) (int) = ndet_prev_sigvec[sig].sa_handler;
++ void (*old_sigaction) (int, siginfo_t *, void *) = ndet_prev_sigvec[sig].sa_sigaction;
+ #else
+ void (*old_handler) () = ndet_prev_sigvec[sig].sv_handler;
+ #endif /* SVR4 */
+@@ -803,7 +811,7 @@ ndet_signal_catcher(sig, code, scp)
+ }
+
+ NTFY_BEGIN_INTERRUPT;
+- ndet_signal_code = code;
++ ndet_signal_code = info;
+ ndet_signal_context = scp;
+ sigemptyset( &newmask );
+ sigaddset( &newmask, sig );
+@@ -817,8 +825,14 @@ Done:
+ * definition but is included as a means of reducing compatibility
+ * problems.
+ */
+- if (old_handler != SIG_DFL && old_handler != SIG_IGN)
+- old_handler(sig, code, scp);
++ if (use_action) {
++ if (old_sigaction != SIG_DFL && old_sigaction != SIG_IGN)
++ old_sigaction(sig, info, scp);
++ } else {
++ if (old_handler != SIG_DFL && old_handler != SIG_IGN)
++ /*old_handler(sig, info, scp);*/
++ old_handler(sig);
++ }
+
+ /* This write guarentees that the select will return so the signal can
+ * be processed.
+@@ -1024,14 +1038,14 @@ notify_get_signal_check()
+ return (ndet_signal_check);
+ }
+
+-extern int
++extern siginfo_t *
+ notify_get_signal_code()
+ {
+ /* Could put check to see if in interrupt (should be) */
+ return (ndet_signal_code);
+ }
+
+-#ifndef SVR4
++#if 0 /*ndef SVR4*/
+ extern struct sigcontext *
+ #else SVR4
+ extern ucontext_t *
diff --git a/x11/xview-lib/patches/patch-em b/x11/xview-lib/patches/patch-em
new file mode 100644
index 00000000000..48028852742
--- /dev/null
+++ b/x11/xview-lib/patches/patch-em
@@ -0,0 +1,13 @@
+$NetBSD: patch-em,v 1.1 2008/08/30 20:01:28 dholland Exp $
+
+--- lib/libxview/notify/notify.h~ 1993-06-29 01:18:15.000000000 -0400
++++ lib/libxview/notify/notify.h 2008-08-30 13:56:48.000000000 -0400
+@@ -273,7 +273,7 @@ EXTERN_FUNCTION (Notify_func notify_get_
+ EXTERN_FUNCTION (Notify_func notify_get_output_func, (Notify_client nclient, int fd));
+ EXTERN_FUNCTION (Notify_func notify_get_prioritizer_func, (Notify_client nclient));
+ EXTERN_FUNCTION (Notify_func notify_get_scheduler_func, (void));
+-EXTERN_FUNCTION (int notify_get_signal_code, (void));
++EXTERN_FUNCTION (siginfo_t * notify_get_signal_code, (void));
+
+ #ifndef SYSV_UCONTEXT
+ EXTERN_FUNCTION (struct sigcontext *notify_get_signal_context, (void));