summaryrefslogtreecommitdiff
path: root/app-shells
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-12-08 02:07:29 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-12-08 02:07:29 +0000
commit494168b06b81a32b889c3cb1f721f925d0a6824f (patch)
tree0ec763ffa61af808a83f365fb6680258d2e28a50 /app-shells
parent2198f8593ae0312add1bdccb49edfcb935e5f8a6 (diff)
gentoo auto-resync : 08:12:2024 - 02:07:28
Diffstat (limited to 'app-shells')
-rw-r--r--app-shells/Manifest.gzbin10631 -> 10637 bytes
-rw-r--r--app-shells/bash/Manifest5
-rw-r--r--app-shells/bash/bash-5.3_alpha_p20241115.ebuild411
-rw-r--r--app-shells/bash/bash-5.3_alpha_p20241121.ebuild411
-rw-r--r--app-shells/bash/files/bash-5.2_p21-wpointer-to-int.patch13
5 files changed, 14 insertions, 826 deletions
diff --git a/app-shells/Manifest.gz b/app-shells/Manifest.gz
index 1511b34dea21..92054c06d066 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 fadadaa971b4..1786b945e820 100644
--- a/app-shells/bash/Manifest
+++ b/app-shells/bash/Manifest
@@ -3,6 +3,7 @@ AUX bash-5.1_p16-configure-clang16.patch 1108 BLAKE2B c3b2e0f74fdf83f8670b3f6e60
AUX bash-5.2_p15-configure-clang16.patch 1116 BLAKE2B 5ef332cd2847f46e351e5db6dda79d01d9853f5eda9762deeba0450c2bd400eec549bbb85696777b687f64d0977daac4883d6ce3f1e26cec0d5f73e8ee97f000 SHA512 8cc761a50e936bb602c14fcf047e7278fa2f5394f78fc7f0f0b9ae9df4b48bdc9ca8424ccd6f6422364b7132c3317b8e688f330ce60a0c4724046144c58bd3e5
AUX bash-5.2_p15-random-ub.patch 451 BLAKE2B adab09c3f2ce3697e3659e01266120155714b80263bd125808edf556a354291af615540189553b1c32a2d462ac41e28a9df8fb9f7d963a3ca3629d297a46e62d SHA512 ac62d3bd609a5d17434cb3614c3ee229569a84087173ebf694eb144a43891fdaead7c531f034b47d72c801ba46d48b0db616e3dcaec82bd7151df518ef070400
AUX bash-5.2_p21-configure-strtold.patch 910 BLAKE2B 83ec6ff756543ee44c18902f2d30dd662a84237b9594a7e0cfc21a1c16fce49e37cf67729b3a17d59cc978cb6675e04457e3b6b0909d94cb234a1dde96f7c9ea SHA512 d8f0487db08dc7ba3f42075067556757142b13f739ca765d851e51ce09d11d4cce02ad016b724e70dd418d9bb37166c4c4ebb98e874cd89920661470486d252e
+AUX bash-5.2_p21-wpointer-to-int.patch 512 BLAKE2B 0c7f5eb5b697abf15c1d17888a973e44d0ead1f095778b41841a6a1937a5b9e7ce5fa6a05e4404504990b0a244fdecfc12ce7c33ee7d67b4c837435e9bfe2b57 SHA512 61bc7f96a1f3f782f0502c660f7578f4c97b3aae244c95ce3810815fcf9c81734cd19599dc9c8b0707d4f2bbb50497ef85c02e66fdd360d49befe0fed0ca4985
AUX bash-5.2_p32-memory-leaks.patch 4293 BLAKE2B 80d035f494b59f2774a905dd68375b00b43c7ac296be35a87a1c830946c26d65d8bc54e82aca75e63b8d2c0c64109b8a331a92dca80ed5f32d8cbcda99f87f48 SHA512 5ae73c1bd1330b6dee1982630ff2b8fb26c788337ad2f46ff78f972134b2555eb502c0610738a9fde31f424966af1e60b473a337a437b76e12e1f841a90f4845
AUX bash-5.2_p32-read-delimiter-in-invalid-mbchar.patch 7718 BLAKE2B ab7fe139630be59b26a72f92f22e4a2b556594d341d82b0f15f99880724f5ea5cfd912a8de6b6e1db902c14d65395c74a03379e3e01ce69bb4512c681518301d SHA512 95b6e1653853ff4a202c21385f246abc8e6b5ebbaf757646ff1b8338bf1e1874fab2f28650cc47a1b967022fbc74d1d81fa64f3e28fd7bfb07292cea568470bc
AUX bash_logout 205 BLAKE2B b8c0266c3d1e31a714304a2b3b33389f042ae5bd497379f9b15ce31d47d1e3da73ba6536023953b00efe27b687e2ff45d94e3f01a13acc824dc12e31552c5b94 SHA512 7234250c03fc920996a381f9daef9e2d8ab1e1a29acdebed6669d8e0fe1c872a7fa343adf7d9ddc81225b0cd9eb223ba7ad1ff42448aff057fc6d6baa8f04a7d
@@ -41,8 +42,6 @@ DIST bash-5.2.tar.gz 10950833 BLAKE2B 51b196e710794ebad8eac28c31c93eb99ac1a7db30
DIST bash-5.2.tar.gz.sig 95 BLAKE2B 2991b7c46ef1cdca08062f419be47fca7551f4c5d9aad8a5c1da74974f5e7707d23914b4cecf9b6c9610471146b2c49b611bb62a5d974f1c37cceb77b719851c SHA512 a161664f124f906be32709f66702f8f780e6d52e558ea45e71ec60a959c9435ff68477ee65a0a9f6c0051d5592f5044fb3b410cf3cd3ae5a8a323789b01be258
DIST bash-5.3-alpha.tar.gz 11195025 BLAKE2B b3325f6927d7dde86aae165891317b972f0b9814e134676b3d7d3aea81ce4d4cad1a01f160e290352072153ad3568ee21701a35190ef5e6274b3c03fc95c8d42 SHA512 52354eb7cd71330192ec76fdda04bcacf758a312e89b45558db5f5345f19b0d8e54732049934958cf89786f5bd7c538d88859eb8d8d22dabfc9ec7305263d10e
DIST bash-5.3-alpha.tar.gz.sig 95 BLAKE2B 69c8b33fe2a40498662ef084967701cff1926086785a41d6f49a3c2e2b9908499226d3d970bdb6397a74d3ccc22acb3651261ad2a421799eb135c64a78af8589 SHA512 c9587da66457e2010b0852c6dbf5949821a543b7f1b616a4d016df3477913e2a655c57289e83adeeb31b8b8afca22313e3af76cf727b93932d33a889c1263c20
-DIST bash-5.3_alpha_p20241115-fa68e6da80970c302948674369d278164a33ed39.tar.gz 14947053 BLAKE2B f05df995a93ee010e7867e828d30f2cdd0aa62fa020e632018cb8f3945626e0b0c254e4cb6f6e4de3dbb01994870a39f1edecb8fb30b4d38e6455d0c645ba2c5 SHA512 de33fc8dbf9d4a833220423bdd53627fa67335130442964c88e82f11ddf1c19aab0d166d5f7dba30767b8878b36ce7ddf4deea03633e98fa3459669f99086f5b
-DIST bash-5.3_alpha_p20241121-22417e78816237ae66f2da661567dfe5ed3452a1.tar.gz 14888873 BLAKE2B 78f9d15aee593497a2213e9cfcb03a0b5c8d127beacf0a2268f4bbefb79da41e6b2e4b9bf43b46c7b7cf4a276038554f708ee783fbd30f2489881af2fac165cc SHA512 f06e908ec673a605e967f7392aadcdea293bacafeb6991fd286e1b64ef606845c8cd78b01b1bb04a7ae9ad5c049324f51c1299c2fc90fdd3fd38575f9b380c11
DIST bash-5.3_alpha_p20241126-49c2670226b045746d66765b23af37c1c7ba5597.tar.gz 14891201 BLAKE2B 984e67e7d4520147ea28a72cab1afb364dce5ba942f07d25d805160395630fe10cbacc8302f47cbd108c4cba04622782e245f553586be3cd4c48b8685a798334 SHA512 b7795724d97012074361f229b561ccfb87a272e6d4351b9fc5cf13747b51d87fa3b7a1282a25a80aac248ca470c620e6e940abdb776cddd7cedfddcc23509f88
DIST bash205b-001 1132 BLAKE2B 0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6 SHA512 5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071
DIST bash205b-002 755 BLAKE2B 6a6ed5679d451f02f8104b345c1722d11718ce3b4043b581c17786d40d8da69a34786fb56d0c363dba277b8e9dd33f12f70c9cc73a9fc39ba4a8319406f0458d SHA512 46947b0229478d5c2cfeff68b8ebc00e4ef0c8b94e336ca12f72b4490ba3622c0240c01c17c1641c3b07adc2c64ec94d6d780365e8990768ec8888f3a9526883
@@ -481,8 +480,6 @@ EBUILD bash-5.0_p18-r2.ebuild 7807 BLAKE2B 1db98c0168fcf5eb0315b934f5f04d3ef61f9
EBUILD bash-5.1_p16-r13.ebuild 10425 BLAKE2B 5d1139d0b9988ece989e126d48b0522c4835805541d8e2a201d02a36dbc06e0cfcfc603c3f064e9ef1c08579dc8740be73e66bcbc2ab3f4db40c30a9d4a0dacb SHA512 9d2541cbc9b8bbdc172b9b0fa624ff2e3fbe0d8291b82e2e7f0054293cba9ede3d2c3c752c96f1363fe7febda0162180ecd40ea432e228670066e196e8b62604
EBUILD bash-5.2_p37.ebuild 11864 BLAKE2B fbc51a614a3cd31d434e578600c4b4183520e008ccd005fd5edecbe6272d01264e0612a45f6537d994f057572e78bbf68fcd2dc3832f6b9d7650236a4eb856c2 SHA512 148edbf2b3479f3b70238fa182075db8a65dc364e7627498e11ad52b9fc073b36e8a570b0321106835b690902a6ceecbd8b2064ef6f82dae5c3cdf4c2b6bbcd0
EBUILD bash-5.3_alpha-r5.ebuild 11560 BLAKE2B ddc3a3eb579849d0ab989f96f79212ac1438dd9cd61c618aa5a3ad4b0e60a6bf9452ca6063d3f7fd4742176ef8f3c991bb51440e59b7a2c08e61c73f6acad313 SHA512 06b44f783b7e0e47e1eee18c95614068e5e1111c8acc9255c4756285919ece70189fe0c6a00abe0732921dfff9b9ae751de85c5d5d0c27c57dd8ada7d0b3686f
-EBUILD bash-5.3_alpha_p20241115.ebuild 12151 BLAKE2B 52d8c1b46545103cde794aaade5fdf2bab17b906030afba78b58fa22dfa24bdc23d550ac73220590890a9cb180258ccc5d9007e9c72b608df723ece007cc99b3 SHA512 f427b04b25fcc25ae4dd2cc8ad4a83286d766096efb0874b44b9765445e29e974d49551a60984f2708c8ba851bae07472afa093c7d99ae07f348d6040ef448a9
-EBUILD bash-5.3_alpha_p20241121.ebuild 12151 BLAKE2B 7c45306db4437df7c5f6d9556930ab923e0f305feda83dd63d3ba468bf3431be3cc75921b834d1cf64378f060da33570fd823d9cc59a11c1c05cfb5bbf0841cb SHA512 d87e7913743689922502cdbce69438eb6e92c402915c295500f29fdb050bc2b54eddf5f5c484f5a494f1d824e463edc1fb1f96d4e2831c977eb4fab1ae7ea659
EBUILD bash-5.3_alpha_p20241126.ebuild 12151 BLAKE2B a6a24160cc5b3e63d99f3fa998d876455fda2ba785ab3a0ded81d16cdee0cb9a621fcadb88198e8ce0dd498a371b90c65915610977b0c01fe8fb3d224f086b3e SHA512 b5b9030216fd98f5f0a635bf7a637fc884342b45d5e8b55bd115454209126ab68d0513d8ab5092115cf01f877321717e4cfb7b392975d503aa97f2b48f1f1653
EBUILD bash-9999.ebuild 12151 BLAKE2B 2a196c15c43c613d03ca3ea480bdb4151b189a9b7c71a104b76268e6c051b12d4497a4d55af6dd2df10d5a9541778fb396b9c0a30cefdc16ea435f9a604e1a2b SHA512 d50d982e70df19288f69c6194b9d893cbee7fcf07034e7ba50495b3e25e6b5aba4e481f82d3781fcc9c7b1461b8d89158ea02465bc6f64105cb7489299cc267c
MISC metadata.xml 1009 BLAKE2B f71587b0a6d05b907f82b26be93b071290d91dc8f612f7b008a05eaa94d45be2ef8c1d992b7ac886648a9dcf964c30e8d9a7aff90d44835beb452e0d635b9533 SHA512 8aa1cb4c3206a76d10181394a91c315967fd9d3b359194f430f075fdd5a0b4b32149eec36b85412ef7e84b55e7b01955c75486b2df82b392a5acb3df8229a88d
diff --git a/app-shells/bash/bash-5.3_alpha_p20241115.ebuild b/app-shells/bash/bash-5.3_alpha_p20241115.ebuild
deleted file mode 100644
index c87c442d5a0e..000000000000
--- a/app-shells/bash/bash-5.3_alpha_p20241115.ebuild
+++ /dev/null
@@ -1,411 +0,0 @@
-# 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="fa68e6da80970c302948674369d278164a33ed39"
- SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz"
- 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 ~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-5.3_alpha_p20241121.ebuild b/app-shells/bash/bash-5.3_alpha_p20241121.ebuild
deleted file mode 100644
index b12b39124fd9..000000000000
--- a/app-shells/bash/bash-5.3_alpha_p20241121.ebuild
+++ /dev/null
@@ -1,411 +0,0 @@
-# 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="22417e78816237ae66f2da661567dfe5ed3452a1"
- SRC_URI="https://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-${BASH_COMMIT}.tar.gz -> ${P}-${BASH_COMMIT}.tar.gz"
- 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 ~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/files/bash-5.2_p21-wpointer-to-int.patch b/app-shells/bash/files/bash-5.2_p21-wpointer-to-int.patch
new file mode 100644
index 000000000000..3d4abbc47f43
--- /dev/null
+++ b/app-shells/bash/files/bash-5.2_p21-wpointer-to-int.patch
@@ -0,0 +1,13 @@
+https://lists.gnu.org/archive/html/bug-bash/2023-03/msg00116.html
+https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=57d4dc15ff35895a1c1248f948f59739ffb99fde
+--- lib/sh/random.c
++++ lib/sh/random.c
+@@ -90,7 +90,7 @@ genseed ()
+ u_bits32_t iv;
+
+ gettimeofday (&tv, NULL);
+- iv = (u_bits32_t)seedrand; /* let the compiler truncate */
++ iv = (uintptr_t)seedrand; /* let the compiler truncate */
+ iv = tv.tv_sec ^ tv.tv_usec ^ getpid () ^ getppid () ^ current_user.uid ^ iv;
+ return (iv);
+ }