summaryrefslogtreecommitdiff
path: root/core/readline
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-03-17 03:42:22 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-03-17 03:42:22 +0000
commitd8fdc79f0eff1e0a0c630ec38a5792640c0f8311 (patch)
treeefb83c2c44bb7e9057d3d83cbc5e664c98596e4d /core/readline
parentdac65ee415245f1e492217dd3a3e1ea6d04a29ff (diff)
Mon Mar 17 03:39:34 UTC 2014
Diffstat (limited to 'core/readline')
-rw-r--r--core/readline/PKGBUILD48
-rw-r--r--core/readline/readline-6.3-dispatch-multikey.patch16
-rw-r--r--core/readline/readline-6.3-vi-last.patch15
3 files changed, 62 insertions, 17 deletions
diff --git a/core/readline/PKGBUILD b/core/readline/PKGBUILD
index 052244dac..3057ba59b 100644
--- a/core/readline/PKGBUILD
+++ b/core/readline/PKGBUILD
@@ -1,41 +1,57 @@
-# $Id: PKGBUILD 206524 2014-03-01 06:07:23Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id: PKGBUILD 207976 2014-03-16 10:09:09Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=readline
_basever=6.3
_patchlevel=000 #prepare for some patches
pkgver=$_basever #.$_patchlevel
-pkgrel=1
-pkgdesc="GNU readline library"
+pkgrel=3
+pkgdesc='GNU readline library'
arch=('i686' 'x86_64')
-url="http://tiswww.case.edu/php/chet/readline/rltop.html"
+url='http://tiswww.case.edu/php/chet/readline/rltop.html'
license=('GPL')
depends=('glibc' 'ncurses')
backup=('etc/inputrc')
options=('!emptydirs')
install=readline.install
source=(http://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz{,.sig}
- inputrc)
-if [ $_patchlevel -gt 00 ]; then
+ inputrc
+ readline-6.3-vi-last.patch
+ readline-6.3-dispatch-multikey.patch)
+
+if [[ $_patchlevel -gt 0 ]]; then
for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//./}-$(printf "%03d" $p){,.sig})
done
fi
+
md5sums=('33c8fb279e981274f485fd91da77e94a'
'SKIP'
- '58d54966c1191db45973cb3191ac621a')
-
+ '58d54966c1191db45973cb3191ac621a'
+ 'fcfe0a50c69f56f66ad04127a927862e'
+ 'ee4e0df0dbf7e80783b7aa198c67fb45')
-build() {
- cd ${srcdir}/${pkgname}-$_basever
+prepare() {
+ cd $pkgname-$pkgver
for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
msg "applying patch readline${_basever//./}-$(printf "%03d" $p)"
- patch -p0 -i $srcdir/readline${_basever//./}-$(printf "%03d" $p)
+ patch -p0 -i ../readline${_basever//./}-$(printf "%03d" $p)
done
- # Remove RPATH from shared objects (FS#14366)
+ # patch from upstream mailing list to fix vi mode
+ patch -p2 -i ../readline-6.3-vi-last.patch
+
+ # patch from upstream mailing list to fix the crash after pressing Delete twice
+ patch -p2 -i ../readline-6.3-dispatch-multikey.patch
+
+ # remove RPATH from shared objects (FS#14366)
sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf
+}
+
+build() {
+ cd $pkgname-$pkgver
# build with -fPIC for x86_64 (FS#15634)
[[ $CARCH == "x86_64" ]] && CFLAGS="$CFLAGS -fPIC"
@@ -45,8 +61,6 @@ build() {
}
package() {
- cd ${srcdir}/${pkgname}-$_basever
- make DESTDIR=${pkgdir} install
-
- install -Dm644 ${srcdir}/inputrc ${pkgdir}/etc/inputrc
+ make -C $pkgname-$pkgver DESTDIR="$pkgdir" install
+ install -Dm644 inputrc "$pkgdir"/etc/inputrc
}
diff --git a/core/readline/readline-6.3-dispatch-multikey.patch b/core/readline/readline-6.3-dispatch-multikey.patch
new file mode 100644
index 000000000..2624083a7
--- /dev/null
+++ b/core/readline/readline-6.3-dispatch-multikey.patch
@@ -0,0 +1,16 @@
+*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400
+--- lib/readline/readline.c 2014-03-10 14:15:02.000000000 -0400
+***************
+*** 745,749 ****
+
+ RL_CHECK_SIGNALS ();
+! if (r == 0) /* success! */
+ {
+ _rl_keyseq_chain_dispose ();
+--- 745,750 ----
+
+ RL_CHECK_SIGNALS ();
+! /* We only treat values < 0 specially to simulate recursion. */
+! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */
+ {
+ _rl_keyseq_chain_dispose ();
diff --git a/core/readline/readline-6.3-vi-last.patch b/core/readline/readline-6.3-vi-last.patch
new file mode 100644
index 000000000..59153a4db
--- /dev/null
+++ b/core/readline/readline-6.3-vi-last.patch
@@ -0,0 +1,15 @@
+*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400
+--- lib/readline/readline.c 2014-03-07 15:20:33.000000000 -0500
+***************
+*** 965,969 ****
+ if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+ key != ANYOTHERKEY &&
+! rl_key_sequence_length == 1 && /* XXX */
+ _rl_vi_textmod_command (key))
+ _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+--- 965,969 ----
+ if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+ key != ANYOTHERKEY &&
+! _rl_dispatching_keymap == vi_movement_keymap &&
+ _rl_vi_textmod_command (key))
+ _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);