summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rwxr-xr-xutils/rlfe/DEPENDS2
-rwxr-xr-xutils/rlfe/DETAILS22
-rw-r--r--utils/rlfe/HISTORY3
-rwxr-xr-xutils/rlfe/INSTALL1
-rwxr-xr-xutils/rlfe/PRE_BUILD5
-rw-r--r--utils/rlfe/readline.patch20
7 files changed, 56 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 38e594ded2..62082d423d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2015-07-21 Vlad Glagolev <stealth@sourcemage.org>
+ * utils/rlfe: new spell, readline front-end processor
+
2015-07-21 Ladislav Hagara <hgr@vabo.cz>
* perl-cpan/term-animation: new spell, ASCII sprite animation framework
* utils/asciiquarium: new spell, aquarium/sea animation in ASCII art
diff --git a/utils/rlfe/DEPENDS b/utils/rlfe/DEPENDS
new file mode 100755
index 0000000000..97a76ba880
--- /dev/null
+++ b/utils/rlfe/DEPENDS
@@ -0,0 +1,2 @@
+depends ncurses &&
+depends readline
diff --git a/utils/rlfe/DETAILS b/utils/rlfe/DETAILS
new file mode 100755
index 0000000000..1a3bef7857
--- /dev/null
+++ b/utils/rlfe/DETAILS
@@ -0,0 +1,22 @@
+ SPELL=rlfe
+ VERSION=0.4
+ SOURCE=${SPELL}-${VERSION}.tar.gz
+ SOURCE_URL[0]=http://per.bothner.com/software/${SOURCE}
+ SOURCE_HASH=sha512:76ccb171aeb76777fa9e2776e6eedf6d83216d29877479bded79c1c4f90b435c40b5e0c12dde21784b408c17d51019ba26563ff8a707ee8392e08e4e547fa0ff
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ WEB_SITE=http://per.bothner.com/software/
+ LICENSE[0]=GPL
+ ENTERED=20150721
+ SHORT="readline front-end processor"
+cat << EOF
+rlfe (ReadLine Front-End) is a "universal wrapper" around readline.
+
+You specify an interactive program to run (typically a shell), and readline is
+used to edit input lines.
+
+There are other such front-ends; what distinguishes this one is that it monitors
+the state of the inferior pty, and if the inferior program switches its terminal
+to raw mode, then rlfe passes your characters through directly. This basically
+means you can run your entire session (including bash and terminal-mode emacs)
+under rlfe.
+EOF
diff --git a/utils/rlfe/HISTORY b/utils/rlfe/HISTORY
new file mode 100644
index 0000000000..8418fb0cd1
--- /dev/null
+++ b/utils/rlfe/HISTORY
@@ -0,0 +1,3 @@
+2015-07-21 Vlad Glagolev <stealth@sourcemage.org>
+ * DETAILS, DEPENDS, PRE_BUILD, INSTALL, readline.patch: spell created,
+ version 0.4
diff --git a/utils/rlfe/INSTALL b/utils/rlfe/INSTALL
new file mode 100755
index 0000000000..d2bef406f7
--- /dev/null
+++ b/utils/rlfe/INSTALL
@@ -0,0 +1 @@
+install -vm 755 rlfe "${INSTALL_ROOT}/usr/bin/rlfe"
diff --git a/utils/rlfe/PRE_BUILD b/utils/rlfe/PRE_BUILD
new file mode 100755
index 0000000000..f38fe9663e
--- /dev/null
+++ b/utils/rlfe/PRE_BUILD
@@ -0,0 +1,5 @@
+mk_source_dir "${SOURCE_DIRECTORY}" &&
+cd "${SOURCE_DIRECTORY}" &&
+unpack_file &&
+
+patch -p0 < "${SPELL_DIRECTORY}/readline.patch"
diff --git a/utils/rlfe/readline.patch b/utils/rlfe/readline.patch
new file mode 100644
index 0000000000..9b97eb9fe7
--- /dev/null
+++ b/utils/rlfe/readline.patch
@@ -0,0 +1,20 @@
+--- rlfe.c.orig 2004-11-05 01:32:14.000000000 +0300
++++ rlfe.c 2015-07-21 11:14:12.857710397 +0300
+@@ -588,7 +588,7 @@
+ }
+ if (FD_ISSET (in_from_tty_fd, &in_set))
+ {
+- extern int readline_echoing_p;
++ extern int _rl_echoing_p;
+ struct termios term_master;
+ int do_canon = 1;
+ int do_icrnl = 1;
+@@ -605,7 +605,7 @@
+ {
+ do_canon = (term_master.c_lflag & ICANON) != 0;
+ do_icrnl = (term_master.c_lflag & ICRNL) != 0;
+- readline_echoing_p = (term_master.c_lflag & ECHO) != 0;
++ _rl_echoing_p = (term_master.c_lflag & ECHO) != 0;
+ DPRINT1 ("echo,canon,crnl:%03d\n",
+ 100 * readline_echoing_p
+ + 10 * do_canon