This switches the editors/beav port from old 4.3BSD tty ioctls to
termios. While there, I also did a general overhaul of the port:
* Use the latest (2004) Debian version as upstream.
* Improved description, from Debian.
* Miscellaneous clean-up.
I don't know if Kevin still wants to be listed as maintainer...
ok?
Index: Makefile
===================================================================
RCS file: /cvs/ports/editors/beav/Makefile,v
retrieving revision 1.26
diff -u -p -r1.26 Makefile
--- Makefile 11 Mar 2013 11:02:49 -0000 1.26
+++ Makefile 11 Dec 2013 20:40:06 -0000
@@ -2,23 +2,37 @@
COMMENT= binary editor and viewer
-DISTNAME= beav_1.40-15
-PKGNAME= beav-1.40.15
+VERSION= 1.40
+# Debian
+REV= 18
+
+DISTNAME= beav-140
+PKGNAME= beav-${VERSION}.${REV}
CATEGORIES= editors
MAINTAINER= Kevin Lo <[email protected]>
+# GPLv2+
PERMIT_PACKAGE_CDROM= Yes
-WANTLIB= c curses
+
+WANTLIB= c ncurses
MASTER_SITES= ${MASTER_SITE_DEBIAN:=main/b/beav/}
-WRKDIST= ${WRKDIR}/beav-1.40
+DISTFILES= beav_${VERSION}.orig.tar.gz
+PATCHFILES= beav_${VERSION}-${REV}.diff.gz
+PATCH_DIST_STRIP=-p1
+
+ALL_TARGET= beav
+MAKE_FLAGS= CC="${CC}" CFLAGS="${CFLAGS} -DUNIX -DBSD"
-USE_GROFF = Yes
NO_TEST= Yes
-post-install:
+do-install:
+ ${INSTALL_PROGRAM} ${WRKBUILD}/beav ${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/beav.1 ${PREFIX}/man/man1
+ ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/beav
+ ${INSTALL_DATA} ${WRKSRC}/beav140.txt ${PREFIX}/share/doc/beav/beav.txt
@perl -i -pe 's:%%PREFIX%%:${TRUEPREFIX}:' ${PREFIX}/man/man1/beav.1
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/editors/beav/distinfo,v
retrieving revision 1.4
diff -u -p -r1.4 distinfo
--- distinfo 5 Apr 2007 15:38:07 -0000 1.4
+++ distinfo 11 Dec 2013 20:40:06 -0000
@@ -1,5 +1,4 @@
-MD5 (beav_1.40-15.tar.gz) = smFBn67WFcUAwwr0ZPzgHQ==
-RMD160 (beav_1.40-15.tar.gz) = m/QcFl1y7HYmFAQrIe6FirDzqmM=
-SHA1 (beav_1.40-15.tar.gz) = ig6SLfKVUEOrKYJEsUmL2viaLhs=
-SHA256 (beav_1.40-15.tar.gz) = 3ANhHD0dn8KN6VVr2j+tAADWys5/9EAbeRv8ToUMfBE=
-SIZE (beav_1.40-15.tar.gz) = 131476
+SHA256 (beav_1.40-18.diff.gz) = eQRiTnHK1MOtybAgAnjoQXLxNog9bi/Mytl3+Q0XY6M=
+SHA256 (beav_1.40.orig.tar.gz) = etkF5BJL8QXKDiE9ghK+0jFVmCWsEViHlLm+epE5ndw=
+SIZE (beav_1.40-18.diff.gz) = 14218
+SIZE (beav_1.40.orig.tar.gz) = 128103
Index: patches/patch-Makefile
===================================================================
RCS file: patches/patch-Makefile
diff -N patches/patch-Makefile
--- patches/patch-Makefile 22 May 2010 15:05:29 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-$OpenBSD: patch-Makefile,v 1.4 2010/05/22 15:05:29 espie Exp $
---- Makefile.orig Sat Dec 13 09:34:59 1997
-+++ Makefile Sat May 22 16:56:49 2010
-@@ -1,7 +1,6 @@
- # This is the makefile for BSD UNIX
- #CFLAGS= -g -DUNIX
--CFLAGS= -O2 -DUNIX
--CC=gcc
-+CFLAGS+= -DUNIX -DBSD
-
- OFILES= basic.o ebcdic.o fileio.o region.o text.o wangpc.o \
- buffer.o echo.o language.o main.o search.o tty.o window.o \
-@@ -16,10 +15,16 @@ CFILES= basic.c ebcdic.c fileio.c region.c text.c
-
- HFILES= def.h prototyp.h
-
--beav: $(OFILES)
-- $(CC) $(CFLAGS) $(OFILES) -lncurses -o beav
-+all beav: $(OFILES)
-+ $(CC) $(CFLAGS) $(OFILES) -lcurses -o beav
-
-+install: beav
-+ $(BSD_INSTALL_PROGRAM) beav $(PREFIX)/bin
-+ mkdir -p $(PREFIX)/share/doc/beav
-+ $(BSD_INSTALL_DATA) beav140.txt $(PREFIX)/share/doc/beav/beav.txt
-+ $(BSD_INSTALL_MAN) beav.1 $(PREFIX)/man/man1
-+
- clean:
- rm -f *.o beav
-
--(OFILES): $(HFILES)
-+$(OFILES): $(HFILES)
Index: patches/patch-beav_1
===================================================================
RCS file: /cvs/ports/editors/beav/patches/patch-beav_1,v
retrieving revision 1.3
diff -u -p -r1.3 patch-beav_1
--- patches/patch-beav_1 22 May 2010 15:05:29 -0000 1.3
+++ patches/patch-beav_1 11 Dec 2013 20:40:06 -0000
@@ -1,10 +1,19 @@
$OpenBSD: patch-beav_1,v 1.3 2010/05/22 15:05:29 espie Exp $
---- beav.1.orig Sun Aug 20 20:05:22 1995
-+++ beav.1 Sat May 22 16:56:49 2010
+--- beav.1.orig Wed Dec 11 16:58:55 2013
++++ beav.1 Wed Dec 11 17:12:31 2013
+@@ -23,7 +23,7 @@ These commands can be used to navigate around the wind
+ .br
+ \fImove-back-line\fB Ctl-P\fB moves up\fR
+ .br
+-\fImove-forw-char\fb Ctl-F\fB moves right\fR
++\fImove-forw-char\fB Ctl-F\fB moves right\fR
+ .br
+ \fImove-forw-line\fB Ctl-N\fB moves down\fR
+ .br
@@ -59,5 +59,5 @@ The \fIquit-no-save\fR command,\fB Ctl-X Ctl-C\fR, wil
If there is any data that has not been saved you will be warned.
.PP
.SH FILES
--/usr/doc/beav/beav.txt
+-/usr/share/doc/beav/beav140.txt.gz
+%%PREFIX%%/share/doc/beav/beav.txt
Index: patches/patch-def_h
===================================================================
RCS file: /cvs/ports/editors/beav/patches/patch-def_h,v
retrieving revision 1.2
diff -u -p -r1.2 patch-def_h
--- patches/patch-def_h 22 May 2010 15:05:29 -0000 1.2
+++ patches/patch-def_h 11 Dec 2013 20:40:06 -0000
@@ -1,32 +1,12 @@
$OpenBSD: patch-def_h,v 1.2 2010/05/22 15:05:29 espie Exp $
---- def.h.orig Sat Dec 13 09:34:59 1997
-+++ def.h Sat May 22 16:59:41 2010
-@@ -12,10 +12,12 @@
- #ifndef DEF_DEF
+--- def.h.orig Wed Dec 11 17:22:35 2013
++++ def.h Wed Dec 11 17:23:14 2013
+@@ -13,6 +13,8 @@
#define DEF_DEF
#define LINT_ARGS 1 /* enable lint type checking */
--#include "stdio.h"
-+#include <stdio.h>
+ #include <stdio.h>
++#include <stdlib.h>
+#include <string.h>
-+#include <stdlib.h>
#ifdef UNIX
--#include "sys/types.h"
-+#include <sys/types.h>
- #endif /* UNIX */
-
- #define BACKUP 1 /* Make backup file. */
-@@ -562,13 +564,6 @@ extern int auto_update;
- extern int flush_count;
- extern int rowb;
- extern char file_off_bad;
--
--/*
-- * Standard I/O.
-- */
--extern char *malloc ();
--extern char *strcpy ();
--extern char *strcat ();
-
- #ifndef NOPROTO
- #include "prototyp.h"
+ #include <sys/types.h>
Index: patches/patch-file_c
===================================================================
RCS file: /cvs/ports/editors/beav/patches/patch-file_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-file_c
--- patches/patch-file_c 22 May 2010 15:05:29 -0000 1.1
+++ patches/patch-file_c 11 Dec 2013 20:40:06 -0000
@@ -1,7 +1,7 @@
$OpenBSD: patch-file_c,v 1.1 2010/05/22 15:05:29 espie Exp $
---- file.c.orig Sat May 22 17:01:04 2010
-+++ file.c Sat May 22 17:01:12 2010
-@@ -9,7 +9,6 @@
+--- file.c.orig Wed Dec 11 20:07:15 2013
++++ file.c Wed Dec 11 20:07:15 2013
+@@ -10,7 +10,6 @@
char load_file ();
char readin ();
void makename ();
Index: patches/patch-random_c
===================================================================
RCS file: /cvs/ports/editors/beav/patches/patch-random_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-random_c
--- patches/patch-random_c 22 May 2010 15:05:29 -0000 1.1
+++ patches/patch-random_c 11 Dec 2013 20:40:06 -0000
@@ -1,7 +1,7 @@
$OpenBSD: patch-random_c,v 1.1 2010/05/22 15:05:29 espie Exp $
---- random.c.orig Sat May 22 17:01:30 2010
-+++ random.c Sat May 22 17:01:47 2010
-@@ -72,7 +72,6 @@ extern bool read_pat_mode;
+--- random.c.orig Wed Dec 11 20:07:15 2013
++++ random.c Wed Dec 11 20:07:15 2013
+@@ -73,7 +73,6 @@ extern bool read_pat_mode;
extern bool dont_repeat;
extern BUFFER sav_buf;
Index: patches/patch-symbol_c
===================================================================
RCS file: /cvs/ports/editors/beav/patches/patch-symbol_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-symbol_c
--- patches/patch-symbol_c 22 May 2010 15:05:29 -0000 1.2
+++ patches/patch-symbol_c 11 Dec 2013 20:40:06 -0000
@@ -1,15 +1,15 @@
$OpenBSD: patch-symbol_c,v 1.2 2010/05/22 15:05:29 espie Exp $
---- symbol.c.orig Sat Dec 13 09:34:59 1997
-+++ symbol.c Sat May 22 17:02:25 2010
-@@ -6,7 +6,6 @@
- */
+--- symbol.c.orig Wed Dec 11 20:07:15 2013
++++ symbol.c Wed Dec 11 20:07:15 2013
+@@ -8,7 +8,6 @@
+ #include <string.h>
#include "def.h"
-void keyadd ();
void keydup ();
-@@ -219,7 +218,6 @@ extern char save_region (); /* Save region in named
bu
+@@ -221,7 +220,6 @@ extern char save_region (); /* Save region in named
bu
* Defined by "spawn.c".
*/
extern char spawncli (); /* Run CLI in a subjob. */
Index: patches/patch-tcap_c
===================================================================
RCS file: /cvs/ports/editors/beav/patches/patch-tcap_c,v
retrieving revision 1.2
diff -u -p -r1.2 patch-tcap_c
--- patches/patch-tcap_c 22 May 2010 15:05:29 -0000 1.2
+++ patches/patch-tcap_c 11 Dec 2013 20:40:06 -0000
@@ -1,7 +1,7 @@
$OpenBSD: patch-tcap_c,v 1.2 2010/05/22 15:05:29 espie Exp $
---- tcap.c.orig Sat Dec 13 09:34:59 1997
-+++ tcap.c Sat May 22 16:56:49 2010
-@@ -39,7 +39,7 @@ char *UP, PC, *CM, *CE, *CL, *SO, *SE, *TI, *TE; /* DR
+--- tcap.c.orig Wed Dec 11 17:17:29 2013
++++ tcap.c Wed Dec 11 17:17:29 2013
+@@ -41,7 +41,7 @@ char *UP, PC, *CM, *CE, *CL, *SO, *SE, *TI, *TE; /* DR
#ifdef BSD
#include <sys/ioctl.h>
Index: patches/patch-termio_c
===================================================================
RCS file: /cvs/ports/editors/beav/patches/patch-termio_c,v
retrieving revision 1.1
diff -u -p -r1.1 patch-termio_c
--- patches/patch-termio_c 2 Aug 2002 03:45:19 -0000 1.1
+++ patches/patch-termio_c 11 Dec 2013 20:40:06 -0000
@@ -1,13 +1,120 @@
-$OpenBSD: patch-termio_c,v 1.1 2002/08/02 03:45:19 kevlo Exp $
---- termio.c.orig Sat Jul 21 13:35:05 2001
-+++ termio.c Thu Aug 1 15:26:10 2002
-@@ -12,6 +12,9 @@
+$OpenBSD$
+--- termio.c.orig Wed Dec 11 21:35:47 2013
++++ termio.c Wed Dec 11 21:36:39 2013
+@@ -8,11 +8,16 @@
+
+ #ifdef UNIX /* System V */
+
++#if defined(__GLIBC__) || \
++ defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
++#define TERMIOS 1
++#endif
++
+ #include <unistd.h>
+ #include <errno.h>
+ #include <stdio.h>
#include <signal.h>
- #ifdef BSD
+-#ifdef BSD
++#if defined(BSD) && !defined(TERMIOS)
#include <sys/ioctl.h>
-+#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
-+#include <sys/ioctl_compat.h>
-+#endif
#else
#ifdef OS2
- #ifndef __EMX__
+@@ -28,7 +33,8 @@
+ #include <sgtty.h>
+ #define O_NDELAY O_NONBLOCK
+ #else
+-#ifdef __GLIBC__
++#ifdef TERMIOS
++#include <sys/ioctl.h>
+ #include <termios.h>
+ #else
+ #include <termio.h>
+@@ -44,7 +50,7 @@ int kbdpoll; /* in O_NDELAY mode */
+ int kbdqp; /* there is a char in kbdq */
+ char kbdq; /* char we've already read */
+
+-#ifdef BSD
++#if defined(BSD) && !defined(TERMIOS)
+ struct sgttyb otermb;
+ struct sgttyb ntermb;
+ #else
+@@ -58,7 +64,7 @@ struct sgttyb otermio; /* original terminal
character
+ struct sgttyb ntermio; /* charactoristics to use inside */
+ struct tchars tchars, tcharsorig;
+ #else
+-#ifdef __GLIBC__
++#ifdef TERMIOS
+ #include <sys/ioctl.h>
+ struct termios otermio;
+ struct termios ntermio;
+@@ -86,7 +92,7 @@ int ncol; /* Terminal size, columns.
*/
+ void
+ ttopen ()
+ {
+-#ifdef BSD
++#if defined(BSD) && !defined(TERMIOS)
+ #ifdef ULTRIX
+ struct winsize ttysize;
+ #else
+@@ -137,8 +143,13 @@ ttopen ()
+ tchars.t_stopc = tchars.t_eofc = tchars.t_brkc = -1;
+ ioctl (0, TIOCSETC, &tchars);
+ #else
+-#ifdef __GLIBC__
++#ifdef TERMIOS
++#ifdef TIOCGWINSZ
++ struct ttysize ttysize;
++#endif
+ tcgetattr(0,&otermio);
++ ntermio.c_ispeed = otermio.c_ispeed;
++ ntermio.c_ospeed = otermio.c_ospeed;
+ #else
+ ioctl (0, TCGETA, &otermio);/* save old settings */
+ ntermio.c_line = otermio.c_line;
+@@ -149,7 +160,7 @@ ttopen ()
+ ntermio.c_lflag = 0;
+ ntermio.c_cc[VMIN] = 1;
+ ntermio.c_cc[VTIME] = 0;
+-#ifdef __GLIBC__
++#ifdef TERMIOS
+ tcsetattr(0,TCSANOW,&ntermio);
+ #else
+ ioctl (0, TCSETAW, &ntermio); /* and activate them */
+@@ -161,8 +172,17 @@ ttopen ()
+ /* on all screens we are not sure of the initial position of the cursor */
+ ttrow = 999;
+ ttcol = 999;
+- nrow = NROW;
+- ncol = NCOL;
++#if defined(TERMIOS) && defined(TIOCGWINSZ)
++ if (ioctl (0, TIOCGWINSZ, &ttysize) == 0)
++ {
++ nrow = ttysize.ts_lines;
++ ncol = ttysize.ts_cols;
++ } else
++#endif
++ {
++ nrow = NROW;
++ ncol = NCOL;
++ }
+ #endif /* BSD */
+ }
+
+@@ -174,7 +194,7 @@ ttopen ()
+ void
+ ttclose ()
+ {
+-#ifdef BSD
++#if defined(BSD) && !defined(TERMIOS)
+ if (ioctl (0, TIOCSETP, &otermb) == -1) /* restore terminal settings */
+ printf ("closing ioctl on dev 0 failure, error = %d\n", errno);
+ #else
+@@ -186,7 +206,7 @@ ttclose ()
+ ioctl (0, TIOCSETC, &tcharsorig) == -1)
+ printf ("closing ioctl on dev 0 failure, error = %d\n", errno);
+ #else
+-#ifdef __GLIBC__
++#ifdef TERMIOS
+ if( tcsetattr(0,TCSANOW,&otermio) == -1)
+ #else
+ if (ioctl (0, TCSETAW, &otermio) == -1) /* restore terminal settings */
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/editors/beav/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 15 Nov 1997 00:04:25 -0000 1.1.1.1
+++ pkg/DESCR 11 Dec 2013 20:40:06 -0000
@@ -1,9 +1,11 @@
-BEAV (Binary Editor And Viewer), is a full featured binary file
-editor. Just about any operation that you could want to do to a
binary
-file is possible with BEAV. You can insert or delete in the middle of
-a file thereby changing it's size. You can edit multiple files in
-multiple windows and cut and paste between them. You can display and
-edit data in hex, octal, decimal, binary, ascii, or ebcdic formats. You
-can display data in byte, word, or long word formats in either Intel or
-Motorola byte ordering. You can send the formatted display mode to a
-file or printer.
+beav (Binary Editor And Viewer) is an editor for binary files
+containing arbitrary data. With beav, you can edit a file in HEX,
+ASCII, EBCDIC, OCTAL, DECIMAL, and BINARY. You can display but not
+edit data in FLOAT mode. You can search or search and replace in
+any of these modes. Data can be displayed in BYTE, WORD, or DOUBLE
+WORD formats. While displaying WORDS or DOUBLE WORDS the data can
+be displayed in INTEL's or MOTOROLA's byte ordering. Data of any
+length can be inserted at any point in the file. The source of this
+data can be the keyboard, another buffer, or a file. Any data that
+is being displayed can be sent to a printer in the displayed format.
+Files that are bigger than memory can be handled.
--
Christian "naddy" Weisgerber [email protected]