svn commit: r374476 - in head/x11: . xvt xvt/files

Vanilla I. Shu vanilla at FreeBSD.org
Wed Dec 10 16:05:50 UTC 2014


Author: vanilla
Date: Wed Dec 10 16:05:45 2014
New Revision: 374476
URL: https://svnweb.freebsd.org/changeset/ports/374476
QAT: https://qat.redports.org/buildarchive/r374476/

Log:
  Add xvt 3.0.0, xterm replacement supporting color, transparency, and
  more, with less.
  
  PR:		ports/195840
  Submitted by:	Chris Hutchinson <portmaster at BSDforge.com>

Added:
  head/x11/xvt/
  head/x11/xvt/Makefile   (contents, props changed)
  head/x11/xvt/distinfo   (contents, props changed)
  head/x11/xvt/files/
  head/x11/xvt/files/extra-utmp_patch-src__logging.c   (contents, props changed)
  head/x11/xvt/files/extra-utmpx_patch-src__logging.c   (contents, props changed)
  head/x11/xvt/files/patch-Makefile.in   (contents, props changed)
  head/x11/xvt/files/patch-autoconf__config.h.in   (contents, props changed)
  head/x11/xvt/files/patch-doc__Makefile.in   (contents, props changed)
  head/x11/xvt/files/patch-src__command.c   (contents, props changed)
  head/x11/xvt/files/patch-src__init.c   (contents, props changed)
  head/x11/xvt/files/patch-src__screen.c   (contents, props changed)
  head/x11/xvt/files/patch-src__xvt.h   (contents, props changed)
  head/x11/xvt/pkg-descr   (contents, props changed)
  head/x11/xvt/pkg-plist   (contents, props changed)
Modified:
  head/x11/Makefile

Modified: head/x11/Makefile
==============================================================================
--- head/x11/Makefile	Wed Dec 10 15:52:21 2014	(r374475)
+++ head/x11/Makefile	Wed Dec 10 16:05:45 2014	(r374476)
@@ -472,6 +472,7 @@
     SUBDIR += xvinfo
     SUBDIR += xvkbd
     SUBDIR += xvmcinfo
+    SUBDIR += xvt
     SUBDIR += xwatchwin
     SUBDIR += xwd
     SUBDIR += xwininfo

