Index: head/sysutils/screen/Makefile =================================================================== --- head/sysutils/screen/Makefile (revision 525894) +++ head/sysutils/screen/Makefile (revision 525895) @@ -1,113 +1,112 @@ # Created by: Andrey Chernov # $FreeBSD$ PORTNAME= screen -PORTVERSION= 4.7.0 -PORTREVISION= 8 +PORTVERSION= 4.8.0 CATEGORIES= sysutils MASTER_SITES= GNU \ ftp://ftp.gnu.org/gnu/screen/ \ ftp://gnu.mirror.iweb.com/screen/ \ http://gnu.mirror.iweb.com/screen/ \ http://mirror.sdunix.com/gnu/ \ ftp://mirrors.kernel.org/gnu/screen/ \ http://cschubert.com/distfiles/ \ LOCAL/cy MAINTAINER= cy@FreeBSD.org COMMENT= Multi-screen window manager LICENSE= GPLv3 OPTIONS_DEFINE= INFO NETHACK XTERM_256 SHOWENC SYSTEM_SCREENRC OPTIONS_DEFAULT= INFO NETHACK XTERM_256 SOCKETS SYSTEM_SCREENRC \ NCURSES_DEFAULT OPTIONS_SINGLE= IPC NCURSES OPTIONS_SINGLE_IPC= SOCKETS NAMED_PIPES OPTIONS_SINGLE_NCURSES= NCURSES_DEFAULT NCURSES_BASE NCURSES_PORT NETHACK_DESC= Enable nethack-style messages XTERM_256_DESC= Enable support for 256 colour xterm SHOWENC_DESC= Show encoding on the status line SOCKETS_DESC= Use new (4.2.1+) sockets for IPC (default) NAMED_PIPES_DESC= Use legacy (4.0.3) named pipes for IPC (override) SYSTEM_SCREENRC_DESC= Install system screenrc with helpful status line NCURSES_DEFAULT_DESC= Depend on ncurses (ports if installed, otherwise base) NCURSES_BASE_DESC= Depend on ncurses in base NCURSES_PORT_DESC= Depend on devel/ncurses in ports NCURSES_DEFAULT_USES= ncurses NCURSES_BASE_USES= ncurses:base NCURSES_PORT_USES= ncurses:port OPTIONS_SUB= USES= gmake cpe MAKE_ARGS+= WITH_MAN=1 CPE_VENDOR= gnu .include .if ${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == i386 || \ ${ARCH} == powerpc64 SSP_CFLAGS?= -fno-stack-protector .endif GNU_CONFIGURE= yes CFLAGS+= -I${NCURSESINC} LDFLAGS+= -L${NCURSESLIB} .if ${PORT_OPTIONS:MINFO} INFO= screen MAKE_ARGS+= WITH_INFO=1 USES+= makeinfo .endif # Enables support for 256 colour xterm. Note that you may need to # set up a custom termcap entry or .screenrc which modifies termcap # to contain the following: Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm # .if ${PORT_OPTIONS:MXTERM_256} CFLAGS+= -DCOLORS256 .endif .if ! ${PORT_OPTIONS:MNETHACK} CFLAGS+= -DNONETHACK .endif # show encoding on the status line via option "showenc" .if ${PORT_OPTIONS:MSHOWENC} EXTRA_PATCHES+= ${FILESDIR}/opt-showencoding .endif post-patch: @${RM} ${WRKSRC}/doc/screen.info* @${REINPLACE_CMD} -e 's|/dev/ptmx|/nonexistent|' ${WRKSRC}/configure # Bug 191029: Users can choose whether to use sockets or named pipes. # Choose sockets if you don't know what the difference is. # Choose named pipes if your environment is heterogeneous, # using both screen 4.0.3 and 4.2.1. # Bug 191017 post-configure-NAMED_PIPES-on: @${ECHO_CMD} '#define NAMEDPIPE 1' >> ${WRKSRC}/config.h @${ECHO_CMD} User selected named pipes override set. ETCDIR?= ${PREFIX}/etc post-install: @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/etc/etcscreenrc \ ${STAGEDIR}${EXAMPLESDIR}/screenrc.sample-1 ${INSTALL_DATA} ${FILESDIR}/screenrc.sample \ ${STAGEDIR}${EXAMPLESDIR}/screenrc.sample-2 @${MKDIR} ${STAGEDIR}${ETCDIR} .if ${PORT_OPTIONS:MSYSTEM_SCREENRC} ${INSTALL_DATA} ${FILESDIR}/screenrc.sample \ ${STAGEDIR}${ETCDIR}/screenrc.sample .else ${INSTALL_DATA} ${WRKSRC}/etc/etcscreenrc \ ${STAGEDIR}${ETCDIR}/screenrc.sample .endif .include Index: head/sysutils/screen/distinfo =================================================================== --- head/sysutils/screen/distinfo (revision 525894) +++ head/sysutils/screen/distinfo (revision 525895) @@ -1,3 +1,3 @@ -TIMESTAMP = 1570534280 -SHA256 (screen-4.7.0.tar.gz) = da775328fa783bd2a787d722014dbd99c6093effc11f337827604c2efc5d20c1 -SIZE (screen-4.7.0.tar.gz) = 854192 +TIMESTAMP = 1581479972 +SHA256 (screen-4.8.0.tar.gz) = 6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1 +SIZE (screen-4.8.0.tar.gz) = 854854 Index: head/sysutils/screen/files/patch-extern.h =================================================================== --- head/sysutils/screen/files/patch-extern.h (revision 525894) +++ head/sysutils/screen/files/patch-extern.h (nonexistent) @@ -1,10 +0,0 @@ ---- extern.h.orig 2019-10-01 15:08:00.000000000 -0700 -+++ extern.h 2019-10-28 19:37:41.584313000 -0700 -@@ -235,6 +235,7 @@ - /* termcap.c */ - extern int InitTermcap __P((int, int)); - extern char *MakeTermcap __P((int)); -+extern void DumpTermcap __P((int, FILE *)); - extern char *gettermcapstring __P((char *)); - #ifdef MAPKEYS - extern int remap __P((int, int)); Property changes on: head/sysutils/screen/files/patch-extern.h ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/sysutils/screen/files/patch-term.c =================================================================== --- head/sysutils/screen/files/patch-term.c (revision 525894) +++ head/sysutils/screen/files/patch-term.c (nonexistent) @@ -1,10 +0,0 @@ ---- term.c.orig 2019-10-01 15:08:00.000000000 -0700 -+++ term.c 2019-10-28 19:37:41.585983000 -0700 -@@ -197,6 +197,7 @@ - { "F1", T_STR }, KMAPDEF("\033[23~") - { "F2", T_STR }, KMAPDEF("\033[24~") - /* extra keys for vt220 (David.Leonard@it.uq.edu.au) */ -+/* define T_FEXTRA */ - { "F3", T_STR }, - { "F4", T_STR }, - { "F5", T_STR }, Property changes on: head/sysutils/screen/files/patch-term.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/sysutils/screen/files/patch-fileio.c =================================================================== --- head/sysutils/screen/files/patch-fileio.c (revision 525894) +++ head/sysutils/screen/files/patch-fileio.c (nonexistent) @@ -1,14 +0,0 @@ ---- fileio.c.orig 2019-10-01 15:08:00.000000000 -0700 -+++ fileio.c 2019-10-28 19:37:41.585000000 -0700 -@@ -480,10 +480,7 @@ - break; - - case DUMP_TERMCAP: -- if ((p = index(MakeTermcap(fore->w_aflag), '=')) != NULL) { -- fputs(++p, f); -- putc('\n', f); -- } -+ DumpTermcap(fore->w_aflag, f); - break; - - #ifdef COPY_PASTE Property changes on: head/sysutils/screen/files/patch-fileio.c ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/sysutils/screen/files/patch-os.h =================================================================== --- head/sysutils/screen/files/patch-os.h (revision 525894) +++ head/sysutils/screen/files/patch-os.h (revision 525895) @@ -1,33 +1,24 @@ --- os.h.orig 2019-10-01 15:08:00.000000000 -0700 +++ os.h 2019-10-28 19:37:41.585526000 -0700 @@ -250,9 +250,11 @@ #endif #if defined(UTMPOK) || defined(BUGGYGETLOGIN) -# if defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux) +# if (defined(SVR4) && !defined(DGUX) && !defined(__hpux) && !defined(linux)) || defined(__FreeBSD_version) # include -# define UTMPFILE UTMPX_FILE +# ifdef UTMPX_FILE /* GNU extension */ +# define UTMPFILE UTMPX_FILE +# endif # define utmp utmpx # define getutent getutxent # define getutid getutxid -@@ -507,7 +509,7 @@ - */ - - #ifndef TERMCAP_BUFSIZE --# define TERMCAP_BUFSIZE 2048 -+# define TERMCAP_BUFSIZE 1023 - #endif - - #ifndef MAXPATHLEN @@ -524,6 +526,6 @@ /* Changing those you won't be able to attach to your old sessions * when changing those values in official tree don't forget to bump * MSG_VERSION */ -#define MAXTERMLEN 32 +#define MAXTERMLEN 63 #define MAXLOGINLEN 256 Index: head/sysutils/screen/files/patch-termcap.c =================================================================== --- head/sysutils/screen/files/patch-termcap.c (revision 525894) +++ head/sysutils/screen/files/patch-termcap.c (revision 525895) @@ -1,114 +1,15 @@ ---- termcap.c.orig 2019-10-01 15:08:00.000000000 -0700 -+++ termcap.c 2019-10-28 19:37:41.586957000 -0700 -@@ -75,11 +75,10 @@ - - char *extra_incap, *extra_outcap; - --static const char TermcapConst[] = "\\\n\ --\t:DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:UP=\\E[%dA:bs:bt=\\E[Z:\\\n\ --\t:cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:ct=\\E[3g:\\\n\ --\t:do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\\\n\ --\t:le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:"; -+static const char TermcapConst[] = "DO=\\E[%dB:LE=\\E[%dD:RI=\\E[%dC:\ -+UP=\\E[%dA:bs:bt=\\E[Z:cd=\\E[J:ce=\\E[K:cl=\\E[H\\E[J:cm=\\E[%i%d;%dH:\ -+ct=\\E[3g:do=^J:nd=\\E[C:pt:rc=\\E8:rs=\\Ec:sc=\\E7:st=\\EH:up=\\EM:\ -+le=^H:bl=^G:cr=^M:it#8:ho=\\E[H:nw=\\EE:ta=^I:is=\\E)0:"; - - char * - gettermcapstring(s) -@@ -227,7 +226,7 @@ - (D_CKM && (InStr(D_CKM, "\033[M") || InStr(D_CKM, "\033[<")))) - { - D_CXT = 1; -- kmapdef[0] = SaveStr(D_CKM); -+ kmapdef[0] = D_CKM ? SaveStr(D_CKM) : NULL; - } - /* "be" seems to be standard for xterms... */ - if (D_CXT) -@@ -362,11 +361,7 @@ +--- termcap.c.orig 2020-02-05 12:09:38.000000000 -0800 ++++ termcap.c 2020-02-11 20:10:12.747990000 -0800 +@@ -361,11 +361,7 @@ if (D_CG0) { if (D_CS0 == 0) -#ifdef TERMINFO - D_CS0 = "\033(%p1%c"; -#else - D_CS0 = "\033(%."; -#endif + D_CS0 = "\033(%p1%c"; /* Old ncurses can't handle %. */ if (D_CE0 == 0) D_CE0 = "\033(B"; D_AC = 0; -@@ -827,21 +822,13 @@ - char *s; - { - register int n; -- -- if (tcLineLen + (n = strlen(s)) > 55 && Termcaplen < TERMCAP_BUFSIZE - 4 - 1) -- { -- strcpy(Termcap + Termcaplen, "\\\n\t:"); -- Termcaplen += 4; -- tcLineLen = 0; -- } -+ n=strlen(s); - if (Termcaplen + n < TERMCAP_BUFSIZE - 1) - { - strcpy(Termcap + Termcaplen, s); - Termcaplen += n; - tcLineLen += n; - } -- else -- Panic(0, "TERMCAP overflow - sorry."); - } - - /* -@@ -1077,6 +1064,12 @@ - { - if (i >= T_KEYPAD) /* don't put keypad codes in TERMCAP */ - continue; /* - makes it too big */ -+#if (TERMCAP_BUF < 1024) -+ if (i >= T_FEXTRA && i < T_BACKTAB) /* also skip extra vt220 keys */ -+ continue; -+ if (i > T_BACKTAB && i < T_NAVIGATE) /* more vt220 keys */ -+ continue; -+#endif - if (i >= T_CURSOR && i < T_OCAPS) - { - act = &umtab[i - (T_CURSOR - T_OCAPS + T_CAPS)]; -@@ -1129,6 +1122,37 @@ - } - debug("MakeTermcap: end\n"); - return Termcap; -+} -+ -+#define TERMCAP_MAX_WIDTH 63 -+void -+DumpTermcap(aflag, f) -+int aflag; -+FILE *f; -+{ -+ register const char *p, *pe; -+ int n, col=0; -+ -+ if ((p = index(MakeTermcap(aflag), '=')) == NULL) -+ return; -+ p++; -+ debug1("DumpTermcap: '%s'\n", p); -+ /* write termcap entry with wrapping */ -+ while((pe = index(p, ':'))) -+ { -+ n = pe - p + 1; -+ if((col > 8) && ((col + n) > TERMCAP_MAX_WIDTH)) -+ { -+ fwrite("\\\n\t:", 1, 4, f); -+ col = 8; -+ } -+ fwrite(p, 1, n, f); -+ col += n; -+ p = ++pe; -+ } -+ if(*p) -+ fwrite(p, 1, strlen(p), f); -+ fputc('\n', f); - } - - static void