development/beav: Added (curses-based binary/hex editor).
Signed-off-by: David Spencer <idlemoor@slackbuilds.org>
This commit is contained in:
parent
84b33ca105
commit
adfaaae3f6
|
@ -0,0 +1,15 @@
|
|||
beav (curses-based binary/hex editor)
|
||||
|
||||
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.
|
||||
|
||||
This build of beav includes a patch to support moving around the file
|
||||
with the arrow keys on most terminals, without having to create a custom
|
||||
.beavrc. The original key bindings are still active, if you're already
|
||||
used to them.
|
|
@ -0,0 +1,24 @@
|
|||
diff -Naur beav-140/symbol.c beav-140.patched/symbol.c
|
||||
--- beav-140/symbol.c 2018-08-07 16:32:10.287386812 -0400
|
||||
+++ beav-140.patched/symbol.c 2018-08-07 18:01:00.110213510 -0400
|
||||
@@ -280,16 +280,20 @@
|
||||
{
|
||||
{ KCTRL | 'A', dispshift, MSG_byte_shift, 0 },
|
||||
{ KCTRL | 'B', backchar, MSG_back_char, SSRCH | SRPLC },
|
||||
+ { KMETA | KCTRL | KCTLX | 'D', backchar, MSG_back_char, SSRCH | SRPLC },
|
||||
{ KCTRL | 'C', quit, MSG_quit, 0 }, /* pvr */
|
||||
{ KCTRL | 'D', forwdel, MSG_forw_del_char, SMOD | SSIZE | SSRCH | SRPLC },
|
||||
{ KCTRL | 'E', dispswapbyte, MSG_toggle_swap, SSRCH | SRPLC }, /* pvr */
|
||||
{ KCTRL | 'F', forwchar, MSG_forw_char, SSRCH | SRPLC },
|
||||
+ { KMETA | KCTRL | KCTLX | 'C', forwchar, MSG_forw_char, SSRCH | SRPLC },
|
||||
{ KCTRL | 'G', ctrlg, MSG_abort, SSRCH | SRPLC },
|
||||
{ KCTRL | 'I', selfinsert, MSG_ins_self, SMOD | SSRCH | SRPLC },
|
||||
{ KCTRL | 'H', backdel, MSG_back_del_char, SMOD | SSIZE | SSRCH | SRPLC },
|
||||
{ KCTRL | 'L', refresh, MSG_refresh, SSRCH | SRPLC },
|
||||
{ KCTRL | 'N', forwline, MSG_forw_line, SSRCH | SRPLC },
|
||||
+ { KMETA | KCTRL | KCTLX | 'B', forwline, MSG_forw_line, SSRCH | SRPLC },
|
||||
{ KCTRL | 'P', backline, MSG_back_line, SSRCH | SRPLC },
|
||||
+ { KMETA | KCTRL | KCTLX | 'A', backline, MSG_back_line, SSRCH | SRPLC },
|
||||
{ KCTRL | 'Q', quote, MSG_quote, 0 },
|
||||
{ KCTRL | 'R', recall, MSG_recall, SSRCH | SRPLC },
|
||||
{ KCTRL | 'T', twiddle, MSG_twiddle, SMOD | SSRCH | SRPLC },
|
|
@ -0,0 +1,118 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware build script for beav
|
||||
|
||||
# Written by B. Watson (yalhcru@gmail.com)
|
||||
|
||||
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||||
|
||||
# This is a seriously old piece of software. The timestamps inside
|
||||
# the tarball all read 'Nov 30 1994' so it's almost 24 years old (old
|
||||
# enough to buy beer, even in the US). I'm adding it to SBo mainly for
|
||||
# old-timers to use, people who are used to using beav on other distros
|
||||
# or OSes.
|
||||
|
||||
# At this point, the original maintainer and homepage for beav are long
|
||||
# gone, so I'm considering the Debian page for it as the 'official'
|
||||
# source. VERSION matches the Debian patchlevel, e.g. 1.40-18 => 1.40_18.
|
||||
# Also included a compile fix patch based on one from AUR, plus my own
|
||||
# patch to add the arrow keys to the default keybindings.
|
||||
|
||||
# Entertaining piece of trivia for you: the Debian maintainer of beav
|
||||
# is none other than Sam Hocevar, who also invented the WTFPL license
|
||||
# that's used for this script and most of my other SBo builds. Hi, Sam!
|
||||
|
||||
PRGNAM=beav
|
||||
VERSION=${VERSION:-1.40_18}
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
case "$( uname -m )" in
|
||||
i?86) ARCH=i586 ;;
|
||||
arm*) ARCH=arm ;;
|
||||
*) ARCH=$( uname -m ) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
CWD=$(pwd)
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
|
||||
if [ "$ARCH" = "i586" ]; then
|
||||
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
SLKCFLAGS="-O2 -fPIC"
|
||||
LIBDIRSUFFIX="64"
|
||||
else
|
||||
SLKCFLAGS="-O2"
|
||||
LIBDIRSUFFIX=""
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
MAINVER="$( echo $VERSION | cut -d_ -f1 )"
|
||||
TARVER="$( echo $MAINVER | sed 's/\.//g' )"
|
||||
PATCHVER="$( echo $VERSION | cut -d_ -f2 )"
|
||||
|
||||
rm -rf $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
rm -rf $PRGNAM-$TARVER
|
||||
tar xvf $CWD/${PRGNAM}_$MAINVER.orig.tar.gz
|
||||
cd $PRGNAM-$TARVER
|
||||
chown -R root:root .
|
||||
chmod 644 *
|
||||
|
||||
# apply Debian's patches
|
||||
zcat $CWD/${PRGNAM}_$MAINVER-$PATCHVER.diff.gz | patch -p1
|
||||
|
||||
# compile fix patch is basically this from AUR:
|
||||
# https://aur.archlinux.org/cgit/aur.git/tree/beav_on_archlinux.patch?h=beav
|
||||
# but with SLKCFLAGS support in the Makefile, and redone as a -p1 patch.
|
||||
patch -p1 < $CWD/compilefixes.diff
|
||||
|
||||
# Arrow key support:
|
||||
|
||||
# FFS, arrow keys have been standard on damn near all keyboards for
|
||||
# 40+ years now, even creaky old dinosaurs like me use them. beav only
|
||||
# supports them if you go thru the laborious process of defining them
|
||||
# in your .beavrc.
|
||||
|
||||
# This patch adds them to the default keybind list (without affecting
|
||||
# the original ^B ^F ^N ^P bindings, so they still work).
|
||||
|
||||
# Bindings tested & working with:
|
||||
# linux console, xterm, rxvt, urxvt, xfce4-terminal, konsole.
|
||||
|
||||
# Might not work on some oddball terminal, but in that case, the user
|
||||
# can define their weird arrow key combos in .beavrc as usual. Patch was
|
||||
# sent to the Debian maintainer (Sam Hocevar) on 20180807.
|
||||
patch -p1 < $CWD/arrow_keys.diff
|
||||
|
||||
# fix Debianized doc dir reference
|
||||
sed -i \
|
||||
's:/usr/share/doc[^ ]*:/usr/doc/'$PRGNAM-$VERSION/$PRGNAM$TARVER.txt: \
|
||||
$PRGNAM.1
|
||||
|
||||
# can't use CFLAGS for this...
|
||||
make SLKCFLAGS="$SLKCFLAGS"
|
||||
|
||||
install -D -s -m0755 -oroot -groot $PRGNAM $PKG/usr/bin/$PRGNAM
|
||||
mkdir -p $PKG/usr/man/man1
|
||||
gzip -9c $PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
|
||||
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a read.me $PRGNAM$TARVER.txt debian/changelog $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
|
@ -0,0 +1,12 @@
|
|||
PRGNAM="beav"
|
||||
VERSION="1.40_18"
|
||||
HOMEPAGE="https://packages.debian.org/sid/beav"
|
||||
DOWNLOAD="http://http.debian.net/debian/pool/main/b/beav/beav_1.40.orig.tar.gz \
|
||||
http://http.debian.net/debian/pool/main/b/beav/beav_1.40-18.diff.gz"
|
||||
MD5SUM="9c30dce1697f468682eb2aae464de175 \
|
||||
63a2f7a63334abc020cd37e86d349ec1"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
REQUIRES=""
|
||||
MAINTAINER="B. Watson"
|
||||
EMAIL="yalhcru@gmail.com"
|
|
@ -0,0 +1,67 @@
|
|||
diff -Naur beav-140/Makefile beav-140.patched/Makefile
|
||||
--- beav-140/Makefile 2018-08-07 16:09:02.441431939 -0400
|
||||
+++ beav-140.patched/Makefile 2018-08-07 16:20:08.928410267 -0400
|
||||
@@ -1,6 +1,6 @@
|
||||
# This is the makefile for BSD UNIX
|
||||
-#CFLAGS= -g -DUNIX
|
||||
-CFLAGS= -g -DUNIX -Wall
|
||||
+CFLAGS= -DUNIX $(SLKCFLAGS)
|
||||
+#CFLAGS= -g -DUNIX -Wall
|
||||
CC=gcc
|
||||
|
||||
OFILES= basic.o ebcdic.o fileio.o region.o text.o wangpc.o \
|
||||
diff -Naur beav-140/basic.c beav-140.patched/basic.c
|
||||
--- beav-140/basic.c 1994-11-30 12:43:34.000000000 -0500
|
||||
+++ beav-140.patched/basic.c 2018-08-07 16:19:18.515411907 -0400
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
#include "def.h"
|
||||
|
||||
-bool move_ptr ();
|
||||
bool forwchar ();
|
||||
bool wind_on_dot ();
|
||||
bool backline ();
|
||||
diff -Naur beav-140/def.h beav-140.patched/def.h
|
||||
--- beav-140/def.h 2018-08-07 16:09:02.443431938 -0400
|
||||
+++ beav-140.patched/def.h 2018-08-07 16:19:18.515411907 -0400
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#ifdef UNIX
|
||||
#include <sys/types.h>
|
||||
+#include <string.h>
|
||||
#endif /* UNIX */
|
||||
|
||||
#define BACKUP 1 /* Make backup file. */
|
||||
diff -Naur beav-140/file.c beav-140.patched/file.c
|
||||
--- beav-140/file.c 2018-08-07 16:09:02.448431938 -0400
|
||||
+++ beav-140.patched/file.c 2018-08-07 16:19:18.515411907 -0400
|
||||
@@ -10,7 +10,6 @@
|
||||
char load_file ();
|
||||
char readin ();
|
||||
void makename ();
|
||||
-bool writeout ();
|
||||
bool parse_f_name ();
|
||||
A32 ffseek ();
|
||||
A32 file_len ();
|
||||
diff -Naur beav-140/random.c beav-140.patched/random.c
|
||||
--- beav-140/random.c 2018-08-07 16:09:02.455431938 -0400
|
||||
+++ beav-140.patched/random.c 2018-08-07 16:19:18.516411907 -0400
|
||||
@@ -73,7 +73,6 @@
|
||||
extern bool dont_repeat;
|
||||
extern BUFFER sav_buf;
|
||||
|
||||
-char dec_chr_ok ();
|
||||
ulong get_long ();
|
||||
void wind_on_dot_all ();
|
||||
|
||||
diff -Naur beav-140/symbol.c beav-140.patched/symbol.c
|
||||
--- beav-140/symbol.c 2018-08-07 16:09:02.459431938 -0400
|
||||
+++ beav-140.patched/symbol.c 2018-08-07 16:19:18.516411907 -0400
|
||||
@@ -8,7 +8,6 @@
|
||||
#include <string.h>
|
||||
#include "def.h"
|
||||
|
||||
-void keyadd ();
|
||||
void keydup ();
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description.
|
||||
# Line up the first '|' above the ':' following the base package name, and
|
||||
# the '|' on the right side marks the last column you can put a character in.
|
||||
# You must make exactly 11 lines for the formatting to be correct. It's also
|
||||
# customary to leave one space after the ':' except on otherwise blank lines.
|
||||
|
||||
|-----handy-ruler------------------------------------------------------|
|
||||
beav: beav (curses-based binary/hex editor)
|
||||
beav:
|
||||
beav: BEAV (Binary Editor And Viewer), is a full featured binary file
|
||||
beav: editor. Just about any operation that you could want to do to a
|
||||
beav: binary file is possible with BEAV. You can insert or delete in the
|
||||
beav: middle of a file thereby changing it's size. You can edit multiple
|
||||
beav: files in multiple windows and cut and paste between them. You can
|
||||
beav: display and edit data in hex, octal, decimal, binary, ascii, or
|
||||
beav: ebcdic formats. You can display data in byte, word, or long word
|
||||
beav: formats in either Intel or Motorola byte ordering. You can send the
|
||||
beav: formatted display mode to a file or printer.
|
Loading…
Reference in New Issue