diff options
Diffstat (limited to 'dev-libs/libedit')
-rw-r--r-- | dev-libs/libedit/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch | 249 | ||||
-rw-r--r-- | dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch | 10 | ||||
-rw-r--r-- | dev-libs/libedit/libedit-20170329.3.1.ebuild | 54 | ||||
-rw-r--r-- | dev-libs/libedit/libedit-20190324.3.1.ebuild | 52 |
5 files changed, 0 insertions, 367 deletions
diff --git a/dev-libs/libedit/Manifest b/dev-libs/libedit/Manifest index 8a7254ddf245..a823a21029ed 100644 --- a/dev-libs/libedit/Manifest +++ b/dev-libs/libedit/Manifest @@ -1,3 +1 @@ -DIST libedit-20170329-3.1.tar.gz 508504 BLAKE2B 83857f2e56c1f3857e981556c4d5bb90580293a1b9b038bd08beaa2b3954ccee0b30ccdd716cca95d1811841ab8ada010084ec5cd9ab8407e996c713d0991cd8 SHA512 597ed2282240be6dc3c4a7bb8b4ade31fe16ebfeb2229e3aec58643a65882653cc91deb300343d1b1cc588959dbf95698122c4005e47dfb947efa3e6b134bb82 -DIST libedit-20190324-3.1.tar.gz 521999 BLAKE2B c48161626a5cf3140f75ec1df1d9652d961e568a0464a34f9e679f51e1e991a14c9d04a05f0de3815c4a38a9f17789a18e89ebd026450fa1053ef6420c045141 SHA512 240098989e3c5c8c5e28a61036655ad5a57f1c484e1cce2eaf3da157ff238dfb9cd81c766f82efbefa0935b7b5c07328087788cbac007b11dfb558cfaccaedf3 DIST libedit-20191211-3.1.tar.gz 516620 BLAKE2B 765926c035143e8e409d87d4f75709c861d83e2d725ec02c7ecfc3cccebe895be7d2902dd41970811207db32e6847689368f6544ea49ad42a600037a3a4edb58 SHA512 8393477a87e65d330b037494110501b5d6d2c1cbe80d82b9bc7a6315a21fd1327fe91354346966d30541015e2c277be2187fa4bb737b14f706957c70f4083547 diff --git a/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch b/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch deleted file mode 100644 index c54f27600e34..000000000000 --- a/dev-libs/libedit/files/libedit-20170329.3.1-el_fn_sh_complete.patch +++ /dev/null @@ -1,249 +0,0 @@ ---- libedit-20170329-3.1/src/filecomplete.c 2017-03-29 21:15:04.000000000 +0300 -+++ libedit-20170329-3.1/src/filecomplete.c 2017-05-21 02:23:16.000000000 +0300 -@@ -51,6 +51,7 @@ - #include "filecomplete.h" - - static const wchar_t break_chars[] = L" \t\n\"\\'`@$><=;|&{("; -+static const wchar_t extra_quote_chars[] = L")}*?[$\0"; - - /********************************/ - /* completion functions */ -@@ -405,10 +406,14 @@ - char **(*attempted_completion_function)(const char *, int, int), - const wchar_t *word_break, const wchar_t *special_prefixes, - const char *(*app_func)(const char *), size_t query_items, -- int *completion_type, int *over, int *point, int *end) -+ int *completion_type, int *over, int *point, int *end, -+ const char *(*find_word_start_func)(const char *, const char *), -+ char *(*dequoting_func)(const char *), -+ char *(*quoting_func)(const char *)) - { - const LineInfoW *li; - wchar_t *temp; -+ char *dequoted_temp; - char **matches; - const wchar_t *ctemp; - size_t len; -@@ -429,17 +434,28 @@ - - /* We now look backwards for the start of a filename/variable word */ - li = el_wline(el); -+ if (find_word_start_func) -+ ctemp = ct_decode_string(find_word_start_func(ct_encode_string(li->buffer,&el->el_scratch), ct_encode_string(li->cursor,&el->el_scratch)),&el->el_scratch); -+ else { - ctemp = li->cursor; - while (ctemp > li->buffer - && !wcschr(word_break, ctemp[-1]) - && (!special_prefixes || !wcschr(special_prefixes, ctemp[-1]) ) ) - ctemp--; -+ } - - len = (size_t)(li->cursor - ctemp); - temp = el_malloc((len + 1) * sizeof(*temp)); - (void)wcsncpy(temp, ctemp, len); - temp[len] = '\0'; - -+ if (dequoting_func) { -+ dequoted_temp = dequoting_func(ct_encode_string(temp,&el->el_scratch)); -+ if (dequoted_temp == NULL) -+ return retval; -+ } else -+ dequoted_temp = NULL; -+ - /* these can be used by function called in completion_matches() */ - /* or (*attempted_completion_function)() */ - if (point != NULL) -@@ -450,14 +466,14 @@ - if (attempted_completion_function) { - int cur_off = (int)(li->cursor - li->buffer); - matches = (*attempted_completion_function)( -- ct_encode_string(temp, &el->el_scratch), -+ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch), - cur_off - (int)len, cur_off); - } else - matches = NULL; - if (!attempted_completion_function || - (over != NULL && !*over && !matches)) - matches = completion_matches( -- ct_encode_string(temp, &el->el_scratch), complet_func); -+ dequoted_temp? dequoted_temp : ct_encode_string(temp, &el->el_scratch), complet_func); - - if (over != NULL) - *over = 0; -@@ -472,9 +488,18 @@ - * possible matches if there is possible completion. - */ - if (matches[0][0] != '\0') { -+ char *quoted_match; -+ if (quoting_func) { -+ quoted_match = quoting_func(matches[0]); -+ if (quoted_match == NULL) -+ goto free_matches; -+ } else -+ quoted_match = NULL; -+ - el_deletestr(el, (int) len); - el_winsertstr(el, -- ct_decode_string(matches[0], &el->el_scratch)); -+ ct_decode_string(quoted_match? quoted_match : matches[0], &el->el_scratch)); -+ free(quoted_match); - } - - -@@ -545,12 +570,14 @@ - retval = CC_NORM; - } - -+free_matches: - /* free elements of array and the array itself */ - for (i = 0; matches[i]; i++) - el_free(matches[i]); - el_free(matches); - matches = NULL; - } -+ el_free(dequoted_temp); - el_free(temp); - return retval; - } -@@ -564,5 +591,102 @@ - { - return (unsigned char)fn_complete(el, NULL, NULL, - break_chars, NULL, NULL, (size_t)100, -- NULL, NULL, NULL, NULL); -+ NULL, NULL, NULL, NULL, -+ NULL, NULL, NULL); -+} -+ -+static const char * -+sh_find_word_start(const char *buffer, const char *cursor) -+{ -+ const char *word_start = buffer; -+ -+ while (buffer < cursor) { -+ if (*buffer == '\\') -+ buffer++; -+ else if (strchr(break_chars, *buffer)) -+ word_start = buffer + 1; -+ -+ buffer++; -+ } -+ -+ return word_start; -+} -+ -+ -+static char * -+sh_quote(const char *str) -+{ -+ const char *src; -+ int extra_len = 0; -+ char *quoted_str, *dst; -+ -+ if (*str == '-' || *str == '+') -+ extra_len += 2; -+ for (src = str; *src != '\0'; src++) -+ if (strchr(break_chars, *src) || -+ strchr(extra_quote_chars, *src)) -+ extra_len++; -+ -+ quoted_str = malloc(sizeof(*quoted_str) * -+ (strlen(str) + extra_len + 1)); -+ if (quoted_str == NULL) -+ return NULL; -+ -+ dst = quoted_str; -+ if (*str == '-' || *str == '+') -+ *dst++ = '.', *dst++ = '/'; -+ for (src = str; *src != '\0'; src++) { -+ if (strchr(break_chars, *src) || -+ strchr(extra_quote_chars, *src)) -+ *dst++ = '\\'; -+ *dst++ = *src; -+ } -+ *dst = '\0'; -+ -+ return quoted_str; -+} -+ -+ -+static char * -+sh_dequote(const char *str) -+{ -+ char *dequoted_str, *dst; -+ -+ /* save extra space to replace \~ with ./~ */ -+ dequoted_str = malloc(sizeof(*dequoted_str) * (strlen(str) + 1 + 1)); -+ if (dequoted_str == NULL) -+ return NULL; -+ -+ dst = dequoted_str; -+ -+ /* dequote \~ at start as ./~ */ -+ if (*str == '\\' && str[1] == '~') { -+ str++; -+ *dst++ = '.'; -+ *dst++ = '/'; -+ } -+ -+ while (*str) { -+ if (*str == '\\') -+ str++; -+ if (*str) -+ *dst++ = *str++; -+ } -+ *dst = '\0'; -+ -+ return dequoted_str; -+} -+ -+ -+/* -+ * completion function using sh quoting rules; for key binding -+ */ -+/* ARGSUSED */ -+unsigned char -+_el_fn_sh_complete(EditLine *el, int ch __attribute__((__unused__))) -+{ -+ return (unsigned char)fn_complete(el, NULL, NULL, -+ break_chars, NULL, NULL, 100, -+ NULL, NULL, NULL, NULL, -+ sh_find_word_start, sh_dequote, sh_quote); - } - ---- libedit-20170329-3.1/src/readline.c 2017-03-29 21:15:04.000000000 +0300 -+++ libedit-20170329-3.1/src/readline.c 2017-05-21 02:24:57.000000000 +0300 -@@ -1869,7 +1869,7 @@ - _rl_completion_append_character_function, - (size_t)rl_completion_query_items, - &rl_completion_type, &rl_attempted_completion_over, -- &rl_point, &rl_end); -+ &rl_point, &rl_end, NULL, NULL, NULL); - - - } - ---- libedit-20170329-3.1/src/histedit.h 2017-03-29 21:08:21.000000000 +0300 -+++ libedit-20170329-3.1/src/histedit.h 2017-05-21 02:32:04.000000000 +0300 -@@ -113,6 +113,7 @@ - int el_set(EditLine *, int, ...); - int el_get(EditLine *, int, ...); - unsigned char _el_fn_complete(EditLine *, int); -+unsigned char _el_fn_sh_complete(EditLine *, int); - - /* - * el_set/el_get parameters - ---- libedit-20170329-3.1/src/filecomplete.h 2017-03-29 21:08:21.000000000 +0300 -+++ libedit-20170329-3.1/src/filecomplete.h 2017-05-21 02:32:27.000000000 +0300 -@@ -35,7 +35,10 @@ - char *(*)(const char *, int), - char **(*)(const char *, int, int), - const wchar_t *, const wchar_t *, const char *(*)(const char *), size_t, -- int *, int *, int *, int *); -+ int *, int *, int *, int *, -+ const char *(*)(const char *, const char *), -+ char *(*)(const char *), -+ char *(*)(const char *)); - - void fn_display_match_list(EditLine *, char **, size_t, size_t); - char *fn_tilde_expand(const char *); diff --git a/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch b/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch deleted file mode 100644 index 1d5432fac0be..000000000000 --- a/dev-libs/libedit/files/libedit-20170329.3.1-ncursesprivate.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- libedit-20170329-3.1/libedit.pc.in 2017-03-29 21:08:21.000000000 +0300 -+++ libedit-20170329-3.1/libedit.pc.in 2017-05-21 01:28:55.000000000 +0300 -@@ -7,5 +7,6 @@ - Description: command line editor library provides generic line editing, history, and tokenization functions. - Version: @VERSION@ - Requires: --Libs: -L${libdir} -ledit @LIBS@ -+Libs: -L${libdir} -ledit -+Libs.private: @LIBS@ - Cflags: -I${includedir} -I${includedir}/editline diff --git a/dev-libs/libedit/libedit-20170329.3.1.ebuild b/dev-libs/libedit/libedit-20170329.3.1.ebuild deleted file mode 100644 index 535716885568..000000000000 --- a/dev-libs/libedit/libedit-20170329.3.1.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -inherit autotools multilib-minimal toolchain-funcs usr-ldscript - -MY_PV=${PV/./-} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="BSD replacement for libreadline" -HOMEPAGE="https://thrysoee.dk/editline/" -SRC_URI="https://thrysoee.dk/editline/${MY_P}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="static-libs" - -DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}] - !<=sys-freebsd/freebsd-lib-6.2_rc1" - -RDEPEND=${DEPEND} - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/${P}-ncursesprivate.patch" - "${FILESDIR}/${P}-el_fn_sh_complete.patch" - "${FILESDIR}/${P}-tinfo.patch" -) - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - ECONF_SOURCE="${S}" econf \ - $(use_enable static-libs static) \ - --enable-widec \ - --enable-fast-install -} - -multilib_src_install() { - emake DESTDIR="${D}" install - gen_usr_ldscript -a edit -} - -multilib_src_install_all() { - einstalldocs - find "${D}" -name '*.la' -delete || die - # file collission with sys-libs/readline - rm "${ED%/}/usr/share/man/man3/history.3" || die -} diff --git a/dev-libs/libedit/libedit-20190324.3.1.ebuild b/dev-libs/libedit/libedit-20190324.3.1.ebuild deleted file mode 100644 index 3efaf7c17f3b..000000000000 --- a/dev-libs/libedit/libedit-20190324.3.1.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -inherit autotools multilib-minimal toolchain-funcs usr-ldscript - -MY_PV=${PV/./-} -MY_P=${PN}-${MY_PV} - -DESCRIPTION="BSD replacement for libreadline" -HOMEPAGE="https://thrysoee.dk/editline/" -SRC_URI="https://thrysoee.dk/editline/${MY_P}.tar.gz" - -LICENSE="BSD-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="static-libs" - -DEPEND=">=sys-libs/ncurses-5.9-r3[static-libs?,${MULTILIB_USEDEP}] - !<=sys-freebsd/freebsd-lib-6.2_rc1" - -RDEPEND=${DEPEND} - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/${PN}-20170329.3.1-tinfo.patch" -) - -src_prepare() { - default - eautoreconf -} - -multilib_src_configure() { - ECONF_SOURCE="${S}" econf \ - $(use_enable static-libs static) \ - --enable-widec \ - --enable-fast-install -} - -multilib_src_install() { - emake DESTDIR="${D}" install - gen_usr_ldscript -a edit -} - -multilib_src_install_all() { - einstalldocs - find "${D}" -name '*.la' -delete || die - # file collission with sys-libs/readline - rm "${ED}/usr/share/man/man3/history.3" || die -} |