mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-24 10:02:29 +01:00
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
6 changed files with 255 additions and 0 deletions
15
development/beav/README
Normal file
15
development/beav/README
Normal file
|
@ -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.
|
24
development/beav/arrow_keys.diff
Normal file
24
development/beav/arrow_keys.diff
Normal file
|
@ -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 },
|
118
development/beav/beav.SlackBuild
Normal file
118
development/beav/beav.SlackBuild
Normal file
|
@ -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}
|
12
development/beav/beav.info
Normal file
12
development/beav/beav.info
Normal file
|
@ -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"
|
67
development/beav/compilefixes.diff
Normal file
67
development/beav/compilefixes.diff
Normal file
|
@ -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 ();
|
||||||
|
|
||||||
|
|
19
development/beav/slack-desc
Normal file
19
development/beav/slack-desc
Normal file
|
@ -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 a new issue