Added: head/x11/xvt/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/Makefile	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,147 @@
+# Created by: Chris Hutchinson <portmaster at BSDforge.com>
+# $FreeBSD$
+
+PORTNAME=	xvt
+PORTVERSION=	3.0.0
+CATEGORIES+=	x11
+MASTER_SITES=	http://BSDforge.com/projects/source/x11/xvt/
+
+MAINTAINER=	portmaster at bsdforge.com
+COMMENT=	Xterm replacement supporting color, transparency, and more, with less
+
+LICENSE=	BSD2CLAUSE GPLv2
+LICENSE_COMB=	multi
+
+USES=		libtool perl5 tar:xz
+USE_LDCONFIG=	yes
+USE_PERL5=	build patch
+USE_XORG=	xpm
+GNU_CONFIGURE=	yes
+
+DESKTOP_ENTRIES=	"xvt" "xvt terminal emulator" \
+			"${PREFIX}/share/pixmaps/xvt.png" \
+			"xvt" "GNOME;X-XFCE;X-Xfce-Toplevel;System;Utility;TerminalEmulator;" \
+			false
+
+OPTIONS_DEFINE=	256_COLOR BIG5 EUCJ GB GREEK KR LINESPACE MENUBAR NEXT XVT \
+		SJIS SMART TRANSPARENCY XIM XTERM
+
+256_COLOR_DESC=		Build with 256-color support
+BIG5_DESC=		Build with BIG5 support
+EUCJ_DESC=		Build with EUC Japanese support
+GB_DESC=		Build with GB support
+GREEK_DESC=		Build with greek keyboard support
+KR_DESC=		Build with EUC Korean support
+LINESPACE_DESC=		Build with linespace support
+MENUBAR_DESC=		Build with menubar support
+NEXT_DESC=		Build with NeXT scrollbar
+XVT_DESC=		Build with xvt scrollbar
+SJIS_DESC=		Build with Shift JIS support
+SMART_DESC=		Build with smart resize support
+TRANSPARENCY_DESC=	Build with transparency support
+XIM_DESC=		Build with XIM support
+XTERM_DESC=		Build with Xterm scrollbar
+
+OPTIONS_DEFAULT=256_COLOR GB LINESPACE MENUBAR NEXT XVT SMART TRANSPARENCY \
+		XIM XTERM
+
+CONFIGURE_ARGS=	--enable-utmp --enable-lastlog \
+		--with-xpm --enable-xpm-background --enable-shared \
+		--enable-mousewheel --disable-languages
+LIBS+=		-lutil
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} >= 900007
+CONFIGURE_ARGS+=	--disable-wtmp
+EXTRA_PATCHES+=	${FILESDIR}/extra-utmpx_patch-src__logging.c
+.else
+CONFIGURE_ARGS+=	--enable-wtmp
+EXTRA_PATCHES+=	${FILESDIR}/extra-utmp_patch-src__logging.c
+.endif
+
+# enable 256 color
+.if ${PORT_OPTIONS:M256_COLOR}
+CONFIGURE_ARGS+=	--enable-256-color
+.endif
+
+# enable big5 support
+.if ${PORT_OPTIONS:MBIG5}
+CONFIGURE_ARGS+=	--with-encoding=big5 --enable-languages
+.endif
+
+# enable euc japanese support
+.if ${PORT_OPTIONS:MEUCJ}
+CONFIGURE_ARGS+=	--with-encoding=eucj --enable-languages
+.endif
+
+# enable gb support
+.if ${PORT_OPTIONS:MGB}
+CONFIGURE_ARGS+=	--with-encoding=gb --enable-languages
+.endif
+
+# enable greek keyboard support
+.if ${PORT_OPTIONS:MGREEK}
+CONFIGURE_ARGS+=	--enable-greek
+.endif
+
+# enable euc korean support
+.if ${PORT_OPTIONS:MKR}
+CONFIGURE_ARGS+=	--with-encoding=kr --enable-languages
+.endif
+
+# enable line-spacing
+.if ${PORT_OPTIONS:MLINESPACE}
+CONFIGURE_ARGS+=	--enable-linespace
+.endif
+
+# enable menubar
+.if ${PORT_OPTIONS:MMENUBAR}
+CONFIGURE_ARGS+=	--enable-menubar
+.endif
+
+# enable NeXT style scrollbar
+.if ${PORT_OPTIONS:MNEXT}
+CONFIGURE_ARGS+=	--enable-next-scroll
+.endif
+
+# enable xvt style scrollbar
+.if ${PORT_OPTIONS:MXVT}
+CONFIGURE_ARGS+=	--enable-xvt-scroll
+.endif
+
+# enable shift jis support
+.if ${PORT_OPTIONS:MSJIS}
+CONFIGURE_ARGS+=	--with-encoding=sjis --enable-languages
+.endif
+
+# enable smart resize
+.if ${PORT_OPTIONS:MSMART}
+CONFIGURE_ARGS+=	--enable-smart-resize
+.endif
+
+# enable transparency support
+.if ${PORT_OPTIONS:MTRANSPARENCY}
+CONFIGURE_ARGS+=	--enable-transparency
+.endif
+
+# XIM (X Input Method) protocol support
+.if ${PORT_OPTIONS:MXIM}
+CONFIGURE_ARGS+=	--enable-xim
+.endif
+
+# enable Xterm style scrollbar
+.if ${PORT_OPTIONS:MXTERM}
+CONFIGURE_ARGS+=	--enable-xterm-scroll
+.endif
+
+post-patch:
+	@${PERL} -pi -e 's|(PTYCHAR2\s+"[^"]+)"|\1ghijklmnopqrstuv"|' \
+		${WRKSRC}/src/ptytty.c
+
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/xvt; \
+	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libxvt.so.1.0.0 ;\
+	${CP} ${WRKSRC}/W11/wrap/xvt.png ${STAGEDIR}${PREFIX}/share/pixmaps/xvt.png
+
+.include <bsd.port.post.mk>

Added: head/x11/xvt/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/distinfo	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,2 @@
+SHA256 (xvt-3.0.0.tar.xz) = 9a6c760dd9b6f0ffa6a43016030c0e4f9a3210d25a1127411010edce79f63707
+SIZE (xvt-3.0.0.tar.xz) = 430904

