summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/readline')
-rw-r--r--sys-libs/readline/ChangeLog11
-rw-r--r--sys-libs/readline/Manifest11
-rw-r--r--sys-libs/readline/files/digest-readline-5.0-r26
-rw-r--r--sys-libs/readline/files/readline-5.0-del-backspace-policy.patch53
-rw-r--r--sys-libs/readline/files/readline-5.0-no_rpath.patch13
-rw-r--r--sys-libs/readline/files/readline-5.0-self-insert.patch77
-rw-r--r--sys-libs/readline/files/readline-5.0-solaris.patch25
-rw-r--r--sys-libs/readline/readline-5.0-r2.ebuild81
8 files changed, 272 insertions, 5 deletions
diff --git a/sys-libs/readline/ChangeLog b/sys-libs/readline/ChangeLog
index e6006f3d8c05..8381b1510f54 100644
--- a/sys-libs/readline/ChangeLog
+++ b/sys-libs/readline/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sys-libs/readline
# Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/readline/ChangeLog,v 1.44 2005/02/11 05:10:38 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/readline/ChangeLog,v 1.45 2005/02/12 05:25:25 vapier Exp $
+
+*readline-5.0-r2 (12 Feb 2005)
+
+ 12 Feb 2005; Mike Frysinger <vapier@gentoo.org>
+ +files/readline-5.0-del-backspace-policy.patch,
+ +files/readline-5.0-no_rpath.patch, +files/readline-5.0-self-insert.patch,
+ +files/readline-5.0-solaris.patch, +readline-5.0-r2.ebuild:
+ Add some patches from Debian/Fedora fixing #74807 by Ivan Todoroski in the
+ process.
11 Feb 2005; Mike Frysinger <vapier@gentoo.org> +files/5.0-solaris.patch,
readline-5.0-r1.ebuild:
diff --git a/sys-libs/readline/Manifest b/sys-libs/readline/Manifest
index 85b537e6756a..fa4021e3d129 100644
--- a/sys-libs/readline/Manifest
+++ b/sys-libs/readline/Manifest
@@ -1,11 +1,14 @@
-MD5 55f6f763c5cdcc3ae48319e06f71c9db ChangeLog 6424
+MD5 a9aa4476f44157312ca51529c4c4992f ChangeLog 6784
MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
+MD5 e384bf9de51342ba8c041b40efe837fb readline-5.0-r2.ebuild 2595
MD5 9aa1c503ecd861b594466b8a5357a03a readline-4.3-r5.ebuild 2757
MD5 d9947115c3ce12d1c0dfcb46c2cba885 readline-4.3-r6.ebuild 3175
-MD5 ad8c6dfc9d43528e6eb48b4921c6d4df readline-5.0-r1.ebuild 2432
-MD5 fe45d673627dab53fb3fcffcb4f55e4e files/5.0-solaris.patch 756
+MD5 e3ee94eed45baf4ca76736da56d72bad files/digest-readline-5.0-r2 350
+MD5 a0bad5c8ba91f5c50ea6c2c97a76f2d1 files/readline-5.0-self-insert.patch 2463
MD5 cca21eb56279efff8356d028b1b39dd8 files/digest-readline-4.3-r5 348
MD5 cca21eb56279efff8356d028b1b39dd8 files/digest-readline-4.3-r6 348
MD5 9905e333ead392447a670e0f2374651a files/macos.patch 504
MD5 4a3ebcb995491c2730d156b314cbab0b files/bash-3.0-etc-inputrc.patch 1223
-MD5 e3ee94eed45baf4ca76736da56d72bad files/digest-readline-5.0-r1 350
+MD5 fe45d673627dab53fb3fcffcb4f55e4e files/readline-5.0-solaris.patch 756
+MD5 d5f28667389d9681136307274ebc1f28 files/readline-5.0-no_rpath.patch 363
+MD5 b6bf5c9721fc8c623377b40768d18dae files/readline-5.0-del-backspace-policy.patch 1475
diff --git a/sys-libs/readline/files/digest-readline-5.0-r2 b/sys-libs/readline/files/digest-readline-5.0-r2
new file mode 100644
index 000000000000..c31a1344ce93
--- /dev/null
+++ b/sys-libs/readline/files/digest-readline-5.0-r2
@@ -0,0 +1,6 @@
+MD5 9a39d15f1ed592883f8c6671e8c13120 readline-5.0.tar.gz 1808946
+MD5 5b47ed61b6b8413746750127c70e843d readline50-001 1702
+MD5 9f803005e7e4c7d675146a9a805acbf1 readline50-002 1337
+MD5 05d59c91f80fa99ab177783229b0f769 readline50-003 3841
+MD5 aa1f6343e47f8e024488c63281d77809 readline50-004 2411
+MD5 1dc2654e0161f2e7b4f536b12e1d54b7 readline50-005 2216
diff --git a/sys-libs/readline/files/readline-5.0-del-backspace-policy.patch b/sys-libs/readline/files/readline-5.0-del-backspace-policy.patch
new file mode 100644
index 000000000000..98f5326cc401
--- /dev/null
+++ b/sys-libs/readline/files/readline-5.0-del-backspace-policy.patch
@@ -0,0 +1,53 @@
+ripped from Debian's readline5_5.0-10.diff
+
+# DP: Handle Debian Backspace/Delete keyboard policy
+
+http://bugs.gentoo.org/show_bug.cgi?id=74807
+
+diff -ur readline5-5.0~alpha.orig/terminal.c readline5-5.0~alpha/terminal.c
+--- readline5-5.0~alpha.orig/terminal.c 2003-09-18 17:03:42.000000000 +0200
++++ readline5-5.0~alpha/terminal.c 2003-09-27 17:15:30.000000000 +0200
+@@ -82,7 +82,7 @@
+
+ #if !defined (__linux__)
+ # if defined (__EMX__) || defined (NEED_EXTERN_PC)
+-extern
++extern
+ # endif /* __EMX__ || NEED_EXTERN_PC */
+ char PC, *BC, *UP;
+ #endif /* __linux__ */
+@@ -148,6 +148,9 @@
+ /* Insert key */
+ static char *_rl_term_kI;
+
++/* The key sequence sent by the Delete key, if any. */
++static char *_rl_term_kD;
++
+ /* Cursor control */
+ static char *_rl_term_vs; /* very visible */
+ static char *_rl_term_ve; /* normal */
+@@ -280,7 +283,7 @@
+ if (cols)
+ *cols = _rl_screenwidth;
+ }
+-
++
+ void
+ rl_resize_terminal ()
+ {
+@@ -314,6 +317,7 @@
+ { "ic", &_rl_term_ic },
+ { "im", &_rl_term_im },
+ { "kH", &_rl_term_kH }, /* home down ?? */
++ { "kD", &_rl_term_kD }, /* delete */
+ { "kI", &_rl_term_kI }, /* insert */
+ { "kd", &_rl_term_kd },
+ { "ke", &_rl_term_ke }, /* end keypad mode */
+@@ -492,6 +496,7 @@
+
+ rl_bind_keyseq_if_unbound (_rl_term_kh, rl_beg_of_line); /* Home */
+ rl_bind_keyseq_if_unbound (_rl_term_at7, rl_end_of_line); /* End */
++ rl_bind_keyseq_if_unbound (_rl_term_kD, rl_delete); /* Delete */
+
+ _rl_keymap = xkeymap;
+ }
diff --git a/sys-libs/readline/files/readline-5.0-no_rpath.patch b/sys-libs/readline/files/readline-5.0-no_rpath.patch
new file mode 100644
index 000000000000..624b2d7dea2b
--- /dev/null
+++ b/sys-libs/readline/files/readline-5.0-no_rpath.patch
@@ -0,0 +1,13 @@
+ripped from Fedora
+
+--- support/shobj-conf
++++ support/shobj-conf
+@@ -102,7 +102,7 @@
+ SHOBJ_LD='${CC}'
+ SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+
+- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
++ SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+ ;;
+
diff --git a/sys-libs/readline/files/readline-5.0-self-insert.patch b/sys-libs/readline/files/readline-5.0-self-insert.patch
new file mode 100644
index 000000000000..3344df59200e
--- /dev/null
+++ b/sys-libs/readline/files/readline-5.0-self-insert.patch
@@ -0,0 +1,77 @@
+ripped from Debian's readline5_5.0-10.diff
+
+From: Thomas Glanzmann <sithglan@stud.uni-erlangen.de>
+To: Debian Bug Tracking System <submit@bugs.debian.org>
+Subject: Bug#290103: readline provided with bash: self-insert doesn't work correctly
+Date: Wed, 12 Jan 2005 20:35:17 +0100
+
+Package: bash3
+Version: 3.0-10
+Severity: normal
+Tags: patch
+
+Hello,
+having the following in .inputrc:
+
+$if Bash
+ ",2": " 2>&1"
+ ",n": " 2>/dev/null"
+ ",t": "/var/tmp/sithglan/"
+ ",b": "/opt/build/thomas/"
+ ",": self-insert
+$endif
+
+should expand ,2 to " 2>&1" but , still to ','. This isn't the case and
+I asked bash maintainer Chet Ramey to fix it and he did it. :-) The
+following patch will ship with the next version of bash.
+
+> > That is a bug in the released version of readline-5.0. Shadow keymaps
+> > are implemented by using an extra character. When a `shadowed' key
+> > (the `,' in your case) is bound to self-insert, the 5.0 code was
+> > trying to insert the extra character (256) rather than the `,'.
+
+*** bash-20050106.orig/lib/readline/readline.c Fri Oct 15 14:36:55 2004
+--- bash/lib/readline/readline.c Sat Jan 8 23:51:44 2005
+***************
+*** 657,665 ****
+ the input queue with _rl_unget_char. */
+ {
+- #if 0
+- r = _rl_dispatch (ANYOTHERKEY, FUNCTION_TO_KEYMAP (map, key));
+- #else
+- /* XXX - experimental code -- might never be executed. Save
+- for later. */
+ Keymap m = FUNCTION_TO_KEYMAP (map, key);
+ int type = m[ANYOTHERKEY].type;
+--- 657,660 ----
+***************
+*** 667,673 ****
+ if (type == ISFUNC && func == rl_do_lowercase_version)
+ r = _rl_dispatch (_rl_to_lower (key), map);
+ else
+ r = _rl_dispatch (ANYOTHERKEY, m);
+- #endif
+ }
+ else if (r && map[ANYOTHERKEY].function)
+--- 662,681 ----
+ if (type == ISFUNC && func == rl_do_lowercase_version)
+ r = _rl_dispatch (_rl_to_lower (key), map);
++ else if (type == ISFUNC && func == rl_insert)
++ {
++ /* If the function that was shadowed was self-insert, we
++ somehow need a keymap with map[key].func == self-insert.
++ Let's use this one. */
++ int nt = m[key].type;
++ rl_command_func_t *nf = m[key].function;
++
++ m[key].type = type;
++ m[key].function = func;
++ r = _rl_dispatch (key, m);
++ m[key].type = nt;
++ m[key].function = nf;
++ }
+ else
+ r = _rl_dispatch (ANYOTHERKEY, m);
+ }
+ else if (r && map[ANYOTHERKEY].function)
+
diff --git a/sys-libs/readline/files/readline-5.0-solaris.patch b/sys-libs/readline/files/readline-5.0-solaris.patch
new file mode 100644
index 000000000000..927bac5c202b
--- /dev/null
+++ b/sys-libs/readline/files/readline-5.0-solaris.patch
@@ -0,0 +1,25 @@
+fixup solaris linker options
+
+http://bugs.gentoo.org/show_bug.cgi?id=81058
+
+--- support/shobj-conf.orig
++++ support/shobj-conf
+@@ -78,10 +78,14 @@
+ sunos5*-*gcc*|solaris2*-*gcc*)
+ SHOBJ_CFLAGS=-fpic
+ SHOBJ_LD='${CC}'
+- # This line works for the Solaris linker in /usr/ccs/bin/ld
+- SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
+- # This line works for the GNU ld
+-# SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
++ ld_used=`gcc -print-prog-name=ld`
++ if ${ld_used} -V 2>&1 | grep -q GNU; then
++ # This line works for the GNU ld
++ SHOBJ_LDFLAGS='-shared -Wl,-h,$@'
++ else
++ # This line works for the Solaris linker in /usr/ccs/bin/ld
++ SHOBJ_LDFLAGS='-shared -Wl,-i -Wl,-h,$@'
++ fi
+
+ # SHLIB_XLDFLAGS='-R $(libdir)'
+ SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)'
diff --git a/sys-libs/readline/readline-5.0-r2.ebuild b/sys-libs/readline/readline-5.0-r2.ebuild
new file mode 100644
index 000000000000..e3bfed866a38
--- /dev/null
+++ b/sys-libs/readline/readline-5.0-r2.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/readline/readline-5.0-r2.ebuild,v 1.1 2005/02/12 05:25:25 vapier Exp $
+
+inherit eutils gnuconfig
+
+# Official patches
+PLEVEL="x001 x002 x003 x004 x005"
+
+DESCRIPTION="Another cute console display library"
+HOMEPAGE="http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html"
+SRC_URI="mirror://gnu/readline/${P}.tar.gz
+ ${PLEVEL//x/mirror://gnu/${PN}/${PN}-${PV}-patches/${PN}${PV/\.}-}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE=""
+
+# We must be certain that we have a bash that is linked
+# to its internal readline, else we may get problems.
+RDEPEND=">=sys-libs/ncurses-5.2-r2"
+DEPEND="${RDEPEND}
+ >=app-shells/bash-2.05b-r2"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+
+ cd "${S}"
+ for x in ${PLEVEL//x} ; do
+ epatch "${DISTDIR}"/${PN}${PV/\.}-${x}
+ done
+ epatch "${FILESDIR}"/bash-3.0-etc-inputrc.patch
+ epatch "${FILESDIR}"/${P}-solaris.patch
+ epatch "${FILESDIR}"/${P}-no_rpath.patch
+ epatch "${FILESDIR}"/${P}-self-insert.patch
+ epatch "${FILESDIR}"/${P}-del-backspace-policy.patch
+
+ # force ncurses linking #71420
+ sed -i -e 's:^SHLIB_LIBS=:SHLIB_LIBS=-lncurses:' support/shobj-conf || die "sed"
+}
+
+src_compile() {
+ # the --libdir= is needed because if lib64 is a directory, it will default
+ # to using that... even if CONF_LIBDIR isnt set or we're using a version
+ # of portage without CONF_LIBDIR support.
+ econf --with-curses --libdir=/usr/$(get_libdir) || die
+ emake || die
+}
+
+src_install() {
+ # portage 2.0.50's einstall causes sandbox violations if lib64 is a
+ # directory, since readline's configure automatically sets libdir for you.
+ make DESTDIR="${D}" install || die
+ dodir /$(get_libdir)
+ mv "${D}"/usr/$(get_libdir)/*.so* "${D}"/$(get_libdir)
+ chmod a+rx "${D}"/$(get_libdir)/*.so*
+
+ # Bug #4411
+ gen_usr_ldscript libreadline.so
+ gen_usr_ldscript libhistory.so
+
+ dodoc CHANGELOG CHANGES README USAGE NEWS
+ docinto ps
+ dodoc doc/*.ps
+ dohtml -r doc
+
+ # Backwards compatibility #29865
+ if [[ -e ${ROOT}/$(get_libdir)/libreadline.so.4 ]] ; then
+ cp -a "${ROOT}"/$(get_libdir)/libreadline.so.4* "${D}"/$(get_libdir)/
+ touch "${D}"/$(get_libdir)/libreadline.so.4*
+ fi
+}
+
+pkg_postinst() {
+ if [[ -e ${ROOT}/$(get_libdir)/libreadline.so.4 ]] ; then
+ ewarn "Your old readline libraries have been copied over."
+ ewarn "You should run 'revdep-rebuild --soname libreadline.so.4' asap."
+ ewarn "Once you have, you can safely delete /$(get_libdir)/libreadline.so.4*"
+ fi
+}