diff options
author | dholland <dholland@pkgsrc.org> | 2008-08-30 20:01:28 +0000 |
---|---|---|
committer | dholland <dholland@pkgsrc.org> | 2008-08-30 20:01:28 +0000 |
commit | 108c96f8e4b817f4a9646de17a0d615329f960ae (patch) | |
tree | 61398827a709b2643c3a68570c041630c72a65b2 | |
parent | 69d7a368b0ce9e75fa476716ffcb4dd8a991b957 (diff) | |
download | pkgsrc-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/Makefile | 4 | ||||
-rw-r--r-- | x11/xview-lib/buildlink3.mk | 4 | ||||
-rw-r--r-- | x11/xview-lib/distinfo | 13 | ||||
-rw-r--r-- | x11/xview-lib/patches/patch-af | 13 | ||||
-rw-r--r-- | x11/xview-lib/patches/patch-cj | 79 | ||||
-rw-r--r-- | x11/xview-lib/patches/patch-ck | 80 | ||||
-rw-r--r-- | x11/xview-lib/patches/patch-cn | 17 | ||||
-rw-r--r-- | x11/xview-lib/patches/patch-dm | 148 | ||||
-rw-r--r-- | x11/xview-lib/patches/patch-em | 13 |
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)); |