mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-19 19:59:43 +00:00
Add xvt 3.0.0, xterm replacement supporting color, transparency, and
more, with less. PR: ports/195840 Submitted by: Chris Hutchinson <portmaster@BSDforge.com>
This commit is contained in:
parent
397f3fae08
commit
58859a833b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=374476
@ -472,6 +472,7 @@
|
||||
SUBDIR += xvinfo
|
||||
SUBDIR += xvkbd
|
||||
SUBDIR += xvmcinfo
|
||||
SUBDIR += xvt
|
||||
SUBDIR += xwatchwin
|
||||
SUBDIR += xwd
|
||||
SUBDIR += xwininfo
|
||||
|
147
x11/xvt/Makefile
Normal file
147
x11/xvt/Makefile
Normal file
@ -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>
|
2
x11/xvt/distinfo
Normal file
2
x11/xvt/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (xvt-3.0.0.tar.xz) = 9a6c760dd9b6f0ffa6a43016030c0e4f9a3210d25a1127411010edce79f63707
|
||||
SIZE (xvt-3.0.0.tar.xz) = 430904
|
12
x11/xvt/files/extra-utmp_patch-src__logging.c
Normal file
12
x11/xvt/files/extra-utmp_patch-src__logging.c
Normal file
@ -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;
|
||||
}
|
50
x11/xvt/files/extra-utmpx_patch-src__logging.c
Normal file
50
x11/xvt/files/extra-utmpx_patch-src__logging.c
Normal file
@ -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
|
||||
}
|
19
x11/xvt/files/patch-Makefile.in
Normal file
19
x11/xvt/files/patch-Makefile.in
Normal file
@ -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
|
18
x11/xvt/files/patch-autoconf__config.h.in
Normal file
18
x11/xvt/files/patch-autoconf__config.h.in
Normal file
@ -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
|
12
x11/xvt/files/patch-doc__Makefile.in
Normal file
12
x11/xvt/files/patch-doc__Makefile.in
Normal file
@ -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;'\
|
11
x11/xvt/files/patch-src__command.c
Normal file
11
x11/xvt/files/patch-src__command.c
Normal file
@ -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));
|
||||
}
|
22
x11/xvt/files/patch-src__init.c
Normal file
22
x11/xvt/files/patch-src__init.c
Normal file
@ -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
|
62
x11/xvt/files/patch-src__screen.c
Normal file
62
x11/xvt/files/patch-src__screen.c
Normal file
@ -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);
|
11
x11/xvt/files/patch-src__xvt.h
Normal file
11
x11/xvt/files/patch-src__xvt.h
Normal file
@ -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
|
8
x11/xvt/pkg-descr
Normal file
8
x11/xvt/pkg-descr
Normal file
@ -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/
|
11
x11/xvt/pkg-plist
Normal file
11
x11/xvt/pkg-plist
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user