Added: head/x11/xvt/files/extra-utmp_patch-src__logging.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/extra-utmp_patch-src__logging.c	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,12 @@
+--- src/logging.c.orig	2014-12-09 13:29:03.000000000 -0800
++++ src/logging.c	2014-12-09 13:29:08.000000000 -0800
+@@ -82,7 +82,8 @@
+     else if (sscanf(pty, "pts/%d", &i) == 1)
+ 	sprintf(ut_id, "vt%02x", (i & 0xff));	/* sysv naming */
+ #endif
+-    else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3)) {
++    else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3) &&
++		STRNCMP(pty, "pts/", 4)) {
+ 	xvt_print_error("can't parse tty name \"%s\"", pty);
+ 	return;
+     }

Added: head/x11/xvt/files/extra-utmpx_patch-src__logging.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/extra-utmpx_patch-src__logging.c	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,50 @@
+--- src/logging.c.orig	2014-12-09 13:47:18.000000000 -0800
++++ src/logging.c	2014-12-09 13:47:35.000000000 -0800
+@@ -82,7 +82,8 @@
+     else if (sscanf(pty, "pts/%d", &i) == 1)
+ 	sprintf(ut_id, "vt%02x", (i & 0xff));	/* sysv naming */
+ #endif
+-    else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3)) {
++    else if (STRNCMP(pty, "pty", 3) && STRNCMP(pty, "tty", 3) &&
++		STRNCMP(pty, "pts/", 4)) {
+ 	xvt_print_error("can't parse tty name \"%s\"", pty);
+ 	return;
+     }
+@@ -137,7 +138,9 @@
+     STRNCPY(utx->ut_user, (pwent && pwent->pw_name) ? pwent->pw_name : "?",
+ 	    sizeof(utx->ut_user));
+     STRNCPY(utx->ut_id, ut_id, sizeof(utx->ut_id));
++#if 0
+     utx->ut_session = getsid(0);
++#endif
+     utx->ut_tv.tv_sec = time(NULL);
+     utx->ut_tv.tv_usec = 0;
+     utx->ut_pid = r->h->cmd_pid;
+@@ -202,7 +205,7 @@
+ 	xvt_update_wtmp(XVT_WTMP_FILE, ut);
+ #  endif
+ # endif
+-# ifdef HAVE_STRUCT_UTMPX
++# if 0
+ 	updwtmpx(XVT_WTMPX_FILE, utx);
+ # endif
+     }
+@@ -254,7 +257,9 @@
+     if ((tmputx = getutxid(utx)))	/* position to entry in utmp file */
+ 	utx = tmputx;
+     utx->ut_type = DEAD_PROCESS;
++#if 0
+     utx->ut_session = getsid(0);
++#endif
+     utx->ut_tv.tv_sec = time(NULL);
+     utx->ut_tv.tv_usec = 0;
+ #endif
+@@ -274,7 +279,7 @@
+ 	xvt_update_wtmp(XVT_WTMP_FILE, ut);
+ #  endif
+ # endif
+-# ifdef HAVE_STRUCT_UTMPX
++# if 0
+ 	updwtmpx(XVT_WTMPX_FILE, utx);
+ # endif
+     }

Added: head/x11/xvt/files/patch-Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/patch-Makefile.in	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,19 @@
+*** Makefile.in.orig	Sat Aug  9 15:44:33 2003
+--- Makefile.in	Sat Aug  9 15:44:39 2003
+***************
+*** 9,15 ****
+  first_rule: all
+  dummy:
+  
+! subdirs = src doc rclock src/graphics src/test
+  allsubdirs = W11 $(subdirs)
+  
+  DIST =	INSTALL README.configure configure Makefile Makefile.in ChangeLog
+--- 9,15 ----
+  first_rule: all
+  dummy:
+  
+! subdirs = src doc #rclock src/graphics src/test
+  allsubdirs = W11 $(subdirs)
+  
+  DIST =	INSTALL README.configure configure Makefile Makefile.in ChangeLog

