Attached is a diff to bring net/epic4 to version 2.10.2. I've also removed USE_GROFF, taken maintainer, and removed two patches that have been integrated upstream already.
Tested on i386 and amd64. --avj Index: Makefile =================================================================== RCS file: /home/cvsync/ports/net/epic4/Makefile,v retrieving revision 1.71 diff -u -p -r1.71 Makefile --- Makefile 11 Mar 2013 11:35:46 -0000 1.71 +++ Makefile 20 Aug 2013 17:00:55 -0000 @@ -2,16 +2,17 @@ COMMENT= (E)nhanced (P)rogrammable (I)RC-II (C)lient -VERSION= 2.10 +VERSION= 2.10.2 HELP_DATE= 20050315 DISTNAME= epic4-${VERSION} -REVISION= 2 CATEGORIES= net MASTER_SITES= ftp://ftp.epicsol.org/pub/epic/EPIC4-PRODUCTION/ DISTFILES= epic4-${VERSION}.tar.bz2 epic4-help-${HELP_DATE}.tar.gz HOMEPAGE= http://www.epicsol.org/ +MAINTAINER= Adam Jeanguenat <a...@6v6.org> + # BSD PERMIT_PACKAGE_CDROM= Yes @@ -32,7 +33,6 @@ WANTLIB+= perl util INSTALL_TARGET= install installhelp -USE_GROFF = Yes NO_TEST= Yes SUBST_VARS= VERSION Index: distinfo =================================================================== RCS file: /home/cvsync/ports/net/epic4/distinfo,v retrieving revision 1.10 diff -u -p -r1.10 distinfo --- distinfo 14 Jun 2008 02:01:10 -0000 1.10 +++ distinfo 20 Aug 2013 16:01:57 -0000 @@ -1,10 +1,4 @@ -MD5 (epic4-2.10.tar.bz2) = kniddfEogmloF4ZeoHLkSg== -MD5 (epic4-help-20050315.tar.gz) = mIjRr0Zcpyv5oCSHJkBxpQ== -RMD160 (epic4-2.10.tar.bz2) = j3Y/KE/hcZ4tcLYYdyN5yJ7AghQ= -RMD160 (epic4-help-20050315.tar.gz) = tCNzV+kFRoq0/XcQKD1r/+4GfF4= -SHA1 (epic4-2.10.tar.bz2) = DoG6Ew+4sxvmHktZk5yTKvctA2k= -SHA1 (epic4-help-20050315.tar.gz) = BlHUlgsBeYenJrT1/I7V5bEw1KI= -SHA256 (epic4-2.10.tar.bz2) = uQQ9mwOdNWapsbCUJu2hm/atZQ6kf3n2joknOw/GsIk= +SHA256 (epic4-2.10.2.tar.bz2) = i2iwKGdM00F93qpNzRVntx8R3F58KSMUPUX3wpj+Wf4= SHA256 (epic4-help-20050315.tar.gz) = cUr9BzSHMeasguH2VIrMEuhFObMQarJ/pdAO1WliVvc= -SIZE (epic4-2.10.tar.bz2) = 629828 +SIZE (epic4-2.10.2.tar.bz2) = 633946 SIZE (epic4-help-20050315.tar.gz) = 332502 Index: patches/patch-source_irc_c =================================================================== RCS file: /home/cvsync/ports/net/epic4/patches/patch-source_irc_c,v retrieving revision 1.1 diff -u -p -r1.1 patch-source_irc_c --- patches/patch-source_irc_c 1 May 2009 02:04:15 -0000 1.1 +++ patches/patch-source_irc_c 1 Jan 1970 00:00:00 -0000 @@ -1,25 +0,0 @@ -$OpenBSD: patch-source_irc_c,v 1.1 2009/05/01 02:04:15 sthen Exp $ - -signal handler fixes -http://www.mail-archive.com/list@epicsol.org/msg00593.html - ---- source/irc.c.orig Sat Mar 29 04:49:23 2008 -+++ source/irc.c Tue Apr 14 21:12:58 2009 -@@ -52,7 +52,7 @@ const char internal_version[] = "20080329"; - /* - * In theory, this number is incremented for every commit. - */ --const unsigned long commit_id = 769; -+const unsigned long commit_id = 770; - - /* - * As a way to poke fun at the current rage of naming releases after -@@ -1155,7 +1155,7 @@ int main (int argc, char *argv[]) - /* make sure we don't start with spurious signals events firing */ - memset(&signals_caught, 0, NSIG * sizeof(int)); - /* hook all signals! */ -- hook_all_signals(); -+ init_signals(); - /* we *might* want to check for SIG_ERR from the above function. - * i leave it to hop to decide what to do on SIG_ERR. -pegasus - */ Index: patches/patch-source_ircsig_c =================================================================== RCS file: /home/cvsync/ports/net/epic4/patches/patch-source_ircsig_c,v retrieving revision 1.1 diff -u -p -r1.1 patch-source_ircsig_c --- patches/patch-source_ircsig_c 1 May 2009 02:04:15 -0000 1.1 +++ patches/patch-source_ircsig_c 1 Jan 1970 00:00:00 -0000 @@ -1,142 +0,0 @@ -$OpenBSD: patch-source_ircsig_c,v 1.1 2009/05/01 02:04:15 sthen Exp $ - -signal handler fixes -http://www.mail-archive.com/list@epicsol.org/msg00593.html - ---- source/ircsig.c.orig Fri Mar 14 00:12:53 2008 -+++ source/ircsig.c Tue Apr 14 21:12:59 2009 -@@ -57,12 +57,13 @@ int unblock_signal (int sig_no) - } - - /* array of signal handlers containing mostly NULL */ --volatile sigfunc *signal_handlers[NSIG]; -+sigfunc *signal_handlers[NSIG]; -+volatile int signals_caught[NSIG]; - --/* grand unified signal handler, which sets flags for scriptable signals -- * -pegasus -+/* grand unified signal handler, which sets flags for scriptable signals -+ * - pegasus - */ --RETSIGTYPE signal_handler (int sig_no) -+static RETSIGTYPE signal_handler (int sig_no) - { - signals_caught[0] = 1; - signals_caught[sig_no]++; -@@ -70,63 +71,74 @@ RETSIGTYPE signal_handler (int sig_no) - signal_handlers[sig_no](sig_no); - } - --/* hook_all_signals needs to be called in main() before my_signal() -- * if any signal hooks fail, it returns SIG_ERR, otherwise it returns -- * NULL. -pegasus -- */ --sigfunc *hook_all_signals (void) -+sigfunc *reset_one_signal (int sig_no, sigfunc *sig_handler) - { -- struct sigaction sa, osa; -- int sig_no; -- sigfunc *error = NULL; -+ struct sigaction sa, osa; - -- /* docs say this is const. if it changes, something else is -- * broken. -pegasus -- */ -- sa.sa_handler = &signal_handler; -- /* end possibly risky code */ -- for (sig_no = 0; sig_no < NSIG; sig_no++) -- { -- signal_handlers[sig_no] = NULL; -- /* this is ugly, but the `correct' way. i hate c. -mrg */ -- /* moved from my_signal. -pegasus */ -- sa.sa_flags = 0; -+ if (sig_no < 0) -+ return NULL; /* Signal not implemented */ -+ -+ signal_handlers[sig_no] = NULL; -+ -+ sa.sa_handler = sig_handler; -+ sigemptyset(&sa.sa_mask); -+ sigaddset(&sa.sa_mask, sig_no); -+ -+ /* this is ugly, but the `correct' way. i hate c. -mrg */ -+ sa.sa_flags = 0; - #if defined(SA_RESTART) || defined(SA_INTERRUPT) -- if (SIGALRM == sig_no || SIGINT == sig_no) -- { -+ if (SIGALRM == sig_no || SIGINT == sig_no) -+ { - # if defined(SA_INTERRUPT) -- sa.sa_flags |= SA_INTERRUPT; -+ sa.sa_flags |= SA_INTERRUPT; - # endif /* SA_INTERRUPT */ -- } -- else -- { -+ } -+ else -+ { - # if defined(SA_RESTART) -- sa.sa_flags |= SA_RESTART; -+ sa.sa_flags |= SA_RESTART; - # endif /* SA_RESTART */ -- } -+ } - #endif /* SA_RESTART || SA_INTERRUPT */ -- /* if it wasn't for the above code, we could move the -- * sigemptyset() and sigaction() calls outside the loop -- * proper. -pegasus -- */ -- sigemptyset(&sa.sa_mask); -- sigaddset(&sa.sa_mask, sig_no); -- if (0 > sigaction(sig_no, &sa, &osa)) -+ -+ if (0 > sigaction(sig_no, &sa, &osa)) -+ return SIG_ERR; -+ -+ return osa.sa_handler; -+} -+ -+ -+/* hook_all_signals needs to be called in main() before my_signal() -+ * if any signal hooks fail, it returns SIG_ERR, otherwise it returns -+ * NULL. - pegasus -+ */ -+sigfunc * init_signals (void) -+{ -+ int sig_no; -+ sigfunc *error = NULL; -+ -+ memset(&signals_caught, 0, NSIG * sizeof(int)); -+ -+ for (sig_no = 0; sig_no < NSIG; sig_no++) -+ { -+ if ((reset_one_signal(sig_no, signal_handler)) == SIG_ERR) - error = SIG_ERR; - } - return error; - } - --sigfunc *my_signal (int sig_no, sigfunc *sig_handler) -+sigfunc * my_signal (int sig_no, sigfunc *sig_handler) - { -- sigfunc *old; -+ sigfunc *old; - -- if (sig_no < 0) -- return NULL; /* Signal not implemented */ -- -- /* Well this is certainly simpler. -pegasus */ - old = signal_handlers[sig_no]; -- signal_handlers[sig_no] = (volatile sigfunc *)sig_handler; -+ if (sig_handler == SIG_IGN || sig_handler == SIG_DFL) -+ reset_one_signal(sig_no, sig_handler); -+ else -+ { -+ reset_one_signal(sig_no, signal_handler); -+ signal_handlers[sig_no] = (sigfunc *)sig_handler; -+ } - -- return old; -+ return old; - }