aboutsummaryrefslogtreecommitdiffstats
path: root/x11/xvt
diff options
context:
space:
mode:
authorvanilla <vanilla@FreeBSD.org>2014-12-11 00:05:45 +0800
committervanilla <vanilla@FreeBSD.org>2014-12-11 00:05:45 +0800
commitc0215c2233cb023046bb3a84c359d98c8389f563 (patch)
treec6faa3cfaf16a9ac3b8201e76f92f67000bbe3bc /x11/xvt
parenta96c525ff055f8bd3dfc4c42447ee84399237f04 (diff)
downloadfreebsd-ports-gnome-c0215c2233cb023046bb3a84c359d98c8389f563.tar.gz
freebsd-ports-gnome-c0215c2233cb023046bb3a84c359d98c8389f563.tar.zst
freebsd-ports-gnome-c0215c2233cb023046bb3a84c359d98c8389f563.zip
Add xvt 3.0.0, xterm replacement supporting color, transparency, and
more, with less. PR: ports/195840 Submitted by: Chris Hutchinson <portmaster@BSDforge.com>
Diffstat (limited to 'x11/xvt')
-rw-r--r--x11/xvt/Makefile147
-rw-r--r--x11/xvt/distinfo2
-rw-r--r--x11/xvt/files/extra-utmp_patch-src__logging.c12
-rw-r--r--x11/xvt/files/extra-utmpx_patch-src__logging.c50
-rw-r--r--x11/xvt/files/patch-Makefile.in19
-rw-r--r--x11/xvt/files/patch-autoconf__config.h.in18
-rw-r--r--x11/xvt/files/patch-doc__Makefile.in12
-rw-r--r--x11/xvt/files/patch-src__command.c11
-rw-r--r--x11/xvt/files/patch-src__init.c22
-rw-r--r--x11/xvt/files/patch-src__screen.c62
-rw-r--r--x11/xvt/files/patch-src__xvt.h11
-rw-r--r--x11/xvt/pkg-descr8
-rw-r--r--x11/xvt/pkg-plist11
13 files changed, 385 insertions, 0 deletions
diff --git a/x11/xvt/Makefile b/x11/xvt/Makefile
new file mode 100644
index 000000000000..e18abcbe6948
--- /dev/null
+++ b/x11/xvt/Makefile
@@ -0,0 +1,147 @@
+# Created by: Chris Hutchinson <portmaster@BSDforge.com>
+# $FreeBSD$
+
+PORTNAME= xvt
+PORTVERSION= 3.0.0
+CATEGORIES+= x11
+MASTER_SITES= http://BSDforge.com/projects/source/x11/xvt/
+
+MAINTAINER= portmaster@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>
diff --git a/x11/xvt/distinfo b/x11/xvt/distinfo
new file mode 100644
index 000000000000..c2c223e9bf63
--- /dev/null
+++ b/x11/xvt/distinfo
@@ -0,0 +1,2 @@
+SHA256 (xvt-3.0.0.tar.xz) = 9a6c760dd9b6f0ffa6a43016030c0e4f9a3210d25a1127411010edce79f63707
+SIZE (xvt-3.0.0.tar.xz) = 430904
diff --git a/x11/xvt/files/extra-utmp_patch-src__logging.c b/x11/xvt/files/extra-utmp_patch-src__logging.c
new file mode 100644
index 000000000000..d2c539829daa
--- /dev/null
+++ b/x11/xvt/files/extra-utmp_patch-src__logging.c
@@ -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;
+ }
diff --git a/x11/xvt/files/extra-utmpx_patch-src__logging.c b/x11/xvt/files/extra-utmpx_patch-src__logging.c
new file mode 100644
index 000000000000..ec071a168302
--- /dev/null
+++ b/x11/xvt/files/extra-utmpx_patch-src__logging.c
@@ -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
+ }
diff --git a/x11/xvt/files/patch-Makefile.in b/x11/xvt/files/patch-Makefile.in
new file mode 100644
index 000000000000..f07f98d8a4d8
--- /dev/null
+++ b/x11/xvt/files/patch-Makefile.in
@@ -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
diff --git a/x11/xvt/files/patch-autoconf__config.h.in b/x11/xvt/files/patch-autoconf__config.h.in
new file mode 100644
index 000000000000..608333139701
--- /dev/null
+++ b/x11/xvt/files/patch-autoconf__config.h.in
@@ -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
diff --git a/x11/xvt/files/patch-doc__Makefile.in b/x11/xvt/files/patch-doc__Makefile.in
new file mode 100644
index 000000000000..48c390baf015
--- /dev/null
+++ b/x11/xvt/files/patch-doc__Makefile.in
@@ -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;'\
diff --git a/x11/xvt/files/patch-src__command.c b/x11/xvt/files/patch-src__command.c
new file mode 100644
index 000000000000..995854c0449b
--- /dev/null
+++ b/x11/xvt/files/patch-src__command.c
@@ -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));
+ }
diff --git a/x11/xvt/files/patch-src__init.c b/x11/xvt/files/patch-src__init.c
new file mode 100644
index 000000000000..85febc23474e
--- /dev/null
+++ b/x11/xvt/files/patch-src__init.c
@@ -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
diff --git a/x11/xvt/files/patch-src__screen.c b/x11/xvt/files/patch-src__screen.c
new file mode 100644
index 000000000000..c79e5c5e107c
--- /dev/null
+++ b/x11/xvt/files/patch-src__screen.c
@@ -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);
diff --git a/x11/xvt/files/patch-src__xvt.h b/x11/xvt/files/patch-src__xvt.h
new file mode 100644
index 000000000000..dc899723fe6b
--- /dev/null
+++ b/x11/xvt/files/patch-src__xvt.h
@@ -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
diff --git a/x11/xvt/pkg-descr b/x11/xvt/pkg-descr
new file mode 100644
index 000000000000..04378a800761
--- /dev/null
+++ b/x11/xvt/pkg-descr
@@ -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/
diff --git a/x11/xvt/pkg-plist b/x11/xvt/pkg-plist
new file mode 100644
index 000000000000..6f0ec1fa3e89
--- /dev/null
+++ b/x11/xvt/pkg-plist
@@ -0,0 +1,11 @@
+@mode 4711
+bin/xvt
+bin/xvt-3.0.0
+@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