Added: head/x11/xvt/files/patch-autoconf__config.h.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/patch-autoconf__config.h.in	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,18 @@
+--- autoconf/config.h.in.orig	2014-12-09 14:01:13.000000000 -0800
++++ autoconf/config.h.in	2014-12-09 14:01:19.000000000 -0800
+@@ -313,13 +313,13 @@
+ #undef XVT_UTMPX_FILE
+ 
+ /* Define location of utmp */
+-#undef XVT_UTMP_FILE
++#define XVT_UTMP_FILE "/var/run/utmp"
+ 
+ /* Define location of wtmpx */
+ #undef XVT_WTMPX_FILE
+ 
+ /* Define location of wtmp */
+-#undef XVT_WTMP_FILE
++#define XVT_WTMP_FILE "/var/log/wtmp"
+ 
+ /* The size of a `char', as computed by sizeof. */
+ #undef SIZEOF_CHAR

Added: head/x11/xvt/files/patch-doc__Makefile.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/patch-doc__Makefile.in	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,12 @@
+--- doc/Makefile.in.orig	2014-12-09 14:08:52.000000000 -0800
++++ doc/Makefile.in	2014-12-09 14:08:56.000000000 -0800
+@@ -40,9 +40,6 @@
+ 
+ all:	xvt.1
+ 
+-xvt.1: xvt.tbl Makefile
+-	@if test x$(TBL) = x; then : ; else echo "$(TBL) $(srcdir)/xvt.tbl | grep -v '^.lf' > xvt.1"; $(TBL) $(srcdir)/xvt.tbl | grep -v '^.lf' > xvt.1 ; fi
+-
+ SEDREPLACE = -e 's%@XVT_VERSION@%$(VERSION)%g;'\
+ 	     -e 's%@XVT_LSMDATE@%$(LSMDATE)%g;'\
+ 	     -e 's%@XVT_DATE@%$(DATE)%g;'\

Added: head/x11/xvt/files/patch-src__command.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/patch-src__command.c	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,11 @@
+--- src/command.c.orig	2014-12-09 12:06:57.000000000 -0800
++++ src/command.c	2014-12-09 12:07:41.000000000 -0800
+@@ -3098,7 +3098,7 @@
+     unsigned char   buf[256];
+ 
+     va_start(arg_ptr, fmt);
+-    vsprintf((char *)buf, fmt, arg_ptr);
++    vsnprintf((char *)buf, sizeof(buf), fmt, arg_ptr);
+     va_end(arg_ptr);
+     xvt_tt_write(r, buf, (unsigned int)STRLEN(buf));
+ }

Added: head/x11/xvt/files/patch-src__init.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/patch-src__init.c	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,22 @@
+--- src/init.c.orig	2014-12-09 12:50:59.000000000 -0800
++++ src/init.c	2014-12-09 12:54:55.000000000 -0800
+@@ -1531,6 +1531,9 @@
+ # ifdef VEOL2
+     tio->c_cc[VEOL2] = VDISABLE;
+ # endif
++# ifdef VERASE2
++    tio->c_cc[VERASE2] = CERASE2;
++# endif
+ # ifdef VSWTC
+     tio->c_cc[VSWTC] = VDISABLE;
+ # endif
+@@ -1651,6 +1654,9 @@
+ # ifdef VEOL2
+     FOO(VEOL2, "VEOL2");
+ # endif
++# ifdef VERASE2
++    FOO(VERASE2, "VERASE2");
++# endif
+ # ifdef VSWTC
+     FOO(VSWTC, "VSWTC");
+ # endif

