diff --git a/core/readline/PKGBUILD b/core/readline/PKGBUILD new file mode 100644 index 000000000..d4078ecc7 --- /dev/null +++ b/core/readline/PKGBUILD @@ -0,0 +1,59 @@ +# $Id$ +# Maintainer: Allan McRae +# Contributor: judd + +# ALARM: Kevin Mihelich +# - for some reason, SHLIB_LIBS isn't populating through for our builds. +# - fixed with a sed. + +pkgname=readline +_basever=6.3 +_patchlevel=000 #prepare for some patches +pkgver=$_basever #.$_patchlevel +pkgrel=1.1 +pkgdesc="GNU readline library" +arch=('i686' 'x86_64') +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 + 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') + + +build() { + cd ${srcdir}/${pkgname}-$_basever + 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) + done + + # Remove RPATH from shared objects (FS#14366) + sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf + + # fix getting -lncurses through to SHLIB_LIBS + sed -i 's/SHLIB_LIBS = @SHLIB_LIBS@/SHLIB_LIBS = @SHLIB_LIBS@ -lncurses/' shlib/Makefile.in + + # build with -fPIC for x86_64 (FS#15634) + [[ $CARCH == "x86_64" ]] && CFLAGS="$CFLAGS -fPIC" + + ./configure --prefix=/usr + make SHLIB_LIBS=-lncurses +} + +package() { + cd ${srcdir}/${pkgname}-$_basever + make DESTDIR=${pkgdir} install + + install -Dm644 ${srcdir}/inputrc ${pkgdir}/etc/inputrc +} diff --git a/core/readline/inputrc b/core/readline/inputrc new file mode 100644 index 000000000..fd13a673b --- /dev/null +++ b/core/readline/inputrc @@ -0,0 +1,36 @@ +# do not bell on tab-completion +#set bell-style none + +set meta-flag on +set input-meta on +set convert-meta off +set output-meta on + +$if mode=emacs + +# for linux console and RH/Debian xterm +"\e[1~": beginning-of-line +"\e[4~": end-of-line +"\e[5~": beginning-of-history +"\e[6~": end-of-history +"\e[7~": beginning-of-line +"\e[3~": delete-char +"\e[2~": quoted-insert +"\e[5C": forward-word +"\e[5D": backward-word +"\e\e[C": forward-word +"\e\e[D": backward-word +"\e[1;5C": forward-word +"\e[1;5D": backward-word + +# for rxvt +"\e[8~": end-of-line + +# for non RH/Debian xterm, can't hurt for RH/DEbian xterm +"\eOH": beginning-of-line +"\eOF": end-of-line + +# for freebsd console +"\e[H": beginning-of-line +"\e[F": end-of-line +$endif diff --git a/core/readline/readline.install b/core/readline/readline.install new file mode 100644 index 000000000..06b646f23 --- /dev/null +++ b/core/readline/readline.install @@ -0,0 +1,17 @@ +infodir=usr/share/info +filelist=(history.info readline.info rluserman.info) + +post_upgrade() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} +