summaryrefslogtreecommitdiff
path: root/app-shells
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-16 12:27:58 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-16 12:27:58 +0100
commitb6fa31c964a602f8461a77d5b83355e8750c12eb (patch)
tree323fa7af31640b3ea8bb57fa7a927713f3d64769 /app-shells
parent868fd5dc8aab84930cfaa5252b8be06b35552765 (diff)
gentoo auto-resync : 16:07:2024 - 12:27:58
Diffstat (limited to 'app-shells')
-rw-r--r--app-shells/Manifest.gzbin10630 -> 10633 bytes
-rw-r--r--app-shells/bash/Manifest4
-rw-r--r--app-shells/bash/bash-5.3_alpha_p20240711.ebuild411
-rw-r--r--app-shells/bash/bash-9999.ebuild2
-rw-r--r--app-shells/fzf/Manifest3
-rw-r--r--app-shells/fzf/fzf-0.54.0.ebuild72
6 files changed, 490 insertions, 2 deletions
diff --git a/app-shells/Manifest.gz b/app-shells/Manifest.gz
index 213f3425892b..aa2ddf46ba0f 100644
--- a/app-shells/Manifest.gz
+++ b/app-shells/Manifest.gz
Binary files differ
diff --git a/app-shells/bash/Manifest b/app-shells/bash/Manifest
index 6161ffe4feaa..4c1a9646ee91 100644
--- a/app-shells/bash/Manifest
+++ b/app-shells/bash/Manifest
@@ -44,6 +44,7 @@ DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b
DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20
DIST bash-5.3_alpha_p20240628-5e28a1813ce7d08628c8df584ea36515091c6d9b.tar.xz 8528432 BLAKE2B d920640b0ba0ae38dbb98b48a9e4dd6635a05d7f86fcf26a4f2c79f6a4338e4f25ff20119f9a1df451d23d9cc381862963dcf9c135050102e8159eccbe5f7314 SHA512 cc60f94083b378ac51fda973f834f10477ac6ebcfc682f934426db3fd6ca4506e5ed1c64311c67d5d9d70b62ab2bf9900ee66f1aa96a7bce7198d69edf9131ca
DIST bash-5.3_alpha_p20240706-a91b8b077300b0a2a7daefe02f0363f9116e00d5.tar.xz 8525768 BLAKE2B 07b1b92b15bbd1c4bd01e3c2fbdf65d7dab14976442a2c4ea751c0d6e729d937886495af5402cd4669e84f68e952f3e79a375c649bbda1b4cc948172e3ea2948 SHA512 dfd19e6a4786ff066cb7e13ae328fbc909847fd7f987b59d9c646ab0bbf5abdc8c570bbc75810fe9eb6c9171acb3256b4e3278f565a1f526d9ce030fd423c0f8
+DIST bash-5.3_alpha_p20240711-d3e86e66ce857a8dc02e3116fd98b6e5b34d6364.tar.xz 8532476 BLAKE2B bae60589e733f29f4dab827c1c68899f4770c4cb2ca58af19e10bb833820644d336ada480be60b4dabb82441ae68f64494074387057d8b56efe8d5b9befd2a13 SHA512 ef677d2641607b75a000bef4b6eb9b359553ae6c3f930285989b97c036bfd1f7ecfa9240af1873af11dda42d1eca68da9c4b7567876e0bca878e8469dde0d0af
DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071
DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883
DIST bash205b-003 2356 BLAKE2B b7887d00d92fd298cd07a15e1c73b516dabd22ecd74c97091636dd97a0cd55024ed698e5cc924c4311d994dd326b1ad074bea35e7650cf9cf4e25c60d2713fa7 SHA512 74528ca5d165b812d299f1c69b47757bd677c0b22ce4217e155cd641708b02364a93c6709fb57b546b376b36da74429a61493921c7c199563da40ddcf1c1f399
@@ -463,5 +464,6 @@ EBUILD bash-5.2_p26-r8.ebuild 11730 BLAKE2B b685acc438968eedcdaf86a50a615e0aaf01
EBUILD bash-5.3_alpha-r5.ebuild 11566 BLAKE2B ab99c9907fce433ca5f21140c311b693ecdf4e2bb5356e16d3dc13c986f6f32284f7121b07a17340fdf2890ac8108e6c3dab0bcb3446f66447f741fd5e50c342 SHA512 8706a6346161c7a3159593f9bfcae1bb16c08f22bff648b6580f33708246f3eee2f7f3cd97eca8fd315b7b8f7daf22fcd4b7814e536a9c34d211738cccd36918
EBUILD bash-5.3_alpha_p20240628.ebuild 12157 BLAKE2B 4cdfe02bed8e0528b56f9b9e238422b62c5667506757ba2164e4cdca94cc5bd62836219640f279251b8687bf894d62a814835f8f0f1c782df1259e4cc5c13b56 SHA512 5d7a18371e2b3bbbad4c735b90ec5f31b1e4199dc62784f4e1432a837740214acf390ebaf902c10efc92010a2d892c70fd355e3e6dfa5f5429acd19640e47e44
EBUILD bash-5.3_alpha_p20240706.ebuild 12157 BLAKE2B fa964f0f6d25b023e1196ca29895b696e3f12817b01d9c7eb35000496cd5e0be9722bc87d683ac214734f8ddada63af7aa4bad8b9b1ad27629859791d9969459 SHA512 8aa53852ef9b240daf0607a4bc98383c21709f9a417d4a2c17412a51ee8b8665a10c1d8a033bda30611a5e7baf1c1f176e1e4b4162e207ab21071155c694b118
-EBUILD bash-9999.ebuild 12157 BLAKE2B 4cdfe02bed8e0528b56f9b9e238422b62c5667506757ba2164e4cdca94cc5bd62836219640f279251b8687bf894d62a814835f8f0f1c782df1259e4cc5c13b56 SHA512 5d7a18371e2b3bbbad4c735b90ec5f31b1e4199dc62784f4e1432a837740214acf390ebaf902c10efc92010a2d892c70fd355e3e6dfa5f5429acd19640e47e44
+EBUILD bash-5.3_alpha_p20240711.ebuild 12157 BLAKE2B c6956c25a2f6f12bc2f8e44fcd1f9a33012d7bdebf01e300cbafe098ade1e3125b95398f7fce13d693cc1531679461f102caf61f46e6da48837c4f89b0bdd923 SHA512 198efbc06a32d8a275d83801cb5a142be1259f7420802ff0c0ed0c658b130f9e04dfbb4e277fec3a0b9112574ffa1a6f8203f7f58458a0aab57b8b85664c2e76
+EBUILD bash-9999.ebuild 12157 BLAKE2B c6956c25a2f6f12bc2f8e44fcd1f9a33012d7bdebf01e300cbafe098ade1e3125b95398f7fce13d693cc1531679461f102caf61f46e6da48837c4f89b0bdd923 SHA512 198efbc06a32d8a275d83801cb5a142be1259f7420802ff0c0ed0c658b130f9e04dfbb4e277fec3a0b9112574ffa1a6f8203f7f58458a0aab57b8b85664c2e76
MISC metadata.xml 1009 BLAKE2B f71587b0a6d05b907f82b26be93b071290d91dc8f612f7b008a05eaa94d45be2ef8c1d992b7ac886648a9dcf964c30e8d9a7aff90d44835beb452e0d635b9533 SHA512 8aa1cb4c3206a76d10181394a91c315967fd9d3b359194f430f075fdd5a0b4b32149eec36b85412ef7e84b55e7b01955c75486b2df82b392a5acb3df8229a88d
diff --git a/app-shells/bash/bash-5.3_alpha_p20240711.ebuild b/app-shells/bash/bash-5.3_alpha_p20240711.ebuild
new file mode 100644
index 000000000000..725695b1ccc8
--- /dev/null
+++ b/app-shells/bash/bash-5.3_alpha_p20240711.ebuild
@@ -0,0 +1,411 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/chetramey.asc
+inherit flag-o-matic toolchain-funcs prefix verify-sig
+
+# Uncomment if we have a patchset.
+#GENTOO_PATCH_DEV="sam"
+#GENTOO_PATCH_VER="${PV}"
+
+MY_PV=${PV/_p*}
+MY_PV=${MY_PV/_/-}
+MY_P=${PN}-${MY_PV}
+MY_PATCHES=()
+
+# Determine the patchlevel.
+case ${PV} in
+ 9999|*_alpha*|*_beta*|*_rc*)
+ # Set a negative patchlevel to indicate that it's a pre-release.
+ PLEVEL=-1
+ ;;
+ *_p*)
+ PLEVEL=${PV##*_p}
+ ;;
+ *)
+ PLEVEL=0
+esac
+
+# The version of readline this bash normally ships with. Note that we only use
+# the bundled copy of readline for pre-releases.
+READLINE_VER="8.3_alpha"
+
+DESCRIPTION="The standard GNU Bourne again shell"
+HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html https://git.savannah.gnu.org/cgit/bash.git"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://git.savannah.gnu.org/git/bash.git"
+ EGIT_BRANCH=devel
+ inherit git-r3
+elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ # It can be useful to have snapshots in the pre-release period once
+ # the first alpha is out, as various bugs get reported and fixed from
+ # the alpha, and the next pre-release is usually quite far away.
+ #
+ # i.e. if it's worth packaging the alpha, it's worth packaging a followup.
+ BASH_COMMIT="d3e86e66ce857a8dc02e3116fd98b6e5b34d6364"
+ SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
+ S=${WORKDIR}/${PN}-${BASH_COMMIT}
+else
+ my_urls=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}.tar.gz" )
+
+ # bash-5.1 -> bash51
+ my_p=${PN}$(ver_cut 1-2) my_p=${my_p/.}
+
+ for (( my_patch_idx = 1; my_patch_idx <= PLEVEL; my_patch_idx++ )); do
+ printf -v my_patch_ver %s-%03d "${my_p}" "${my_patch_idx}"
+ my_urls+=( {'mirror://gnu/bash','ftp://ftp.cwru.edu/pub/bash'}/"${MY_P}-patches/${my_patch_ver}" )
+ MY_PATCHES+=( "${DISTDIR}/${my_patch_ver}" )
+ done
+
+ SRC_URI="${my_urls[*]} verify-sig? ( ${my_urls[*]/%/.sig} )"
+ S=${WORKDIR}/${MY_P}
+
+ unset -v my_urls my_p my_patch_idx my_patch_ver
+fi
+
+if [[ ${GENTOO_PATCH_VER} ]]; then
+ SRC_URI+=" https://dev.gentoo.org/~${GENTOO_PATCH_DEV:?}/distfiles/${CATEGORY}/${PN}/${PN}-${GENTOO_PATCH_VER:?}-patches.tar.xz"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+if (( PLEVEL >= 0 )); then
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+IUSE="afs bashlogger examples mem-scramble +net nls plugins pgo +readline"
+
+DEPEND="
+ >=sys-libs/ncurses-5.2-r2:=
+ nls? ( virtual/libintl )
+"
+if (( PLEVEL >= 0 )); then
+ DEPEND+=" readline? ( >=sys-libs/readline-${READLINE_VER}:= )"
+fi
+RDEPEND="
+ ${DEPEND}
+"
+# We only need bison (yacc) when the .y files get patched (bash42-005, bash51-011).
+BDEPEND="
+ pgo? ( dev-util/gperf )
+ verify-sig? ( sec-keys/openpgp-keys-chetramey )
+"
+
+# EAPI 8 tries to append it but it doesn't exist here.
+QA_CONFIGURE_OPTIONS="--disable-static"
+
+PATCHES=(
+ #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
+
+ # Patches to or from Chet, posted to the bug-bash mailing list.
+ "${FILESDIR}/${PN}-5.0-syslog-history-extern.patch"
+)
+
+pkg_setup() {
+ # 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."
+ fi
+}
+
+src_unpack() {
+ local patch
+
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
+ default
+ else
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}/${MY_P}.tar.gz"{,.sig}
+
+ for patch in "${MY_PATCHES[@]}"; do
+ verify-sig_verify_detached "${patch}"{,.sig}
+ done
+ fi
+
+ unpack "${MY_P}.tar.gz"
+
+ if [[ ${GENTOO_PATCH_VER} ]]; then
+ unpack "${PN}-${GENTOO_PATCH_VER}-patches.tar.xz"
+ fi
+ fi
+}
+
+src_prepare() {
+ # Include official patches.
+ (( PLEVEL > 0 )) && eapply -p0 "${MY_PATCHES[@]}"
+
+ # Clean out local libs so we know we use system ones w/releases. The
+ # touch utility is invoked for the benefit of config.status.
+ if (( PLEVEL >= 0 )); then
+ rm -rf lib/{readline,termcap}/* \
+ && touch lib/{readline,termcap}/Makefile.in \
+ && sed -i -E 's:\$[{(](RL|HIST)_LIBSRC[)}]/[[:alpha:]_-]*\.h::g' Makefile.in \
+ || die
+ fi
+
+ # Prefixify hardcoded path names. No-op for non-prefix.
+ hprefixify pathnames.h.in
+
+ # Avoid regenerating docs after patches, bug #407985.
+ sed -i -E '/^(HS|RL)USER/s:=.*:=:' doc/Makefile.in \
+ && touch -r . doc/* \
+ || die
+
+ # Sometimes hangs (more noticeable w/ pgo), bug #907403.
+ rm tests/run-jobs || die
+
+ eapply -p0 "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure() {
+ local -a myconf
+
+ # Upstream only test with Bison and require GNUisms like YYEOF and
+ # YYERRCODE. The former at least may be in POSIX soon:
+ # https://www.austingroupbugs.net/view.php?id=1269.
+ # configure warns on use of non-Bison but doesn't abort. The result
+ # may misbehave at runtime.
+ unset -v YACC
+
+ # wcsnwidth(), substring() issues with -Wlto-type-mismatch, reported
+ # upstream to Chet by email.
+ filter-lto
+
+ 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)
+ $(use_enable readline bang-history)
+ $(use_enable readline history)
+ $(use_with afs)
+ $(use_with mem-scramble bash-malloc)
+ )
+
+ # For descriptions of these, see config-top.h.
+ # bashrc/#26952 bash_logout/#90488 ssh/#24762 mktemp/#574426
+ append-cppflags \
+ -DDEFAULT_PATH_VALUE=\'\""${EPREFIX}"/usr/local/sbin:"${EPREFIX}"/usr/local/bin:"${EPREFIX}"/usr/sbin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/bin\"\' \
+ -DSTANDARD_UTILS_PATH=\'\""${EPREFIX}"/bin:"${EPREFIX}"/usr/bin:"${EPREFIX}"/sbin:"${EPREFIX}"/usr/sbin\"\' \
+ -DSYS_BASHRC=\'\""${EPREFIX}"/etc/bash/bashrc\"\' \
+ -DSYS_BASH_LOGOUT=\'\""${EPREFIX}"/etc/bash/bash_logout\"\' \
+ -DNON_INTERACTIVE_LOGIN_SHELLS \
+ -DSSH_SOURCE_BASHRC \
+ $(use bashlogger && echo -DSYSLOG_HISTORY)
+
+ use nls || myconf+=( --disable-nls )
+
+ if (( PLEVEL >= 0 )); then
+ # Historically, we always used the builtin readline, but since
+ # our handling of SONAME upgrades has gotten much more stable
+ # in the PM (and the readline ebuild itself preserves the old
+ # libs during upgrades), linking against the system copy should
+ # be safe.
+ # Exact cached version here doesn't really matter as long as it
+ # is at least what's in the DEPEND up above.
+ export ac_cv_rl_version=${READLINE_VER%%_*}
+
+ # Use system readline only with released versions.
+ myconf+=( --with-installed-readline=. )
+ fi
+
+ if use plugins; then
+ append-ldflags "-Wl,-rpath,${EPREFIX}/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
+
+ # bug #444070
+ tc-export AR
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ local -a pgo_generate_flags pgo_use_flags
+ local flag
+
+ # -fprofile-partial-training because upstream notes the test suite isn't
+ # super comprehensive.
+ # https://documentation.suse.com/sbp/all/html/SBP-GCC-10/index.html#sec-gcc10-pgo
+ if use pgo; then
+ pgo_generate_flags=(
+ -fprofile-update=atomic
+ -fprofile-dir="${T}"/pgo
+ -fprofile-generate="${T}"/pgo
+ )
+ pgo_use_flags=(
+ -fprofile-use="${T}"/pgo
+ -fprofile-dir="${T}"/pgo
+ )
+ if flag=$(test-flags-CC -fprofile-partial-training); then
+ pgo_generate_flags+=( "${flag}" )
+ pgo_use_flags+=( "${flag}" )
+ fi
+ fi
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" all others
+
+ # Build Bash and run its tests to generate profiles.
+ if (( ${#pgo_generate_flags[@]} )); then
+ # Used in test suite.
+ unset -v A
+
+ emake CFLAGS="${CFLAGS} ${pgo_generate_flags[*]}" -k check
+
+ if tc-is-clang; then
+ llvm-profdata merge "${T}"/pgo --output="${T}"/pgo/default.profdata || die
+ fi
+
+ # Rebuild Bash using the profiling data we just generated.
+ emake clean
+ emake CFLAGS="${CFLAGS} ${pgo_use_flags[*]}"
+ use plugins && emake -C examples/loadables CFLAGS="${CFLAGS} ${pgo_use_flags[*]}" all others
+ fi
+}
+
+src_test() {
+ # Used in test suite.
+ unset -v A
+
+ default
+}
+
+src_install() {
+ local d f
+
+ default
+
+ my_prefixify() {
+ while read -r; do
+ if [[ $REPLY == *$1* ]]; then
+ REPLY=${REPLY/"/etc/"/"${EPREFIX}/etc/"}
+ fi
+ printf '%s\n' "${REPLY}" || ! break
+ done < "$2" || die
+ }
+
+ dodir /bin
+ mv -- "${ED}"/usr/bin/bash "${ED}"/bin/ || die
+ dosym bash /bin/rbash
+
+ insinto /etc/bash
+ doins "${FILESDIR}"/bash_logout
+ my_prefixify bashrc.d "${FILESDIR}"/bashrc-r1 | newins - bashrc
+
+ insinto /etc/bash/bashrc.d
+ my_prefixify DIR_COLORS "${FILESDIR}"/bashrc.d/10-gentoo-color.bash | newins - 10-gentoo-color.bash
+ newins "${FILESDIR}"/bashrc.d/10-gentoo-title-r1.bash 10-gentoo-title.bash
+ if [[ ! ${EPREFIX} ]]; then
+ doins "${FILESDIR}"/bashrc.d/15-gentoo-bashrc-check.bash
+ fi
+
+ insinto /etc/skel
+ for f in bash{_logout,_profile,rc}; do
+ newins "${FILESDIR}/dot-${f}" ".${f}"
+ done
+
+ if use plugins; then
+ exeinto "/usr/$(get_libdir)/bash"
+ set -- examples/loadables/*.o
+ doexe "${@%.o}"
+
+ insinto /usr/include/bash-plugins
+ doins *.h builtins/*.h include/*.h lib/{glob/glob.h,tilde/tilde.h}
+ fi
+
+ if use examples; then
+ for d in examples/{functions,misc,scripts,startup-files}; do
+ exeinto "/usr/share/doc/${PF}/${d}"
+ docinto "${d}"
+ for f in "${d}"/*; do
+ if [[ ${f##*/} != @(PERMISSION|*README) ]]; then
+ doexe "${f}"
+ else
+ dodoc "${f}"
+ fi
+ done
+ done
+ fi
+
+ # Install bash_builtins.1 and rbash.1.
+ emake -C doc DESTDIR="${D}" install_builtins
+ sed 's:bash\.1:man1/&:' doc/rbash.1 > "${T}"/rbash.1 || die
+ doman "${T}"/rbash.1
+
+ newdoc CWRU/changelog ChangeLog
+ dosym bash.info /usr/share/info/bashref.info
+}
+
+pkg_preinst() {
+ if [[ -e ${EROOT}/etc/bashrc ]] && [[ ! -d ${EROOT}/etc/bash ]]; then
+ mkdir -p -- "${EROOT}"/etc/bash \
+ && mv -f -- "${EROOT}"/etc/bashrc "${EROOT}"/etc/bash/ \
+ || die
+ fi
+}
+
+pkg_postinst() {
+ local old_ver
+
+ # If /bin/sh does not exist, provide it.
+ if [[ ! -e ${EROOT}/bin/sh ]]; then
+ ln -sf -- bash "${EROOT}"/bin/sh || die
+ fi
+
+ read -r old_ver <<<"${REPLACING_VERSIONS}"
+ if [[ ! $old_ver ]]; then
+ :
+ elif ver_test "$old_ver" -ge "5.2" && ver_test "$old_ver" -ge "5.2_p26-r8"; then
+ return
+ fi
+
+ while read -r; do ewarn "${REPLY}"; done <<'EOF'
+Files under /etc/bash/bashrc.d must now have a suffix of .sh or .bash.
+
+Gentoo now defaults to defining PROMPT_COMMAND as an array. Depending on the
+characteristics of the operating environment, it may contain a command to set
+the terminal's window title. Those who were already choosing to customise the
+PROMPT_COMMAND variable are now advised to append their commands like so:
+
+PROMPT_COMMAND+=('custom command goes here')
+
+Gentoo no longer defaults to having bash set the window title in the case
+that the terminal is controlled by sshd(8), unless screen is launched on the
+remote side or the terminal reliably supports saving and restoring the title
+(as alacritty, foot and tmux do). Those wanting for the title to be set
+regardless may adjust ~/.bashrc - or create a custom /etc/bash/bashrc.d
+drop-in - to set PROMPT_COMMMAND like so:
+
+PROMPT_COMMAND=(genfun_set_win_title)
+
+Those who would prefer for bash never to interfere with the window title may
+now opt out of the default title setting behaviour, either with the "unset -v
+PROMPT_COMMAND" command or by re-defining PROMPT_COMMAND as desired.
+EOF
+}
diff --git a/app-shells/bash/bash-9999.ebuild b/app-shells/bash/bash-9999.ebuild
index f116d8c93a63..725695b1ccc8 100644
--- a/app-shells/bash/bash-9999.ebuild
+++ b/app-shells/bash/bash-9999.ebuild
@@ -45,7 +45,7 @@ elif (( PLEVEL < 0 )) && [[ ${PV} == *_p* ]] ; then
# the alpha, and the next pre-release is usually quite far away.
#
# i.e. if it's worth packaging the alpha, it's worth packaging a followup.
- BASH_COMMIT="5e28a1813ce7d08628c8df584ea36515091c6d9b"
+ BASH_COMMIT="d3e86e66ce857a8dc02e3116fd98b6e5b34d6364"
SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.xz -> ${P}-${BASH_COMMIT}.tar.xz"
S=${WORKDIR}/${PN}-${BASH_COMMIT}
else
diff --git a/app-shells/fzf/Manifest b/app-shells/fzf/Manifest
index 0a97eca61e02..d3f2b749ffc0 100644
--- a/app-shells/fzf/Manifest
+++ b/app-shells/fzf/Manifest
@@ -4,7 +4,10 @@ DIST fzf-0.52.1-deps.tar.xz 18022516 BLAKE2B d6b5b5075409e7078958735ccc92b34dbed
DIST fzf-0.52.1.tar.gz 274817 BLAKE2B a42e694ab3a34025ecee5343e8eeb43221f66989fe6c7b827ad36d60a980c8fcea8414fffbed6858c7eec4d0e54ccc2165eafc5aecd8292d91e05da04bda1f6f SHA512 90b70c0fff41605ca647b02b64a6906e113e6cc377a51db8771806da58463ab87512294b430243b0263a3e800d64e652b6b2580b0b8205890f235d3b64c5e763
DIST fzf-0.53.0-deps.tar.xz 5882848 BLAKE2B b7faec7c2afd60642c27afa6f3c7a99fc1409d73c7d95f2f79737af3034769cef97aab11b5054f0209430d4ab038b5663e0af71e1768f674f815c7cd7dc08c66 SHA512 862e3bf23647735b888861898fd041e1d3e3dc6dcc7197b382fe790323d4904fc95fd20168d76656655e8c02ffd3cb0ee60da8df72689a94252a293f567ad5b6
DIST fzf-0.53.0.tar.gz 286797 BLAKE2B f6355c168f2b587cc2d0b21ef483812db7e077e4bf19517a4fc8fed43dd6b3f557ce1a28630075b4f1e6238aacf02ce10ceb1afd4d7fe5ca6e2453c132c56d80 SHA512 4122b49e8fec936ec4da79cdb7a7ed1891caadf842008ae36aac5ce0aa1c2263bed68fa0332f2cb4f2b38551469af0f14874410407b922827e62767032e92393
+DIST fzf-0.54.0-deps.tar.xz 5882708 BLAKE2B 1d9ca4f000960c811b5c45c61c59469c19d6947ad93fd627d0284d35c19a8df8eae96b76d8460d46ba924dd72775988f109e1eb9459499d5e307dff1920889df SHA512 ddb12e3ffab548399e81da2535857061cd9874a92534afc807fad2381562ba2fa0962cdbb366033769fa22871dcb12d187d394774e1fb2f225ceb388e92c9b25
+DIST fzf-0.54.0.tar.gz 291944 BLAKE2B e960285192c055e2228f682216aaebe02751ab66d8e9aa2bb347d46c5fc4aaa6895236c0059b4085cac213e3f8516a0ce2e9e0427a834b1c74cc41df28a2d167 SHA512 ed136c12142ceb7fabb39bd8f2d5e408efc44d17fb94514d9677a0a47013dc488bafeb657b7d448533d487091db4bd4194510e99493f8b05b007560d8c59ee2c
EBUILD fzf-0.51.0.ebuild 1973 BLAKE2B 0ed04f173792943f5896e4b2891cfee9e7652a654e6226b35ff80fc85a60adbd118fcdef54cbec407d3b5301c5156a6e559ba25a7d6bf52fd8939fedb72e5292 SHA512 db05e2b339e31c16d7ec3e4f5552d0ddd4dbac141396917754031747a91e949c062ad481eb682ad7922c0177787c30c60fd553ef7ac2ebed72a346bf984ff8a6
EBUILD fzf-0.52.1.ebuild 1973 BLAKE2B 0ed04f173792943f5896e4b2891cfee9e7652a654e6226b35ff80fc85a60adbd118fcdef54cbec407d3b5301c5156a6e559ba25a7d6bf52fd8939fedb72e5292 SHA512 db05e2b339e31c16d7ec3e4f5552d0ddd4dbac141396917754031747a91e949c062ad481eb682ad7922c0177787c30c60fd553ef7ac2ebed72a346bf984ff8a6
EBUILD fzf-0.53.0.ebuild 1976 BLAKE2B ba93dab453075a3d08ce3ce11d7cec3ac3377305a7ff7de1165b359db9d03114aa227d05a012c464ecfad7876bebb404e79e3d1007dd92e827ba2517f2f966e4 SHA512 e39e8cccbec100da4bebc38d9312ce0201af9244bd6cd745623133dc2ae714896db0f183233392ca35ddac497958c34fa1ddd80bf1593fc2d74d9ba9a493537a
+EBUILD fzf-0.54.0.ebuild 1977 BLAKE2B 1e8981936ea1069c396ccf686467550f61fedd0bd1816644c8d965822eff02df8a7b44d9f93d77b6c08f6a62d321aae3450e257c84d2174912db30f172e49f8f SHA512 a0dfcfd7e47edc8e25cc31a84403304d6b49f5e78a0cc3b11873c9d34f722e7cc5d34977a027eab34513423bdf2d8033663e863612ddfd49b0a87c07293b85be
MISC metadata.xml 245 BLAKE2B 09740ccf075e53d0d7f0a31addb391335518828e2c889718899491764305e6fef814d1ff7f1228d4b3c2b3b18470873d3c71338154a833d3a7d13280c393a879 SHA512 4de0cd558c25997c8473254016ddf6371da40c183b7ff0d7ad873135e12f52f8de12c40dc6ee03aa1fc2e44898fa050c9730e76f7960d908a5fa6645a66a7679
diff --git a/app-shells/fzf/fzf-0.54.0.ebuild b/app-shells/fzf/fzf-0.54.0.ebuild
new file mode 100644
index 000000000000..380854366f61
--- /dev/null
+++ b/app-shells/fzf/fzf-0.54.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 go-module
+
+DESCRIPTION="General-purpose command-line fuzzy finder, written in Golang"
+HOMEPAGE="https://github.com/junegunn/fzf"
+
+# For fancy versioning only. Bump on the next release!
+# MY_GIT_REV is the first 7 characters of release commit, we truncate it
+# after to make it easier to copy/paste.
+MY_GIT_REV=9e92b6f11e0f59272de410f56493893334071e6e
+MY_GIT_REV=${MY_GIT_REV:0:7}
+
+SRC_URI="https://github.com/junegunn/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~mattst88/distfiles/${P}-deps.tar.xz"
+
+LICENSE="MIT BSD-with-disclosure"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+src_prepare() {
+ default
+ sed -i 's/-s -w //' Makefile || die # bug #795225
+}
+
+src_compile() {
+ emake PREFIX="${EPREFIX}"/usr VERSION=${PV} REVISION=${MY_GIT_REV} bin/${PN}
+}
+
+src_install() {
+ dobin bin/${PN}
+ doman man/man1/${PN}.1
+
+ dobin bin/${PN}-tmux
+ doman man/man1/${PN}-tmux.1
+
+ insinto /usr/share/vim/vimfiles/plugin
+ doins plugin/${PN}.vim
+
+ insinto /usr/share/nvim/runtime/plugin
+ doins plugin/${PN}.vim
+
+ newbashcomp shell/completion.bash ${PN}
+
+ insinto /usr/share/zsh/site-functions
+ newins shell/completion.zsh _${PN}
+
+ insinto /usr/share/fzf
+ doins shell/key-bindings.bash
+ doins shell/key-bindings.fish
+ doins shell/key-bindings.zsh
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]]; then
+ elog "To add fzf support to your shell, make sure to use the right file"
+ elog "from ${EROOT}/usr/share/fzf."
+ elog
+ elog "For bash, add the following line to ~/.bashrc:"
+ elog
+ elog " # source ${EROOT}/usr/share/bash-completion/completions/fzf"
+ elog " # source ${EROOT}/usr/share/fzf/key-bindings.bash"
+ elog
+ elog "Plugins for Vim and Neovim are installed to respective directories"
+ elog "and will work out of the box."
+ elog
+ elog "For fzf support in tmux see fzf-tmux(1)."
+ fi
+}