diff options
author | vanilla <vanilla@FreeBSD.org> | 2014-12-11 00:05:45 +0800 |
---|---|---|
committer | vanilla <vanilla@FreeBSD.org> | 2014-12-11 00:05:45 +0800 |
commit | c0215c2233cb023046bb3a84c359d98c8389f563 (patch) | |
tree | c6faa3cfaf16a9ac3b8201e76f92f67000bbe3bc /x11/xvt | |
parent | a96c525ff055f8bd3dfc4c42447ee84399237f04 (diff) | |
download | freebsd-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/Makefile | 147 | ||||
-rw-r--r-- | x11/xvt/distinfo | 2 | ||||
-rw-r--r-- | x11/xvt/files/extra-utmp_patch-src__logging.c | 12 | ||||
-rw-r--r-- | x11/xvt/files/extra-utmpx_patch-src__logging.c | 50 | ||||
-rw-r--r-- | x11/xvt/files/patch-Makefile.in | 19 | ||||
-rw-r--r-- | x11/xvt/files/patch-autoconf__config.h.in | 18 | ||||
-rw-r--r-- | x11/xvt/files/patch-doc__Makefile.in | 12 | ||||
-rw-r--r-- | x11/xvt/files/patch-src__command.c | 11 | ||||
-rw-r--r-- | x11/xvt/files/patch-src__init.c | 22 | ||||
-rw-r--r-- | x11/xvt/files/patch-src__screen.c | 62 | ||||
-rw-r--r-- | x11/xvt/files/patch-src__xvt.h | 11 | ||||
-rw-r--r-- | x11/xvt/pkg-descr | 8 | ||||
-rw-r--r-- | x11/xvt/pkg-plist | 11 |
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 |