From 908778078736bd36f7a60a2d576d415cb8e000fa Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 22 May 2021 07:31:18 +0100 Subject: gentoo resync : 22.05.2021 --- app-shells/bash/bash-5.0_p18.ebuild | 39 ++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) (limited to 'app-shells/bash/bash-5.0_p18.ebuild') diff --git a/app-shells/bash/bash-5.0_p18.ebuild b/app-shells/bash/bash-5.0_p18.ebuild index 80582cbf2ae4..3ea29fe66b10 100644 --- a/app-shells/bash/bash-5.0_p18.ebuild +++ b/app-shells/bash/bash-5.0_p18.ebuild @@ -3,7 +3,7 @@ EAPI=7 -inherit flag-o-matic toolchain-funcs multilib prefix +inherit flag-o-matic toolchain-funcs prefix # Official patchlevel # See ftp://ftp.cwru.edu/pub/bash/bash-5.0-patches/ @@ -57,7 +57,7 @@ DEPEND=" RDEPEND=" ${DEPEND} " -# we only need yacc when the .y files get patched (bash42-005) +# We only need yacc when the .y files get patched (bash42-005) #BDEPEND="virtual/yacc" S="${WORKDIR}/${MY_P}" @@ -69,11 +69,13 @@ PATCHES=( ) pkg_setup() { - if is-flag -malign-double ; then #7332 + # bug #7332 + if is-flag -malign-double ; then eerror "Detected bad CFLAGS '-malign-double'. Do not use this" eerror "as it breaks LFS (struct stat64) on x86." die "remove -malign-double from your CFLAGS mr ricer" fi + if use bashlogger ; then ewarn "The logging patch should ONLY be used in restricted (i.e. honeypot) envs." ewarn "This will log ALL output you enter into the shell, you have been warned." @@ -98,7 +100,7 @@ src_prepare() { # Prefixify hardcoded path names. No-op for non-prefix. hprefixify pathnames.h.in - # Avoid regenerating docs after patches #407985 + # Avoid regenerating docs after patches, bug #407985 sed -i -r '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in || die touch -r . doc/* || die @@ -109,7 +111,13 @@ src_prepare() { src_configure() { local myconf=( --disable-profiling + + # Force linking with system curses ... the bundled termcap lib + # sucks bad compared to ncurses. For the most part, ncurses + # is here because readline needs it. But bash itself calls + # ncurses in one or two small places :(. --with-curses + $(use_enable mem-scramble) $(use_enable net net-redirections) $(use_enable readline) @@ -131,7 +139,7 @@ src_configure() { $(use bashlogger && echo -DSYSLOG_HISTORY) # Don't even think about building this statically without - # reading Bug 7714 first. If you still build it statically, + # reading bug #7714 first. If you still build it statically, # don't come crying to us with bugs ;). #use static && export LDFLAGS="${LDFLAGS} -static" use nls || myconf+=( --disable-nls ) @@ -145,28 +153,27 @@ src_configure() { # is at least what's in the DEPEND up above. export ac_cv_rl_version=${READLINE_VER%%_*} - # Force linking with system curses ... the bundled termcap lib - # sucks bad compared to ncurses. For the most part, ncurses - # is here because readline needs it. But bash itself calls - # ncurses in one or two small places :(. - if is_release ; then # Use system readline only with released versions. myconf+=( --with-installed-readline=. ) fi - if use plugins; then + if use plugins ; then append-ldflags -Wl,-rpath,/usr/$(get_libdir)/bash else # Disable the plugins logic by hand since bash doesn't # provide a way of doing it. export ac_cv_func_dl{close,open,sym}=no \ ac_cv_lib_dl_dlopen=no ac_cv_header_dlfcn_h=no + sed -i \ -e '/LOCAL_LDFLAGS=/s:-rdynamic::' \ configure || die fi - tc-export AR #444070 + + # bug #444070 + tc-export AR + econf "${myconf[@]}" } @@ -190,7 +197,9 @@ src_install() { insinto /etc/bash doins "${FILESDIR}"/bash_logout doins "$(prefixify_ro "${FILESDIR}"/bashrc)" + keepdir /etc/bash/bashrc.d + insinto /etc/skel for f in bash{_logout,_profile,rc} ; do newins "${FILESDIR}"/dot-${f} .${f} @@ -200,12 +209,15 @@ src_install() { -e "s:#${USERLAND}#@::" -e '/#@/d' ) + if ! use readline ; then - sed_args+=( #432338 + # bug #432338 + sed_args+=( -e '/^shopt -s histappend/s:^:#:' -e 's:use_color=true:use_color=false:' ) fi + sed -i \ "${sed_args[@]}" \ "${ED}"/etc/skel/.bashrc \ @@ -214,6 +226,7 @@ src_install() { if use plugins ; then exeinto /usr/$(get_libdir)/bash doexe $(echo examples/loadables/*.o | sed 's:\.o::g') + insinto /usr/include/bash-plugins doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h} fi -- cgit v1.2.3