Added: head/x11/xvt/files/patch-src__screen.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/patch-src__screen.c	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,62 @@
+--- src/screen.c.orig	2014-12-09 13:14:46.000000000 -0800
++++ src/screen.c	2014-12-09 13:14:57.000000000 -0800
+@@ -3520,6 +3520,7 @@
+     Atom32          target_list[3];
+ #endif
+     Atom            target;
++    Atom            property;
+     XTextProperty   ct;
+     XICCEncodingStyle style;
+     char           *cl[2], dummy[1];
+@@ -3532,6 +3533,15 @@
+     ev.target = rq->target;
+     ev.time = rq->time;
+ 
++	/* ICCCM: 2.2. Responsibilities of the Selection Owner
++	 * SelectionRequest:
++	 * If the specified property is None , the requestor
++	 * an obsolete client. Owners are encouraged
++	 * to support these clients by using the specified
++	 * target atom as the property name to be used for
++	 * the reply.
++	 */
++	property = (rq->property == 0) ? rq->target : rq->property;
+     if (rq->target == r->h->xa[XA_TARGETS]) {
+ 	target_list[0] = (Atom32) r->h->xa[XA_TARGETS];
+ 	target_list[1] = (Atom32) XA_STRING;
+@@ -3539,7 +3549,7 @@
+ #ifdef USE_XIM
+ 	target_list[3] = (Atom32) r->h->xa[XA_COMPOUND_TEXT];
+ #endif
+-	XChangeProperty(r->Xdisplay, rq->requestor, rq->property, XA_ATOM,
++	XChangeProperty(r->Xdisplay, rq->requestor, property, XA_ATOM,
+ 			(8 * sizeof(target_list[0])), PropModeReplace,
+ 			(unsigned char *)target_list,
+ 			(sizeof(target_list) / sizeof(target_list[0])));
+@@ -3547,10 +3557,10 @@
+     } else if (rq->target == r->h->xa[XA_MULTIPLE]) {
+ 	/* TODO: Handle MULTIPLE */
+     } else if (rq->target == r->h->xa[XA_TIMESTAMP] && r->selection.text) {
+-	XChangeProperty(r->Xdisplay, rq->requestor, rq->property, XA_INTEGER,
+-			(8 * sizeof(Time)), PropModeReplace,
++	XChangeProperty(r->Xdisplay, rq->requestor, property, XA_INTEGER,
++			32, PropModeReplace,
+ 			(unsigned char *)&r->h->selection_time, 1);
+-	ev.property = rq->property;
++	ev.property = property;
+     } else if (rq->target == XA_STRING
+ 	       || rq->target == r->h->xa[XA_COMPOUND_TEXT]
+ 	       || rq->target == r->h->xa[XA_TEXT]) {
+@@ -3588,10 +3598,10 @@
+ 	    ct.value = (unsigned char *)cl[0];
+ 	    ct.nitems = selectlen;
+ 	}
+-	XChangeProperty(r->Xdisplay, rq->requestor, rq->property,
++	XChangeProperty(r->Xdisplay, rq->requestor, property,
+ 			target, 8, PropModeReplace,
+ 			ct.value, (int)ct.nitems);
+-	ev.property = rq->property;
++	ev.property = property;
+ #ifdef USE_XIM
+ 	if (freect)
+ 	    XFree(ct.value);

Added: head/x11/xvt/files/patch-src__xvt.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/files/patch-src__xvt.h	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,11 @@
+--- src/xvt.h.orig	2014-12-09 12:59:35.000000000 -0800
++++ src/xvt.h	2014-12-09 12:59:39.000000000 -0800
+@@ -804,7 +804,7 @@
+ #define xvt_Gr_ButtonRelease(x,y)	xvt_Gr_ButtonReport (r, 'R',(x),(y))
+ 
+ #ifdef UTMP_SUPPORT
+-# if !defined(XVT_UTMPX_FILE) || !defined(HAVE_STRUCT_UTMPX)
++# if !defined(HAVE_STRUCT_UTMPX)
+ #  undef HAVE_UTMPX_H
+ #  undef HAVE_STRUCT_UTMPX
+ # endif

Added: head/x11/xvt/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/pkg-descr	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,8 @@
+xvt - an xterm replacement supporting color, transparency, and more, with less!
+
+xvt, simply continues on the original authors work -- John Bovey, University
+of Kent at Canterbury. With few exceptions, it does everything Xterm does.
+But also does a great deal more, with less overhead. This version will also
+leverage vt(4), FreeBSD's new console driver. Which replaces syscons(4).
+
+WWW: http://BSDforge.com/projects/x11/xvt/

Added: head/x11/xvt/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11/xvt/pkg-plist	Wed Dec 10 16:05:45 2014	(r374476)
@@ -0,0 +1,11 @@
+ at mode 4711
+bin/xvt
+bin/xvt-3.0.0
+ at mode
+include/xvtlib.h
+lib/libxvt.a
+lib/libxvt.so
+lib/libxvt.so.1
+lib/libxvt.so.1.0.0
+man/man1/xvt.1.gz
+share/pixmaps/xvt.png


More information about the svn-ports-head mailing list