commit:     39a5d033d59067ce95cf212358e2ed7a03a2a94b
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jun  7 11:02:21 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 13 19:38:10 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39a5d033

app-shells/bash: switch to patch tarballs

Was taking up 129K in files/ before.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-shells/bash/Manifest                           |  11 +
 app-shells/bash/bash-2.05b_p13.ebuild              |  30 ++-
 app-shells/bash/bash-3.0_p22.ebuild                |  34 ++-
 app-shells/bash/bash-3.1_p23.ebuild                |  30 ++-
 app-shells/bash/bash-3.2_p57.ebuild                |  34 ++-
 app-shells/bash/bash-4.0_p44.ebuild                |  28 +-
 app-shells/bash/bash-4.1_p17.ebuild                |  18 +-
 app-shells/bash/bash-4.2_p53.ebuild                |  22 +-
 app-shells/bash/bash-4.3_p48-r2.ebuild             |  20 +-
 app-shells/bash/bash-4.4_p23-r2.ebuild             |  16 +-
 app-shells/bash/bash-5.0_p18.ebuild                |  16 +-
 app-shells/bash/bash-5.1_p16.ebuild                |  24 +-
 app-shells/bash/bash-5.2_beta.ebuild               |  19 +-
 app-shells/bash/bash-9999.ebuild                   |  19 +-
 app-shells/bash/files/autoconf-mktime-2.53.patch   | 199 ---------------
 app-shells/bash/files/autoconf-mktime-2.59.patch   | 197 ---------------
 app-shells/bash/files/bash-2.05b-destdir.patch     |  28 --
 .../bash/files/bash-2.05b-empty-herestring.patch   |  25 --
 .../bash/files/bash-2.05b-fix-job-warning.patch    |  14 -
 app-shells/bash/files/bash-2.05b-jobs.patch        |  28 --
 .../bash/files/bash-2.05b-parallel-build.patch     |  15 --
 app-shells/bash/files/bash-2.05b-protos.patch      |  25 --
 app-shells/bash/files/bash-2.05b-rbash.patch       |  27 --
 app-shells/bash/files/bash-3.0-afs.patch           |  20 --
 app-shells/bash/files/bash-3.0-crash.patch         |  46 ----
 app-shells/bash/files/bash-3.0-darwin-conn.patch   |  20 --
 .../bash/files/bash-3.0-histtimeformat.patch       |  56 ----
 app-shells/bash/files/bash-3.0-jobs.patch          |  56 ----
 app-shells/bash/files/bash-3.0-locale.patch        | 112 --------
 app-shells/bash/files/bash-3.0-manpage.patch       |  15 --
 app-shells/bash/files/bash-3.0-multibyteifs.patch  | 281 ---------------------
 app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch |  20 --
 app-shells/bash/files/bash-3.0-protos.patch        |  68 -----
 app-shells/bash/files/bash-3.0-pwd.patch           |  16 --
 app-shells/bash/files/bash-3.0-rbash.patch         |  18 --
 .../bash/files/bash-3.0-read-builtin-pipe.patch    |  20 --
 app-shells/bash/files/bash-3.0-read-memleak.patch  |  15 --
 app-shells/bash/files/bash-3.0-strnlen.patch       | 175 -------------
 app-shells/bash/files/bash-3.0-subshell.patch      |  39 ---
 .../bash/files/bash-3.0-trap-fg-signals.patch      |  23 --
 app-shells/bash/files/bash-3.0-ulimit.patch        | 186 --------------
 .../bash/files/bash-3.0-volatile-command.patch     |  16 --
 .../files/bash-3.1-dev-fd-buffer-overflow.patch    |  16 --
 .../bash/files/bash-3.1-dev-fd-test-as-user.patch  |  14 -
 .../bash/files/bash-3.1-fix-dash-login-shell.patch |  52 ----
 app-shells/bash/files/bash-3.1-protos.patch        |  67 -----
 app-shells/bash/files/bash-3.1-ulimit.patch        | 122 ---------
 .../bash/files/bash-3.2-dev-fd-test-as-user.patch  |  26 --
 .../bash/files/bash-3.2-ldflags-for-build.patch    |  37 ---
 app-shells/bash/files/bash-3.2-loadables.patch     | 239 ------------------
 app-shells/bash/files/bash-3.2-process-subst.patch |  12 -
 app-shells/bash/files/bash-3.2-protos.patch        |  57 -----
 .../bash/files/bash-3.2-session-leader.patch       |  65 -----
 app-shells/bash/files/bash-3.2-ulimit.patch        |  13 -
 app-shells/bash/files/bash-4.0-configure.patch     |  25 --
 .../bash/files/bash-4.0-ldflags-for-build.patch    |  15 --
 .../bash/files/bash-4.0-negative-return.patch      |  33 ---
 .../bash/files/bash-4.0-parallel-build.patch       |  65 -----
 app-shells/bash/files/bash-4.1-fbsd-eaccess.patch  |  29 ---
 .../bash/files/bash-4.1-parallel-build.patch       |  23 --
 .../files/bash-4.2-dev-fd-buffer-overflow.patch    |  46 ----
 .../bash/files/bash-4.2-execute-job-control.patch  |  24 --
 app-shells/bash/files/bash-4.2-no-readline.patch   |  19 --
 .../bash/files/bash-4.2-parallel-build.patch       | 106 --------
 app-shells/bash/files/bash-4.2-read-retry.patch    |  41 ---
 .../bash/files/bash-4.2-speed-up-read-N.patch      | 112 --------
 app-shells/bash/files/bash-4.3-arrayfunc.patch     |  15 --
 ....3-mapfile-improper-array-name-validation.patch |  13 -
 app-shells/bash/files/bash-4.3-protos.patch        |  10 -
 app-shells/bash/files/bash-4.4-jobs_overflow.patch |  14 -
 .../bash/files/bash-4.4-popd-offset-overflow.patch |  30 ---
 .../bash/files/bash-4.4-set-SHOBJ_STATUS.patch     |  14 -
 .../bash/files/bash-4.x-deferred-heredocs.patch    |  47 ----
 .../bash/files/bash-5.0-history-append.patch       |  34 ---
 74 files changed, 252 insertions(+), 3264 deletions(-)

diff --git a/app-shells/bash/Manifest b/app-shells/bash/Manifest
index f85c9cc6f7f4..36f166d3c882 100644
--- a/app-shells/bash/Manifest
+++ b/app-shells/bash/Manifest
@@ -1,15 +1,26 @@
 DIST bash-2.05b.tar.gz 1956216 BLAKE2B 
15962417d13c6eec0db0861b601c33a6b13dc38d41672258f8f9fb8968a000ca1df7d5d3c99bbcb023e0b6b3e703d6c250291ac68ab3f24159eec7c2f0105b43
 SHA512 
595f84cfd38b239ff37f2c6fc22c669f8e1d4fea34400e30c4079ab657d05f735ee6b0e6af0db6c1b17dbf9cecec81805b467b4dbd45cc97044bfefac731aad6
+DIST bash-2.05b_p13-patches.tar.xz 4152 BLAKE2B 
0f3d25f9b3a5df36a2da32b9cfc16d23901fd3b63578863903ff01530b9c524338d5cadd0ebe7d4fb79f7ac57945d77a3432578d7c2702a49f650d5774772453
 SHA512 
ef040ed2f53bae49cd84615adb513031a4dcbccef1af0669c2464ee7e3bd87615cd250d12342483fc895b0e8e6120bbc3b5c28b0d9b94cd3c6fe48d6c510d1f1
 DIST bash-3.0.tar.gz 2418293 BLAKE2B 
7013cf7020e61987610933df55b1cf34036a2912c1844e87895535e7e77b28e2526b2a336365bd15cd2d528d9769783ff34c120c2d6932d8708e0b029ff68715
 SHA512 
2b56dc0531e908811e1cced23067d82505d57a3cf4651125a6e424649bc98f476366579306e03242388f0f5b17d2a09badc15b8358f70cde6f64c60b94015c9b
+DIST bash-3.0_p22-patches.tar.xz 13564 BLAKE2B 
b7107ffb3f9c592950f10369ea6c00f40e67eacbd42a23821a3db71f7326fba016a6b3e868cbe6f61fc00204a5ea02be27fa699aa3776afaa4b0aff5ba1f2f00
 SHA512 
146ab52e716cdb5c0896cf95b423662ed39acab5a0c34530cc1f9b3084dd68af8df52e9c69a7b206aa57b67911bdf138f2d46441b9cc1e533b028dfeceaa233c
 DIST bash-3.1.tar.gz 2533934 BLAKE2B 
5cef5bb8a1b36688d578967e97bf19452f79f68012e4c720baceaf31cf1cd03d1dac0962d2b663a3b83bbea71b131ea54e15769fd22575ef1e610fd97efed615
 SHA512 
3b5d5f0de83d71c972e75267ab8f6b05a7e144acb39a7c6e14be7b4bcb9b67faeaf9a123fceebd957befa1222db05b9b539f524032d89eb1fb5936d9846c1c7e
+DIST bash-3.1_p23-patches.tar.xz 5792 BLAKE2B 
239cd54b576101745f1d054b0de9bb7f8071329a99c46a04d35f1022cd0a8bfc86b871bb31637d924d8822f23de63922572966af548b6f76191490180592dd9e
 SHA512 
26ac839cd00b19ccf4e170faf0ac044d31158d77c6cc00654cd92a6a4312eb5ded652fd2f3347d997dd1dc13916b1d5471ce2bcc6d1af5af21ccab25498febc4
 DIST bash-3.2.tar.gz 2529838 BLAKE2B 
1e145f31231b0e5b0a2bbf2046e14df9718552856c01dc9699d75596b353ac0c8ac1d3bcfe4e0bd1a38aade6e775499f967925f74efe39f84611ac2b562ab47e
 SHA512 
cc88b1a4dab9f752cf6a22153e40b8590f6d3408217730bb28f5eb431cbb5577c4d3befe8bd44669b8fa64433f299e0dd23511fd1ed8a820020e2f7f4a461758
+DIST bash-3.2_p57-patches.tar.xz 6060 BLAKE2B 
b6ed8271c8bd8dc765b1ca431ab524734f3a8486cacc54f7d1402a568f4dfe2569dad226bdecfad4aabdacb77491a9679070afaf9c80fa40bc44fd1e4d5c2f17
 SHA512 
aaec0d98cea6fbe8a34ea430d289314fa4db98c284eefa6dbb787da6061d13ed0b89ce982c0147fa7bd2e8935fd955f106a86c2ddb38476a9b8379404394e42b
 DIST bash-4.0.tar.gz 6230779 BLAKE2B 
747614b0e7aa5aafec25850863e228837ac941a3285ec01e8adafde63ebb98c9211d1a8ae0782bc700340559a9884014c84c5ed2867cf40027886dd91de001bc
 SHA512 
dccd099d11d649b26d5b5c2ab5fb8f33915631e1d86fba519a0464f2bd3a3289655e956cf161a0dc3671b8be193b6b065bede8a407d98af3012dd4b824711255
+DIST bash-4.0_p44-patches.tar.xz 3036 BLAKE2B 
2dbff6f391b0b6a239b693578812541004de81c841d32eb6e4d7dbb2ab436a9d4052de4e44ec753fa669090fc1c4420bc2607839c533b7a7477c91cc7c5ace35
 SHA512 
d81a8d625e1522195c80ffa010b8862fe304f470187e1a12be673fd04cfd22d3605a30fb53b718817c07404e793c1738a5dcb94902566304c28a5f8eb679c395
 DIST bash-4.1.tar.gz 6598300 BLAKE2B 
8ed70736071f7d946b939247dd43214059c7d545d99e4c7ec3388da263eb4f3faeeef939884ac8a489ded71fbfbaee15bb1cc6e29f3397f6e2c0d1e1d7097cda
 SHA512 
2f2a053d98be9a31cd089e1293e3369ad05406f6543d1d1662d8b5807fdcfebc1dda79db9bf2c596a6351ea463fb9bd9c8943c1d45da9b82f2fd3bab0b8a581a
+DIST bash-4.1_p17-patches.tar.xz 1604 BLAKE2B 
95dee794fd9890a47f5571a5921bb7abf0708da522a21bc7ee14a75461c0a618cfd54d86f3e210580395aa10c53e9435728a6bda97c58970108ba5414d93ba38
 SHA512 
1a31b8a0423fafd6449fbfd8d4eb11877e8016f0fb8eb53c48a821791bfe1f7755d9a9999b08cdced39afdfcd3b2058b91a555a31ff4aeae472fc076bd93120f
 DIST bash-4.2.tar.gz 7009201 BLAKE2B 
52a4432ae401121ff187487a75a6541ce001c24d7d2251c3f0e33a58e93ff0c11b4c988003c6c740c13a51df0d752565023b8c39e79c96de52c73b49cc180523
 SHA512 
fdd3c230f4f7a687d36db1b8f7baab5e553cf55756e2d49a88ffaa4260c8cb949897dec9f48655e96608ef0093ac101b60c132060f06c711c0ab81aa3f148b5c
+DIST bash-4.2_p53-patches.tar.xz 4112 BLAKE2B 
bff4d8db9af567c0e5966f45941dee99562674c462670ee8339e8de4a68f5a2e4c4ace9dd7929c39df8dd24382cf99a750745612dac3b11e7dde8e4e321b9f32
 SHA512 
83f0fbf4943aa285c1c241854e6952669d078b17015c02c37e43e3f1b92b6f2bd9aa20c72ff6f4322089051035e81943885c22a059f2db63edb5c60970a65d12
 DIST bash-4.3.tar.gz 7955839 BLAKE2B 
398461e90a1ab6fd726b1a9db41c4c2a1e184034e3b96029bd17097338f1f9869d1c2216bde0b5b3c8e561629824348a0da3045cc425914e8e024180a175efe4
 SHA512 
a852b8e46ee55568dce9d23a30a9dbd1c770c2d2a4bc91e1c3177d723b31b32c5d69d19704a93f165891b409b9dd2cc65723372044e2bd0ee49ed59a11512651
+DIST bash-4.3_p48-r2-patches.tar.xz 1080 BLAKE2B 
2dfea3d3b24f6e03a2ba4643000599f7afda45bf07c78fcd748626304a6e31e3b55ca62043a41c9081d54cbe652e326d2ae90d1a07ae1f96ae99393e30dd6680
 SHA512 
a90886833c4b9962795fb3bf4b0b345e493fa90f0676ef6b618e8838cbb89ab8b298b0df0706bf1c11d817f56273222e1b44b1f4921e6d23f5b570bafdd0949c
 DIST bash-4.4.tar.gz 9377313 BLAKE2B 
ac0e481dd4f2d5b91eea4f0156f1fc398ef8bd1ccd941366aa9b041be576114c51e1ff1431ec871e96fb72257c2a05a0ebcbd88c43c221610fef7dfdb2502fc0
 SHA512 
73de3b425faaac55e45456b0f6f6d8077b5dfa7bb76e0d1894a19361b4a2b6bd4fbbe182117ddbfe9b07b4d898fba03537c261badc9533dd3c0da891764c7f29
+DIST bash-4.4_p23-r2-patches.tar.xz 664 BLAKE2B 
4a5b71b95744be6b22807671ae3348aeb236b0c50d86d2dcaf142d847f3616d2b40858dae99fadbddfe1b206a86ad7730a7ef43a1864c18840b0ce97add52568
 SHA512 
0cddd5a251e0de52a8717cb7bfdc46745d9b3b5192d6cc81125afc5ac7d65748641af3d8e2241d3bbf642a485a23960fe02177901a6184135bc79b68bbdb04cc
 DIST bash-5.0.tar.gz 10135110 BLAKE2B 
a6c4d79144aa0c0f4a9433d618085c0d46b792b1de429b161f9f0266b55c099e13e44416c0886758a6f29411f5ceb79bfb0ec4eda47473f2713ae0b8081d6d3e
 SHA512 
bb4519f06e278f271d08722b531e49d2e842cc3e0b02a6b3eee422e2efcb5b6226111af43f5e5eae56beb85ac8bfebcd6a4aacbabb8f609e529aa4d571890864
+DIST bash-5.0_p18-patches.tar.xz 804 BLAKE2B 
89e615a08920a4cfc90f72d125a8256275b0677fb2d7abf208ca90ac80471d5fbf7efb86c814b6ccbbc65772370ed8fe82b7cee9b247ec881c0b664dee152f72
 SHA512 
538f817867ff3613f2177f2e6d9fecc69057152ac9cf35a5a7448ddc83960b94bc8e8f2987226ba68d14de376127ee5cf6c83f5374b74feb14fa1c5aab6105c7
 DIST bash-5.1.tar.gz 10458638 BLAKE2B 
42059556694b604911b5b7936f94d42d8923f2931f3ebacefd95454274c7baadb1ec97629a524c1542e2e282dae66f1389334f8edc572ca8ee841cc3ac449ba7
 SHA512 
c44a0ce381469219548a3a27589af3fea4f22eda1ca4e9434b59fc16da81b471c29ce18e31590e0860a6a251a664b68c2b45e3a17d22cfc02799ffd9a208390c
 DIST bash-5.1.tar.gz.sig 95 BLAKE2B 
ac9209d6a4ab4436c511a7a195594e9036d7d1aef7887972f61a0e97378a9685b882621d7f95f5326b155dc155c41635417ce2ca41ac6d0dda78bd293ea4249f
 SHA512 
3966404c0f683c7ef214fcf283b551e5441af3897009f778308c2e34067d98d57c95561453416a54ca5b1daf9a1288dbf950fe3f13353703cead12f5eec5fad8
+DIST bash-5.1_p16-patches.tar.xz 388 BLAKE2B 
1575d54d311872c7ca71e13711fa0f7e3534fca16fd9d1ca045b6c696c9ca56f6a0ed5023a05d847ab5ddbefc22b8ef2c2a681f09571520f0294d83b495f0015
 SHA512 
c85e5b83f6ee1a7345647fa937d9718cab13be1a65886755d26a78d21fea4246650c7441a34fd729212e220366985b410562002d74c02c18de7ef0469b409ac7
 DIST bash-5.2-beta.tar.gz 10767207 BLAKE2B 
e3e0afd0d032dab002f3f7327cddbed56578d4d205e687c3408a9985038a4f24e7a728b874ff4ad960ca0c18e3174364e251658fb5ac8d1abed9907dd77764d2
 SHA512 
114fef0e3160d68fec977ccbe921b9e8a5ce468a8baefa1adb38c253da4528a3bd9a2791c667b01f0b7e248692044357d0506ee8a0b0ff2d4facc26112d0557d
 DIST bash-5.2-beta.tar.gz.sig 95 BLAKE2B 
1c5a1ce4f6157593c40d931591dfa0c6b0baf8e871119fd94687d1fd17266be5e8445a174609075878f31f0e4d6722a6f19ae399a30bf3b5f254494aba5e21f7
 SHA512 
e0054cc76c9c5d066f6c4343ba8f144acb4f8792a1df1514845a9be4a1bd55b2b5bbf9f9318e8657d1efcd6dbe7b374eab757219d2334698a9ef56367bb4b4c1
 DIST bash205b-001 1132 BLAKE2B 
0c5eef29777d54ef05957ea3d63b1556fb380bd20c238dc28993d822b37bc4e78ff4048ad069f6b8cd25da77ccdeb7aecd86c4349cb9d81e5e94c7001eeae5e6
 SHA512 
5ce4357468821b05e747201f3aa57225ad8f540c9e2c87051720490e039c30b478b9b662a68f14a0800fefe40184e4495e2645665200f9d75e9a115b2ac08071

diff --git a/app-shells/bash/bash-2.05b_p13.ebuild 
b/app-shells/bash/bash-2.05b_p13.ebuild
index 508333271bcc..ef9bd98f1080 100644
--- a/app-shells/bash/bash-2.05b_p13.ebuild
+++ b/app-shells/bash/bash-2.05b_p13.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-2.05b-patches/
 PLEVEL="${PV##*_p}"
@@ -31,6 +35,10 @@ DESCRIPTION="The standard GNU Bourne again shell"
 HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html";
 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
 
+if [[ -n ${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-2"
 SLOT="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc 
x86"
@@ -46,15 +54,15 @@ DEPEND="${RDEPEND}
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-2.05b-destdir.patch
-       "${FILESDIR}"/autoconf-mktime-2.53.patch # bug #220040
-       "${FILESDIR}"/${PN}-2.05b-protos.patch
-       "${FILESDIR}"/${PN}-2.05b-empty-herestring.patch
-       "${FILESDIR}"/${PN}-2.05b-rbash.patch # bug #26854
-       "${FILESDIR}"/${PN}-2.05b-parallel-build.patch # bug #41002
-       "${FILESDIR}"/${PN}-2.05b-jobs.patch
-       "${FILESDIR}"/${PN}-2.05b-fix-job-warning.patch
-       "${FILESDIR}"/${PN}-3.1-dev-fd-buffer-overflow.patch # bug #431850
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-destdir.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/autoconf-mktime-2.53.patch # bug 
#220040
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-protos.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-empty-herestring.patch
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-rbash.patch 
# bug #26854
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-parallel-build.patch 
# bug #41002
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-jobs.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-fix-job-warning.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.1-dev-fd-buffer-overflow.patch
 # bug #431850
 )
 
 pkg_setup() {
@@ -68,6 +76,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-3.0_p22.ebuild 
b/app-shells/bash/bash-3.0_p22.ebuild
index fa3951936d98..15629ba77d24 100644
--- a/app-shells/bash/bash-3.0_p22.ebuild
+++ b/app-shells/bash/bash-3.0_p22.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-3.0-patches/
 PLEVEL="${PV##*_p}"
@@ -31,6 +35,10 @@ DESCRIPTION="The standard GNU Bourne again shell"
 HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html";
 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
 
+if [[ -n ${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-2"
 SLOT="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc 
x86"
@@ -46,20 +54,20 @@ DEPEND="${RDEPEND}
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
-       "${FILESDIR}"/autoconf-mktime-2.53.patch
-       "${FILESDIR}"/${PN}-3.0-protos.patch
-       "${FILESDIR}"/${PN}-3.0-rbash.patch # bug #26854
-       "${FILESDIR}"/${PN}-2.05b-parallel-build.patch # bug #41002
-       "${FILESDIR}"/${PN}-3.0-darwin-conn.patch # bug #79124
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/autoconf-mktime-2.53.patch
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-protos.patch
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-rbash.patch # 
bug #26854
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-parallel-build.patch 
# bug #41002
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-darwin-conn.patch # 
bug #79124
 
        # Read patch headers for more info ... many ripped from 
Fedora/Debian[17]/SuSe/upstream
-       
"${FILESDIR}"/${PN}-3.0-{afs,crash,jobs,manpage,pwd,ulimit,histtimeformat,locale,multibyteifs,subshell,volatile-command}.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-{afs,crash,jobs,manpage,pwd,ulimit,histtimeformat,locale,multibyteifs,subshell,volatile-command}.patch
 
-       "${FILESDIR}"/${PN}-3.0-read-builtin-pipe.patch # bug #87093
-       "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
-       "${FILESDIR}"/${PN}-3.0-pgrp-pipe-fix.patch # bug #92349
-       "${FILESDIR}"/${PN}-3.0-strnlen.patch
-       "${FILESDIR}"/${PN}-3.1-dev-fd-buffer-overflow.patch # bug #431850
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-read-builtin-pipe.patch
 # bug #87093
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-trap-fg-signals.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-pgrp-pipe-fix.patch # 
bug #92349
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-strnlen.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.1-dev-fd-buffer-overflow.patch
 # bug #431850
 )
 
 pkg_setup() {
@@ -73,6 +81,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-3.1_p23.ebuild 
b/app-shells/bash/bash-3.1_p23.ebuild
index bc1b322a17e3..9e742a38c00b 100644
--- a/app-shells/bash/bash-3.1_p23.ebuild
+++ b/app-shells/bash/bash-3.1_p23.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-3.1-patches/
 PLEVEL="${PV##*_p}"
@@ -31,6 +35,10 @@ DESCRIPTION="The standard GNU Bourne again shell"
 HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html";
 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
 
+if [[ -n ${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-2"
 SLOT="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc 
x86"
@@ -46,15 +54,15 @@ DEPEND="${RDEPEND}
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
-       "${FILESDIR}"/autoconf-mktime-2.53.patch # bug #220040
-       "${FILESDIR}"/${PN}-2.05b-parallel-build.patch # bug #41002
-       "${FILESDIR}"/${PN}-3.1-protos.patch
-       "${FILESDIR}"/${PN}-3.1-ulimit.patch
-       "${FILESDIR}"/${PN}-3.0-read-memleak.patch
-       "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
-       "${FILESDIR}"/${PN}-3.1-fix-dash-login-shell.patch # bug #118257
-       "${FILESDIR}"/${PN}-3.1-dev-fd-test-as-user.patch # bug #131875
-       "${FILESDIR}"/${PN}-3.1-dev-fd-buffer-overflow.patch # bug #431850
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/autoconf-mktime-2.53.patch # bug 
#220040
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-parallel-build.patch 
# bug #41002
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.1-protos.patch
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.1-ulimit.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-read-memleak.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-trap-fg-signals.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.1-fix-dash-login-shell.patch
 # bug #118257
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.1-dev-fd-test-as-user.patch
 # bug #131875
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.1-dev-fd-buffer-overflow.patch
 # bug #431850
 )
 
 pkg_setup() {
@@ -68,6 +76,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-3.2_p57.ebuild 
b/app-shells/bash/bash-3.2_p57.ebuild
index 8f054fd31d22..fd2dedaf8b86 100644
--- a/app-shells/bash/bash-3.2_p57.ebuild
+++ b/app-shells/bash/bash-3.2_p57.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-3.2-patches/
 PLEVEL="${PV##*_p}"
@@ -31,6 +35,10 @@ DESCRIPTION="The standard GNU Bourne again shell"
 HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html";
 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
 
+if [[ -n ${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-2"
 SLOT="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc 
x86"
@@ -46,17 +54,17 @@ DEPEND="${RDEPEND}
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
-       "${FILESDIR}"/autoconf-mktime-2.59.patch # bug #220040
-       "${FILESDIR}"/${PN}-3.2-loadables.patch
-       "${FILESDIR}"/${PN}-2.05b-parallel-build.patch # bug #41002
-       "${FILESDIR}"/${PN}-3.2-protos.patch
-       "${FILESDIR}"/${PN}-3.2-session-leader.patch # bug #231775
-       "${FILESDIR}"/${PN}-3.2-ldflags-for-build.patch # bug #211947
-       "${FILESDIR}"/${PN}-3.2-process-subst.patch
-       "${FILESDIR}"/${PN}-3.2-ulimit.patch
-       "${FILESDIR}"/${PN}-3.0-trap-fg-signals.patch
-       "${FILESDIR}"/${PN}-3.2-dev-fd-test-as-user.patch # bug #131875
-       "${FILESDIR}"/${PN}-4.2-dev-fd-buffer-overflow.patch # bug #431850
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/autoconf-mktime-2.59.patch # bug 
#220040
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.2-loadables.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-parallel-build.patch 
# bug #41002
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.2-protos.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.2-session-leader.patch # 
bug #231775
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.2-ldflags-for-build.patch
 # bug #211947
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.2-process-subst.patch
+       "${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.2-ulimit.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.0-trap-fg-signals.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-3.2-dev-fd-test-as-user.patch
 # bug #131875
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.2-dev-fd-buffer-overflow.patch
 # bug #431850
 )
 
 pkg_setup() {
@@ -70,6 +78,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-4.0_p44.ebuild 
b/app-shells/bash/bash-4.0_p44.ebuild
index 80f0e3193096..3e10f70b2b88 100644
--- a/app-shells/bash/bash-4.0_p44.ebuild
+++ b/app-shells/bash/bash-4.0_p44.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-4.0-patches/
 PLEVEL="${PV##*_p}"
@@ -31,6 +35,10 @@ DESCRIPTION="The standard GNU Bourne again shell"
 HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html";
 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
 
+if [[ -n ${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="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc 
x86"
@@ -46,14 +54,14 @@ DEPEND="${RDEPEND}
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-4.0-configure.patch # bug #304901
-       "${FILESDIR}"/${PN}-4.x-deferred-heredocs.patch
-
-       "${FILESDIR}"/${PN}-2.05b-parallel-build.patch # bug #41002
-       "${FILESDIR}"/${PN}-4.0-ldflags-for-build.patch # bug #211947
-       "${FILESDIR}"/${PN}-4.0-negative-return.patch
-       "${FILESDIR}"/${PN}-4.0-parallel-build.patch # bug #267613
-       "${FILESDIR}"/${PN}-4.2-dev-fd-buffer-overflow.patch #431850
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.0-configure.patch # bug 
#304901
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.x-deferred-heredocs.patch
+
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-2.05b-parallel-build.patch 
# bug #41002
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.0-ldflags-for-build.patch
 # bug #211947
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.0-negative-return.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.0-parallel-build.patch # 
bug #267613
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.2-dev-fd-buffer-overflow.patch
 #431850
 )
 
 pkg_setup() {
@@ -67,6 +75,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-4.1_p17.ebuild 
b/app-shells/bash/bash-4.1_p17.ebuild
index 1f9fd413625e..5088a6d4f393 100644
--- a/app-shells/bash/bash-4.1_p17.ebuild
+++ b/app-shells/bash/bash-4.1_p17.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-4.1-patches/
 PLEVEL="${PV##*_p}"
@@ -31,6 +35,10 @@ DESCRIPTION="The standard GNU Bourne again shell"
 HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html";
 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
 
+if [[ -n ${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="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc 
x86"
@@ -46,10 +54,10 @@ DEPEND="${RDEPEND}
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-4.1-fbsd-eaccess.patch #bug #303411
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.1-fbsd-eaccess.patch 
#bug #303411
 
-       "${FILESDIR}"/${PN}-4.1-parallel-build.patch
-       "${FILESDIR}"/${PN}-4.2-dev-fd-buffer-overflow.patch #bug #431850
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.1-parallel-build.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.2-dev-fd-buffer-overflow.patch
 #bug #431850
 )
 
 pkg_setup() {
@@ -63,6 +71,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-4.2_p53.ebuild 
b/app-shells/bash/bash-4.2_p53.ebuild
index d2f41d73b72e..e80e66616297 100644
--- a/app-shells/bash/bash-4.2_p53.ebuild
+++ b/app-shells/bash/bash-4.2_p53.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-4.2-patches/
 PLEVEL="${PV##*_p}"
@@ -31,6 +35,10 @@ DESCRIPTION="The standard GNU Bourne again shell"
 HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html";
 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
 
+if [[ -n ${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="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc 
x86"
@@ -48,11 +56,11 @@ BDEPEND="virtual/yacc"
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-4.2-execute-job-control.patch # bug #383237
-       "${FILESDIR}"/${PN}-4.2-parallel-build.patch
-       "${FILESDIR}"/${PN}-4.2-no-readline.patch
-       "${FILESDIR}"/${PN}-4.2-read-retry.patch # bug #447810
-       "${FILESDIR}"/${PN}-4.2-speed-up-read-N.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.2-execute-job-control.patch
 # bug #383237
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.2-parallel-build.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.2-no-readline.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.2-read-retry.patch # bug 
#447810
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-4.2-speed-up-read-N.patch
 )
 
 pkg_setup() {
@@ -66,6 +74,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-4.3_p48-r2.ebuild 
b/app-shells/bash/bash-4.3_p48-r2.ebuild
index 907ee1c4df9b..4409129e3732 100644
--- a/app-shells/bash/bash-4.3_p48-r2.ebuild
+++ b/app-shells/bash/bash-4.3_p48-r2.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}-r2"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-4.3-patches/
 PLEVEL="${PV##*_p}"
@@ -35,6 +39,10 @@ HOMEPAGE="https://tiswww.case.edu/php/chet/bash/bashtop.html";
 SRC_URI="mirror://gnu/bash/${MY_P}.tar.gz $(patches)"
 [[ ${PV} == *_rc* ]] && SRC_URI+=" ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz";
 
+if [[ -n ${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="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc 
x86"
@@ -49,10 +57,10 @@ RDEPEND="${DEPEND}
 BDEPEND="virtual/yacc"
 
 PATCHES=(
-       "${FILESDIR}"/${PN}-4.3-mapfile-improper-array-name-validation.patch
-       "${FILESDIR}"/${PN}-4.3-arrayfunc.patch
-       "${FILESDIR}"/${PN}-4.3-protos.patch
-       "${FILESDIR}"/${PN}-4.4-popd-offset-overflow.patch # bug #600174
+       
"${WORKDIR}"/${P}-r2-patches/${PN}-4.3-mapfile-improper-array-name-validation.patch
+       "${WORKDIR}"/${P}-r2-patches/${PN}-4.3-arrayfunc.patch
+       "${WORKDIR}"/${P}-r2-patches/${PN}-4.3-protos.patch
+       "${WORKDIR}"/${P}-r2-patches/${PN}-4.4-popd-offset-overflow.patch # bug 
#600174
 )
 
 S="${WORKDIR}/${MY_P}"
@@ -73,6 +81,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-4.4_p23-r2.ebuild 
b/app-shells/bash/bash-4.4_p23-r2.ebuild
index ee79d247e465..1cbb226099a8 100644
--- a/app-shells/bash/bash-4.4_p23-r2.ebuild
+++ b/app-shells/bash/bash-4.4_p23-r2.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs prefix
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}-r2"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-4.4-patches/
 PLEVEL="${PV##*_p}"
@@ -44,6 +48,10 @@ else
        SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz";
 fi
 
+if [[ -n ${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="${MY_PV}"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 
sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
@@ -78,14 +86,18 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {
        # Include official patches
        [[ ${PLEVEL} -gt 0 ]] && eapply -p0 $(patches -s)
 
-       eapply "${FILESDIR}/${PN}-4.4-jobs_overflow.patch" # bug #644720
-       eapply "${FILESDIR}/${PN}-4.4-set-SHOBJ_STATUS.patch" # bug #644720
+       eapply "${WORKDIR}"/${P}-r2-patches/${PN}-4.4-jobs_overflow.patch # bug 
#644720
+       eapply "${WORKDIR}"/${P}-r2-patches/${PN}-4.4-set-SHOBJ_STATUS.patch # 
bug #644720
 
        # Clean out local libs so we know we use system ones w/releases.
        if is_release ; then

diff --git a/app-shells/bash/bash-5.0_p18.ebuild 
b/app-shells/bash/bash-5.0_p18.ebuild
index 55aa53be0667..55781d0923c2 100644
--- a/app-shells/bash/bash-5.0_p18.ebuild
+++ b/app-shells/bash/bash-5.0_p18.ebuild
@@ -5,6 +5,10 @@ EAPI=7
 
 inherit flag-o-matic toolchain-funcs prefix
 
+# Uncomment if we have a patchset
+GENTOO_PATCH_DEV="sam"
+GENTOO_PATCH_VER="${PV}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-5.0-patches/
 PLEVEL="${PV##*_p}"
@@ -44,6 +48,10 @@ else
        SRC_URI="ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz";
 fi
 
+if [[ -n ${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"
 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 
sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
@@ -64,8 +72,8 @@ S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
        # Patches from Chet sent to bashbug ml
-       "${FILESDIR}"/${PN}-5.0-history-append.patch
-       "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-history-append.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-syslog-history-extern.patch
 )
 
 pkg_setup() {
@@ -84,6 +92,10 @@ pkg_setup() {
 
 src_unpack() {
        unpack ${MY_P}.tar.gz
+
+       if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+               unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-5.1_p16.ebuild 
b/app-shells/bash/bash-5.1_p16.ebuild
index a274960e97fe..43292ec1f762 100644
--- a/app-shells/bash/bash-5.1_p16.ebuild
+++ b/app-shells/bash/bash-5.1_p16.ebuild
@@ -6,6 +6,10 @@ EAPI=7
 VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/
 PLEVEL="${PV##*_p}"
@@ -48,6 +52,10 @@ else
        SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig 
)"
 fi
 
+if [[ -n ${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"
 [[ "${PV}" == *_rc* ]] || \
@@ -70,7 +78,7 @@ S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
        # Patches from Chet sent to bashbug ml
-       "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
+       
"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}-patches/${PN}-5.0-syslog-history-extern.patch
 )
 
 pkg_setup() {
@@ -88,9 +96,19 @@ pkg_setup() {
 }
 
 src_unpack() {
-       verify-sig_src_unpack
+       if [[ ${PV} == 9999 ]] ; then
+               git-r3_src_unpack
+       else
+               if use verify-sig ; then
+                       verify-sig_verify_detached 
"${DISTDIR}"/${MY_P}.tar.gz{,.sig}
+               fi
+
+               unpack ${MY_P}.tar.gz
 
-       unpack ${MY_P}.tar.gz
+               if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+                       unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+               fi
+       fi
 }
 
 src_prepare() {

diff --git a/app-shells/bash/bash-5.2_beta.ebuild 
b/app-shells/bash/bash-5.2_beta.ebuild
index 851264513714..9582f937a142 100644
--- a/app-shells/bash/bash-5.2_beta.ebuild
+++ b/app-shells/bash/bash-5.2_beta.ebuild
@@ -10,6 +10,10 @@ EAPI=7
 VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/
 PLEVEL="${PV##*_p}"
@@ -57,6 +61,10 @@ else
        SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig 
)"
 fi
 
+if [[ -n ${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 is_release ; then
@@ -79,6 +87,8 @@ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-chetramey )"
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
+       #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
+
        # Patches from Chet sent to bashbug ml
        "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
 )
@@ -101,8 +111,15 @@ src_unpack() {
        if [[ ${PV} == 9999 ]] ; then
                git-r3_src_unpack
        else
-               verify-sig_src_unpack
+               if use verify-sig ; then
+                       verify-sig_verify_detached 
"${DISTDIR}"/${MY_P}.tar.gz{,.sig}
+               fi
+
                unpack ${MY_P}.tar.gz
+
+               if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+                       unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+               fi
        fi
 }
 

diff --git a/app-shells/bash/bash-9999.ebuild b/app-shells/bash/bash-9999.ebuild
index 851264513714..9582f937a142 100644
--- a/app-shells/bash/bash-9999.ebuild
+++ b/app-shells/bash/bash-9999.ebuild
@@ -10,6 +10,10 @@ EAPI=7
 VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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}"
+
 # Official patchlevel
 # See ftp://ftp.cwru.edu/pub/bash/bash-5.1-patches/
 PLEVEL="${PV##*_p}"
@@ -57,6 +61,10 @@ else
        SRC_URI+=" verify-sig? ( ftp://ftp.cwru.edu/pub/bash/${MY_P}.tar.gz.sig 
)"
 fi
 
+if [[ -n ${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 is_release ; then
@@ -79,6 +87,8 @@ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-chetramey )"
 S="${WORKDIR}/${MY_P}"
 
 PATCHES=(
+       #"${WORKDIR}"/${PN}-${GENTOO_PATCH_VER}/
+
        # Patches from Chet sent to bashbug ml
        "${FILESDIR}"/${PN}-5.0-syslog-history-extern.patch
 )
@@ -101,8 +111,15 @@ src_unpack() {
        if [[ ${PV} == 9999 ]] ; then
                git-r3_src_unpack
        else
-               verify-sig_src_unpack
+               if use verify-sig ; then
+                       verify-sig_verify_detached 
"${DISTDIR}"/${MY_P}.tar.gz{,.sig}
+               fi
+
                unpack ${MY_P}.tar.gz
+
+               if [[ -n ${GENTOO_PATCH_VER} ]] ; then
+                       unpack ${PN}-${GENTOO_PATCH_VER}-patches.tar.xz
+               fi
        fi
 }
 

diff --git a/app-shells/bash/files/autoconf-mktime-2.53.patch 
b/app-shells/bash/files/autoconf-mktime-2.53.patch
deleted file mode 100644
index 7632b63f4f79..000000000000
--- a/app-shells/bash/files/autoconf-mktime-2.53.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-https://bugs.gentoo.org/220040
-
---- a/configure
-+++ b/configure
-@@ -12393,22 +12393,25 @@ else
- #line $LINENO "configure"
- #include "confdefs.h"
- /* Test program from Paul Eggert and Tony Leneis.  */
--#if TIME_WITH_SYS_TIME
-+#ifdef TIME_WITH_SYS_TIME
- # include <sys/time.h>
- # include <time.h>
- #else
--# if HAVE_SYS_TIME_H
-+# ifdef HAVE_SYS_TIME_H
- #  include <sys/time.h>
- # else
- #  include <time.h>
- # endif
- #endif
- 
--#if HAVE_UNISTD_H
-+#include <limits.h>
-+#include <stdlib.h>
-+
-+#ifdef HAVE_UNISTD_H
- # include <unistd.h>
- #endif
- 
--#if !HAVE_ALARM
-+#ifndef HAVE_ALARM
- # define alarm(X) /* empty */
- #endif
- 
-@@ -12416,6 +12419,7 @@ else
- #undef putenv
- 
- static time_t time_t_max;
-+static time_t time_t_min;
- 
- /* Values we'll use to set the TZ environment variable.  */
- static const char *const tz_strings[] = {
-@@ -12424,9 +12428,9 @@ static const char *const tz_strings[] = {
- };
- #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
- 
--/* Fail if mktime fails to convert a date in the spring-forward gap.
-+/* Return 0 if mktime fails to convert a date in the spring-forward gap.
-    Based on a problem report from Andreas Jaeger.  */
--static void
-+static int
- spring_forward_gap ()
- {
-   /* glibc (up to about 1998-10-07) failed this test. */
-@@ -12445,23 +12449,27 @@ spring_forward_gap ()
-   tm.tm_min = 0;
-   tm.tm_sec = 0;
-   tm.tm_isdst = -1;
--  if (mktime (&tm) == (time_t)-1)
--    exit (1);
-+  return mktime (&tm) != (time_t) -1;
- }
- 
--static void
--mktime_test (now)
-+static int
-+mktime_test1 (now)
-      time_t now;
- {
-   struct tm *lt;
--  if ((lt = localtime (&now)) && mktime (lt) != now)
--    exit (1);
--  now = time_t_max - now;
--  if ((lt = localtime (&now)) && mktime (lt) != now)
--    exit (1);
-+  return ! (lt = localtime (&now)) || mktime (lt) == now;
- }
- 
--static void
-+static int
-+mktime_test (now)
-+     time_t now;
-+{
-+  return (mktime_test1 (now)
-+        && mktime_test1 ((time_t) (time_t_max - now))
-+        && mktime_test1 ((time_t) (time_t_min + now)));
-+}
-+
-+static int
- irix_6_4_bug ()
- {
-   /* Based on code from Ariel Faigon.  */
-@@ -12474,11 +12482,10 @@ irix_6_4_bug ()
-   tm.tm_sec = 0;
-   tm.tm_isdst = -1;
-   mktime (&tm);
--  if (tm.tm_mon != 2 || tm.tm_mday != 31)
--    exit (1);
-+  return tm.tm_mon == 2 && tm.tm_mday == 31;
- }
- 
--static void
-+static int
- bigtime_test (j)
-      int j;
- {
-@@ -12500,8 +12507,39 @@ bigtime_test (j)
-            && lt->tm_wday == tm.tm_wday
-            && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
-                 == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
--      exit (1);
-+      return 0;
-     }
-+  return 1;
-+}
-+
-+static int
-+year_2050_test ()
-+{
-+  /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
-+     ignoring leap seconds.  */
-+  unsigned long int answer = 2527315200UL;
-+
-+  struct tm tm;
-+  time_t t;
-+  tm.tm_year = 2050 - 1900;
-+  tm.tm_mon = 2 - 1;
-+  tm.tm_mday = 1;
-+  tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
-+  tm.tm_isdst = -1;
-+
-+  /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
-+     instead of "TZ=America/Vancouver" in order to detect the bug even
-+     on systems that don't support the Olson extension, or don't have the
-+     full zoneinfo tables installed.  */
-+  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
-+
-+  t = mktime (&tm);
-+
-+  /* Check that the result is either a failure, or close enough
-+     to the correct answer that we can assume the discrepancy is
-+     due to leap seconds.  */
-+  return (t == (time_t) -1
-+        || (0 < t && answer - 120 <= t && t <= answer + 120));
- }
- 
- int
-@@ -12515,9 +12553,15 @@ main ()
-      isn't worth using anyway.  */
-   alarm (60);
- 
--  for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
--    continue;
--  time_t_max--;
-+  for (;;)
-+    {
-+      t = (time_t_max << 1) + 1;
-+      if (t <= time_t_max)
-+      break;
-+      time_t_max = t;
-+    }
-+  time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
-+
-   delta = time_t_max / 997; /* a suitable prime number */
-   for (i = 0; i < N_STRINGS; i++)
-     {
-@@ -12525,17 +12569,22 @@ main ()
-       putenv (tz_strings[i]);
- 
-       for (t = 0; t <= time_t_max - delta; t += delta)
--      mktime_test (t);
--      mktime_test ((time_t) 60 * 60);
--      mktime_test ((time_t) 60 * 60 * 24);
--
--      for (j = 1; 0 < j; j *= 2)
--        bigtime_test (j);
--      bigtime_test (j - 1);
-+      if (! mktime_test (t))
-+        return 1;
-+      if (! (mktime_test ((time_t) 1)
-+           && mktime_test ((time_t) (60 * 60))
-+           && mktime_test ((time_t) (60 * 60 * 24))))
-+      return 1;
-+
-+      for (j = 1; ; j <<= 1)
-+      if (! bigtime_test (j))
-+        return 1;
-+      else if (INT_MAX / 2 < j)
-+        break;
-+      if (! bigtime_test (INT_MAX))
-+      return 1;
-     }
--  irix_6_4_bug ();
--  spring_forward_gap ();
--  exit (0);
-+  return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
- }
- _ACEOF
- rm -f conftest$ac_exeext

diff --git a/app-shells/bash/files/autoconf-mktime-2.59.patch 
b/app-shells/bash/files/autoconf-mktime-2.59.patch
deleted file mode 100644
index 33055a7be61a..000000000000
--- a/app-shells/bash/files/autoconf-mktime-2.59.patch
+++ /dev/null
@@ -1,197 +0,0 @@
-http://bugs.gentoo.org/220040
---- a/configure
-+++ b/configure
-@@ -5299,26 +6059,25 @@
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
- /* Test program from Paul Eggert and Tony Leneis.  */
--#if TIME_WITH_SYS_TIME
-+#ifdef TIME_WITH_SYS_TIME
- # include <sys/time.h>
- # include <time.h>
- #else
--# if HAVE_SYS_TIME_H
-+# ifdef HAVE_SYS_TIME_H
- #  include <sys/time.h>
- # else
- #  include <time.h>
- # endif
- #endif
- 
--#if HAVE_STDLIB_H
--# include <stdlib.h>
--#endif
-+#include <limits.h>
-+#include <stdlib.h>
- 
--#if HAVE_UNISTD_H
-+#ifdef HAVE_UNISTD_H
- # include <unistd.h>
- #endif
- 
--#if !HAVE_ALARM
-+#ifndef HAVE_ALARM
- # define alarm(X) /* empty */
- #endif
- 
-@@ -5335,9 +6094,9 @@
- };
- #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
- 
--/* Fail if mktime fails to convert a date in the spring-forward gap.
-+/* Return 0 if mktime fails to convert a date in the spring-forward gap.
-    Based on a problem report from Andreas Jaeger.  */
--static void
-+static int
- spring_forward_gap ()
- {
-   /* glibc (up to about 1998-10-07) failed this test. */
-@@ -5356,29 +6115,27 @@
-   tm.tm_min = 0;
-   tm.tm_sec = 0;
-   tm.tm_isdst = -1;
--  if (mktime (&tm) == (time_t)-1)
--    exit (1);
-+  return mktime (&tm) != (time_t) -1;
- }
- 
--static void
-+static int
- mktime_test1 (now)
-      time_t now;
- {
-   struct tm *lt;
--  if ((lt = localtime (&now)) && mktime (lt) != now)
--    exit (1);
-+  return ! (lt = localtime (&now)) || mktime (lt) == now;
- }
- 
--static void
-+static int
- mktime_test (now)
-      time_t now;
- {
--  mktime_test1 (now);
--  mktime_test1 ((time_t) (time_t_max - now));
--  mktime_test1 ((time_t) (time_t_min + now));
-+  return (mktime_test1 (now)
-+        && mktime_test1 ((time_t) (time_t_max - now))
-+        && mktime_test1 ((time_t) (time_t_min + now)));
- }
- 
--static void
-+static int
- irix_6_4_bug ()
- {
-   /* Based on code from Ariel Faigon.  */
-@@ -5391,11 +6148,10 @@
-   tm.tm_sec = 0;
-   tm.tm_isdst = -1;
-   mktime (&tm);
--  if (tm.tm_mon != 2 || tm.tm_mday != 31)
--    exit (1);
-+  return tm.tm_mon == 2 && tm.tm_mday == 31;
- }
- 
--static void
-+static int
- bigtime_test (j)
-      int j;
- {
-@@ -5417,8 +6173,39 @@
-            && lt->tm_wday == tm.tm_wday
-            && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
-                 == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
--      exit (1);
-+      return 0;
-     }
-+  return 1;
-+}
-+
-+static int
-+year_2050_test ()
-+{
-+  /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
-+     ignoring leap seconds.  */
-+  unsigned long int answer = 2527315200UL;
-+
-+  struct tm tm;
-+  time_t t;
-+  tm.tm_year = 2050 - 1900;
-+  tm.tm_mon = 2 - 1;
-+  tm.tm_mday = 1;
-+  tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
-+  tm.tm_isdst = -1;
-+
-+  /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
-+     instead of "TZ=America/Vancouver" in order to detect the bug even
-+     on systems that don't support the Olson extension, or don't have the
-+     full zoneinfo tables installed.  */
-+  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
-+
-+  t = mktime (&tm);
-+
-+  /* Check that the result is either a failure, or close enough
-+     to the correct answer that we can assume the discrepancy is
-+     due to leap seconds.  */
-+  return (t == (time_t) -1
-+        || (0 < t && answer - 120 <= t && t <= answer + 120));
- }
- 
- int
-@@ -5432,12 +6219,15 @@
-      isn't worth using anyway.  */
-   alarm (60);
- 
--  for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
--    continue;
--  time_t_max--;
--  if ((time_t) -1 < 0)
--    for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
--      continue;
-+  for (;;)
-+    {
-+      t = (time_t_max << 1) + 1;
-+      if (t <= time_t_max)
-+      break;
-+      time_t_max = t;
-+    }
-+  time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;
-+
-   delta = time_t_max / 997; /* a suitable prime number */
-   for (i = 0; i < N_STRINGS; i++)
-     {
-@@ -5445,18 +6235,22 @@
-       putenv (tz_strings[i]);
- 
-       for (t = 0; t <= time_t_max - delta; t += delta)
--      mktime_test (t);
--      mktime_test ((time_t) 1);
--      mktime_test ((time_t) (60 * 60));
--      mktime_test ((time_t) (60 * 60 * 24));
--
--      for (j = 1; 0 < j; j *= 2)
--      bigtime_test (j);
--      bigtime_test (j - 1);
-+      if (! mktime_test (t))
-+        return 1;
-+      if (! (mktime_test ((time_t) 1)
-+           && mktime_test ((time_t) (60 * 60))
-+           && mktime_test ((time_t) (60 * 60 * 24))))
-+      return 1;
-+
-+      for (j = 1; ; j <<= 1)
-+      if (! bigtime_test (j))
-+        return 1;
-+      else if (INT_MAX / 2 < j)
-+        break;
-+      if (! bigtime_test (INT_MAX))
-+      return 1;
-     }
--  irix_6_4_bug ();
--  spring_forward_gap ();
--  exit (0);
-+  return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
- }
- _ACEOF
- rm -f conftest$ac_exeext

diff --git a/app-shells/bash/files/bash-2.05b-destdir.patch 
b/app-shells/bash/files/bash-2.05b-destdir.patch
deleted file mode 100644
index a1089d293c16..000000000000
--- a/app-shells/bash/files/bash-2.05b-destdir.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-support DESTDIR install
-
---- bash-2.05b/Makefile.in
-+++ bash-2.05b/Makefile.in
-@@ -20,16 +20,16 @@
- all: .made
- 
- # Include some boilerplate Gnu makefile definitions.
--prefix = @prefix@
-+prefix = $(DESTDIR)@prefix@
- 
--exec_prefix = @exec_prefix@
--bindir = @bindir@
--libdir = @libdir@
--infodir = @infodir@
--includedir = @includedir@
-+exec_prefix = $(DESTDIR)@exec_prefix@
-+bindir = $(DESTDIR)@bindir@
-+libdir = $(DESTDIR)@libdir@
-+infodir = $(DESTDIR)@infodir@
-+includedir = $(DESTDIR)@includedir@
- datadir = @datadir@
- 
--mandir = @mandir@
-+mandir = $(DESTDIR)@mandir@
- manpfx = man
- 
- man1ext = .1

diff --git a/app-shells/bash/files/bash-2.05b-empty-herestring.patch 
b/app-shells/bash/files/bash-2.05b-empty-herestring.patch
deleted file mode 100644
index db868c49aea7..000000000000
--- a/app-shells/bash/files/bash-2.05b-empty-herestring.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-###################################################################
-# Added by Tavis Ormandy <tav...@gentoo.org> 01/05/2003
-# Reproduce with
-#
-#  $ xargs <<< ${EMTPY_VARIABLE}
-#  Segmentation fault.
-#
-# note: bash will still give you a "\n" with this patch, but this is
-# standard behaviour, if you need proof:
-#
-#  $ wc -l <<< ""
-###############################
-
---- bash-2.05b/redir.c
-+++ bash-2.05b/redir.c
-@@ -263,7 +263,7 @@
-   int herelen, n, e;
- 
-   herestr = expand_string_to_string (redirectee->word, 0);
--  herelen = strlen (herestr);
-+  herelen = (herestr == NULL) ? 0 : strlen (herestr);
- 
-   n = write (fd, herestr, herelen);
-   if (n == herelen)
-     {

diff --git a/app-shells/bash/files/bash-2.05b-fix-job-warning.patch 
b/app-shells/bash/files/bash-2.05b-fix-job-warning.patch
deleted file mode 100644
index fcec078d3d0c..000000000000
--- a/app-shells/bash/files/bash-2.05b-fix-job-warning.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-fix obvious error:
-common.c:247:5: warning: format '%s' expects a matching 'char *' argument 
[-Wformat=]
-
---- a/builtins/common.c
-+++ b/builtins/common.c
-@@ -244,7 +244,7 @@
-      char *s;
- {
-   if (s)
--    builtin_error ("%s: no job control");
-+    builtin_error ("%s: no job control", s);
-   else
-     builtin_error ("no job control");
- }

diff --git a/app-shells/bash/files/bash-2.05b-jobs.patch 
b/app-shells/bash/files/bash-2.05b-jobs.patch
deleted file mode 100644
index 4ed475eab799..000000000000
--- a/app-shells/bash/files/bash-2.05b-jobs.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Fix using bash with post-20040808 glibc ebuilds (from fedora)
-
---- bash-2.05b/jobs.c
-+++ bash-2.05b/jobs.c
-@@ -2423,6 +2423,7 @@
-   PROCESS *child;
-   pid_t pid;
-   int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
-+  static int wcontinued_not_supported = 0;
- 
-   call_set_current = children_exited = 0;
-   last_stopped_job = NO_JOB;
-@@ -2436,7 +2437,15 @@
-                       : 0;
-       if (sigchld || block == 0)
-       waitpid_flags |= WNOHANG;
-+    retry:
-+      if (wcontinued_not_supported)
-+      waitpid_flags &= ~WCONTINUED;
-       pid = WAITPID (-1, &status, waitpid_flags);
-+      if (pid == -1 && errno == EINVAL)
-+      {
-+        wcontinued_not_supported = 1;
-+        goto retry;
-+      }
- 
-       /* The check for WNOHANG is to make sure we decrement sigchld only
-        if it was non-zero before we called waitpid. */

diff --git a/app-shells/bash/files/bash-2.05b-parallel-build.patch 
b/app-shells/bash/files/bash-2.05b-parallel-build.patch
deleted file mode 100644
index 382ffd6dfd5e..000000000000
--- a/app-shells/bash/files/bash-2.05b-parallel-build.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Fix parallel make
-
-http://bugs.gentoo.org/41002
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -604,7 +604,7 @@
- 
- config.h:     stamp-h 
- 
--stamp-h:      config.status $(srcdir)/config.h.in $(srcdir)/config-top.h 
$(srcdir)/config-bot.h
-+stamp-h:      version.h config.status $(srcdir)/config.h.in 
$(srcdir)/config-top.h $(srcdir)/config-bot.h
-       CONFIG_FILES= CONFIG_HEADERS=config.h $(SHELL) ./config.status
- 
- config.status:        $(srcdir)/configure

diff --git a/app-shells/bash/files/bash-2.05b-protos.patch 
b/app-shells/bash/files/bash-2.05b-protos.patch
deleted file mode 100644
index 2a42ced54711..000000000000
--- a/app-shells/bash/files/bash-2.05b-protos.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-move prototypes around so they show up when needed
-
---- a/externs.h
-+++ b/externs.h
-@@ -327,6 +327,9 @@
- #undef xstrchr
- extern char *xstrchr __P((const char *, int));
- 
-+/* declarations for functions defined in lib/sh/zcatfd.c */
-+extern int zcatfd __P((int, int, char *));
-+
- /* declarations for functions defined in lib/sh/zread.c */
- extern ssize_t zread __P((int, char *, size_t));
- extern ssize_t zreadintr __P((int, char *, size_t));
---- a/jobs.h
-+++ b/jobs.h
-@@ -175,6 +175,8 @@
- extern void ignore_tty_job_signals __P((void));
- extern void default_tty_job_signals __P((void));
- 
-+extern void close_pgrp_pipe __P((void));
-+
- #if defined (JOB_CONTROL)
- extern int job_control;
- #endif

diff --git a/app-shells/bash/files/bash-2.05b-rbash.patch 
b/app-shells/bash/files/bash-2.05b-rbash.patch
deleted file mode 100644
index 19b89ca35e2f..000000000000
--- a/app-shells/bash/files/bash-2.05b-rbash.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Fix broken rbash functionality when used as a login shell via /etc/passwd
-
-http://bugs.gentoo.org/26854
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=170298
-
-Backported from bash-3.1
-
---- bash-2.05b/shell.c
-+++ bash-2.05b/shell.c
-@@ -1065,6 +1099,8 @@
-   if (restricted)
-     return 1;
-   temp = base_pathname (name);
-+  if (*temp == '-')
-+    temp++;
-   return (STREQ (temp, RESTRICTED_SHELL_NAME));
- }
- 
-@@ -1082,6 +1118,8 @@
-   char *temp;
- 
-   temp = base_pathname (name);
-+  if (*temp == '-')
-+    temp++;
-   if (restricted || (STREQ (temp, RESTRICTED_SHELL_NAME)))
-     {
-       set_var_read_only ("PATH");

diff --git a/app-shells/bash/files/bash-3.0-afs.patch 
b/app-shells/bash/files/bash-3.0-afs.patch
deleted file mode 100644
index f07371c39eb4..000000000000
--- a/app-shells/bash/files/bash-3.0-afs.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Ripped from Fedora
-
-- Fixed AFS support for output redirection, so that the correct errors
-  are reported for other filesystems (bug #155373).
-
-https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=155373
-
---- bash-3.0/redir.c.afs       2005-04-20 09:16:15.000000000 +0100
-+++ bash-3.0/redir.c   2005-04-20 09:16:58.000000000 +0100
-@@ -596,7 +596,9 @@
-       fd = open (filename, flags, mode);
- #if defined (AFS)
-       if ((fd < 0) && (errno == EACCES))
--      fd = open (filename, flags & ~O_CREAT, mode);
-+      if ((fd = open (filename, flags & ~O_CREAT, mode)) < 0)
-+        /* Restore previous errno. */
-+        errno = EACCES;
- #endif /* AFS */
-     }
- 

diff --git a/app-shells/bash/files/bash-3.0-crash.patch 
b/app-shells/bash/files/bash-3.0-crash.patch
deleted file mode 100644
index 38577e2a67ea..000000000000
--- a/app-shells/bash/files/bash-3.0-crash.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-> Machine Type: i686-pc-linux-gnu
-> 
-> Bash Version: 3.0
-> Patch Level: 0
-> Release Status: release
-> 
-> Description:
->         GNU bash, version 3.00.0(1)-release (i686-pc-linux-gnu)
->         (and
->         GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
-> 
->         dumps a core because of a null pointer "in make_bare_word 
->         at make_cmd.c:90" (see gdb output below)
-
-Thanks for the report.  Here's a quick fix:
-
-*** a/arrayfunc.c
---- b/arrayfunc.c
-***************
-*** 709,713 ****
-         return ((char *)NULL);
-       }
-!       else if (var == 0)
-       return ((char *)NULL);
-        else if (array_p (var) == 0)
---- 709,713 ----
-         return ((char *)NULL);
-       }
-!       else if (var == 0 || value_cell (var) == 0)
-       return ((char *)NULL);
-        else if (array_p (var) == 0)
-
-
-Chet
-
--- 
-``The lyf so short, the craft so long to lerne.'' - Chaucer
-( ``Discere est Dolere'' -- chet )
-                                               Live...Laugh...Love
-Chet Ramey, ITS, CWRU    c...@po.cwru.edu    http://tiswww.tis.cwru.edu/~chet/
-
-
-_______________________________________________
-Bug-bash mailing list
-bug-b...@gnu.org
-http://lists.gnu.org/mailman/listinfo/bug-bash

diff --git a/app-shells/bash/files/bash-3.0-darwin-conn.patch 
b/app-shells/bash/files/bash-3.0-darwin-conn.patch
deleted file mode 100644
index f83e4c3f701d..000000000000
--- a/app-shells/bash/files/bash-3.0-darwin-conn.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Sune Foldager writes:
-On Darwin (Mac OS X), bash incorrectly assumed that it has been called over a
-network connection (such as ssh, rsh etc.), when stdin stems from the pipe()
-system call. This is because bash's heuristic code for determining if it's
-been started over a net connection is incorrect on Darwin kernels.
-
-http://bugs.gentoo.org/79124
-
---- a/lib/sh/netconn.c
-+++ b/lib/sh/netconn.c
-@@ -53,7 +53,8 @@
-   l = sizeof(sa);
-   rv = getpeername(fd, &sa, &l);
-   /* Solaris 2.5 getpeername() returns EINVAL if the fd is not a socket. */
--  return ((rv < 0 && (errno == ENOTSOCK || errno == EINVAL)) ? 0 : 1);
-+  /* Darwin 7.7.0 getpeername() returns ENOTCONN if the fd was created with 
pipe(). */
-+  return ((rv < 0 && (errno == ENOTSOCK || errno == ENOTCONN || errno == 
EINVAL)) ? 0 : 1);
- #else /* !HAVE_GETPEERNAME || SVR4_2 || __BEOS__ */
- #  if defined (SVR4) || defined (SVR4_2)
-   /* Sockets on SVR4 and SVR4.2 are character special (streams) devices. */

diff --git a/app-shells/bash/files/bash-3.0-histtimeformat.patch 
b/app-shells/bash/files/bash-3.0-histtimeformat.patch
deleted file mode 100644
index b910600fd896..000000000000
--- a/app-shells/bash/files/bash-3.0-histtimeformat.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Ripped from Debian
-
-http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00008.html
-
-From: Enrique Perez-Terron <en...@online.no>
-To: bug-b...@gnu.org
-Subject: When using HISTTIMEFORMAT, the date and the command are run
-       together.
-Date: Sun, 01 Aug 2004 18:36:45 +0200
-
-Configuration Information [Automatically generated, do not change]:
-Machine: i586
-OS: linux-gnu
-Compiler: gcc
-Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='i586'
--DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i586-pc-linux-gnu'
--DCONF_VENDOR='pc' -DLOCALEDIR='/usr/local/share/locale'
--DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H  -I.  -I. -I./include -I./lib  
--g -O2
-uname output: Linux arabia.home.lan 2.6.6-1.435.2.3 #1 Thu Jul 1
-09:11:28 EDT 2004 i586 i586 i386 GNU/Linux
-Machine Type: i586-pc-linux-gnu
-
-# DP: Add space separating the time and the command in the
-# DP: output from the history builtin command.
-
-Bash Version: 3.0
-Patch Level: 0
-Release Status: release
-
-Description:
-       There is no space separating the time and the command in the 
-       output from the history builtin command.
-
-Repeat-By:
-       $ export HISTTIMEFORMAT=_A_format_string_
-       $ history 3
-         997  _A_format_string_echo $BASH_VERSION
-         998  _A_format_string_export HISTTIMEFORMAT=_A_format_string_
-         999  _A_format_string_history 3
-
-Fix:
---- ./builtins/history.def.orig        2003-12-20 00:02:09.000000000 +0100
-+++ ./builtins/history.def     2004-08-01 18:18:02.652720102 +0200
-@@ -287,9 +287,10 @@
-         QUIT;
- 
-         timestr = (histtimefmt && *histtimefmt) ? histtime (hlist[i], 
histtimefmt) : (char *)NULL;
--        printf ("%5d%c %s%s\n", i + history_base,
-+        printf ("%5d%c %s%s%s\n", i + history_base,
-                 histdata(i) ? '*' : ' ',
-                 ((timestr && *timestr) ? timestr : ""),
-+                ((timestr && *timestr) ? " " : ""),
-                 histline(i));
-         i++;
-       }

diff --git a/app-shells/bash/files/bash-3.0-jobs.patch 
b/app-shells/bash/files/bash-3.0-jobs.patch
deleted file mode 100644
index 72c149c71cf5..000000000000
--- a/app-shells/bash/files/bash-3.0-jobs.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Ripped from Fedora
-
-* Wed Sep  8 2004 Tim Waugh <twa...@redhat.com> 3.0-13
-- Check for EINVAL from waitpid() and avoid WCONTINUED in that case.
-- Fixed jobs4 test.
-
-From:  Tim Waugh
-Subject:       [patch] bash-3.0: avoid WCONTINUED if invalid
-Date:  Wed, 8 Sep 2004 16:52:38 +0100
-User-agent:    Mutt/1.4.1i
-
-Hi,
-
-GNU libc defines WCONTINUED, but (at least on Linux 2.4.x kernels)
-waitpid() returns -1 with errno set to EINVAL if WCONTINUED is
-supplied in options.
-
-Here is a patch to retry without WCONTINUED set in that case.
-
-Tim.
-
---- bash-3.0/tests/jobs4.sub
-+++ bash-3.0/tests/jobs4.sub
-@@ -18,5 +18,5 @@
- 
- wait
- 
--cat &
-+sleep 100 &
- kill -1 %% && echo i killed it || echo could not kill it
---- bash-3.0/jobs.c
-+++ bash-3.0/jobs.c
-@@ -2475,6 +2475,7 @@
-   PROCESS *child;
-   pid_t pid;
-   int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
-+  static int wcontinued_not_supported = 0;
- 
-   call_set_current = children_exited = 0;
-   last_stopped_job = NO_JOB;
-@@ -2488,7 +2489,15 @@
-                       : 0;
-       if (sigchld || block == 0)
-       waitpid_flags |= WNOHANG;
-+    retry:
-+      if (wcontinued_not_supported)
-+      waitpid_flags &= ~WCONTINUED;
-       pid = WAITPID (-1, &status, waitpid_flags);
-+      if (pid == -1 && errno == EINVAL)
-+      {
-+        wcontinued_not_supported = 1;
-+        goto retry;
-+      }
- 
-       /* The check for WNOHANG is to make sure we decrement sigchld only
-        if it was non-zero before we called waitpid. */

diff --git a/app-shells/bash/files/bash-3.0-locale.patch 
b/app-shells/bash/files/bash-3.0-locale.patch
deleted file mode 100644
index ea1ef3deae36..000000000000
--- a/app-shells/bash/files/bash-3.0-locale.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-Ripped from SuSe
-
-http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00005.html
-
-From: sch...@suse.de
-To: bug-b...@gnu.org
-Subject: HISTTIMEFORMAT doesn't track locale changes
-Date: Sun,  1 Aug 2004 11:14:00 +0200 (CEST)
-
-Configuration Information [Automatically generated, do not change]:
-Machine: ia64
-OS: linux-gnu
-Compiler: gcc
-Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='ia64' 
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='ia64-unknown-linux-gnu' 
-DCONF_VENDOR='unknown' -DLOCALEDIR='/usr/local/share/locale' -DPACKAGE='bash' 
-DSHELL -DHAVE_CONFIG_H  -I.  -I../bash-3.0 -I../bash-3.0/include 
-I../bash-3.0/lib   -O2 -g
-uname output: Linux sykes 2.6.5-22-default #1 SMP Fri Jul 2 13:43:23 UTC 2004 
ia64 ia64 ia64 GNU/Linux
-Machine Type: ia64-unknown-linux-gnu
-
-Bash Version: 3.0
-Patch Level: 0
-Release Status: release
-
-Description:
-Bash doesn't use the current locale when formatting HISTTIMEFORMAT.
-
-Repeat-By:
-sykes:/tmp/bash/Build/:[0]$ locale
-LANG=de_DE.UTF-8
-LC_CTYPE="de_DE.UTF-8"
-LC_NUMERIC=POSIX
-LC_TIME=POSIX
-LC_COLLATE=POSIX
-LC_MONETARY="de_DE.UTF-8"
-LC_MESSAGES=en_US.UTF-8
-LC_PAPER="de_DE.UTF-8"
-LC_NAME="de_DE.UTF-8"
-LC_ADDRESS="de_DE.UTF-8"
-LC_TELEPHONE="de_DE.UTF-8"
-LC_MEASUREMENT="de_DE.UTF-8"
-LC_IDENTIFICATION="de_DE.UTF-8"
-LC_ALL=
-sykes:/tmp/bash/Build/:[0]$ history 1
- 1502  history 1
-sykes:/tmp/bash/Build/:[0]$ HISTTIMEFORMAT=%c
-sykes:/tmp/bash/Build/:[0]$ history 1
- 1504  Sun Aug  1 10:56:59 2004history 1
-sykes:/tmp/bash/Build/:[0]$ export LC_TIME=$LANG
-sykes:/tmp/bash/Build/:[0]$ history 1
- 1506  Sun Aug  1 10:57:24 2004history 1
-
---- bash-3.0/locale.c
-+++ bash-3.0/locale.c
-@@ -71,9 +71,10 @@ set_default_locale ()
-   textdomain (PACKAGE);
- }
- 
--/* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES and LC_NUMERIC
--   if they are not specified in the environment, but LC_ALL is.  This
--   should be called from main() after parsing the environment. */
-+/* Set default values for LC_CTYPE, LC_COLLATE, LC_MESSAGES, LC_NUMERIC
-+   and LC_TIME if they are not specified in the environment, but LC_ALL
-+   is.  This should be called from main() after parsing the
-+   environment. */
- void
- set_default_locale_vars ()
- {
-@@ -109,6 +110,12 @@ set_default_locale_vars ()
-     setlocale (LC_NUMERIC, lc_all);
- #  endif /* LC_NUMERIC */
- 
-+#  if defined (LC_TIME)
-+  val = get_string_value ("LC_TIME");
-+  if (val == 0 && lc_all && *lc_all)
-+    setlocale (LC_TIME, lc_all);
-+#  endif /* LC_TIME */
-+
- #endif /* HAVE_SETLOCALE */
- 
-   val = get_string_value ("TEXTDOMAIN");
-@@ -213,6 +220,13 @@ set_locale_var (var, value)
-       return (setlocale (LC_NUMERIC, get_locale_var ("LC_NUMERIC")) != 0);
- #  endif /* LC_NUMERIC */
-     }
-+  else if (var[3] == 'T' && var[4] == 'I')    /* LC_TIME */
-+    {
-+#  if defined (LC_TIME)
-+      if (lc_all == 0 || *lc_all == '\0')
-+      return (setlocale (LC_TIME, get_locale_var ("LC_TIME")) != 0);
-+#  endif /* LC_TIME */
-+    }
- #endif /* HAVE_SETLOCALE */
- 
-   return (0);
-@@ -285,6 +299,9 @@ reset_locale_vars ()
- #  if defined (LC_NUMERIC)
-   setlocale (LC_NUMERIC, get_locale_var ("LC_NUMERIC"));
- #  endif
-+#  if defined (LC_TIME)
-+  setlocale (LC_TIME, get_locale_var ("LC_TIME"));
-+#  endif
- 
-   locale_setblanks ();  
- 
---- bash-3.0/variables.c
-+++ bash-3.0/variables.c
-@@ -3646,6 +3646,7 @@ static struct name_and_function special_
-   { "LC_CTYPE", sv_locale },
-   { "LC_MESSAGES", sv_locale },
-   { "LC_NUMERIC", sv_locale },
-+  { "LC_TIME", sv_locale },
- 
-   { "MAIL", sv_mail },
-   { "MAILCHECK", sv_mail },

diff --git a/app-shells/bash/files/bash-3.0-manpage.patch 
b/app-shells/bash/files/bash-3.0-manpage.patch
deleted file mode 100644
index 08e3143e5422..000000000000
--- a/app-shells/bash/files/bash-3.0-manpage.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Ripped from Fedora
-
-fix obvious display bug
-
---- bash-3.0/doc/bash.1
-+++ bash-3.0/doc/bash.1
-@@ -3929,7 +3929,7 @@
- .B SIGHUP
- to all jobs when an interactive login shell exits.
- .PP
--If \Bbash\fP is waiting for a command to complete and receives a signal
-+If \fBbash\fP is waiting for a command to complete and receives a signal
- for which a trap has been set, the trap will not be executed until
- the command completes. 
- When \fBbash\fP is waiting for an asynchronous command via the \fBwait\fP

diff --git a/app-shells/bash/files/bash-3.0-multibyteifs.patch 
b/app-shells/bash/files/bash-3.0-multibyteifs.patch
deleted file mode 100644
index 1e74832b638a..000000000000
--- a/app-shells/bash/files/bash-3.0-multibyteifs.patch
+++ /dev/null
@@ -1,281 +0,0 @@
-From: Tim Waugh <twa...@redhat.com>
-To: bug-b...@gnu.org
-Subject: [patch] multibyte IFS values
-Date: Tue, 24 Aug 2004 13:34:59 +0100
-
-Hi,
-
-Here is a patch to address these problems:
-
-http://lists.gnu.org/archive/html/bug-bash/2004-07/msg00294.html
-http://lists.gnu.org/archive/html/bug-bash/2004-07/msg00296.html
-
-It works well for me at least.
-
-Tim.
-
---- bash-3.0/subst.c.multibyteifs      2004-08-20 15:22:48.366497771 +0100
-+++ bash-3.0/subst.c   2004-08-20 18:13:30.833624616 +0100
-@@ -124,7 +124,12 @@
- SHELL_VAR *ifs_var;
- char *ifs_value;
- unsigned char ifs_cmap[UCHAR_MAX + 1];
-+#if defined (HANDLE_MULTIBYTE)
-+unsigned char ifs_firstc[MB_LEN_MAX];
-+size_t ifs_firstc_len;
-+#else
- unsigned char ifs_firstc;
-+#endif
- 
- /* Extern functions and variables from different files. */
- extern int last_command_exit_value, last_command_exit_signal;
-@@ -862,8 +867,14 @@
-      char *charlist;
- {
-   register int i = *sindex;
-+  size_t slen;
-+#if defined (HANDLE_MULTIBYTE)
-+  size_t clen;
-+  wchar_t *wcharlist = NULL;
-+#endif
-   int c;
-   char *temp;
-+  DECLARE_MBSTATE;
- 
-   if (charlist[0] == '\'' && charlist[1] == '\0')
-     {
-@@ -872,18 +883,65 @@
-       return temp;
-     }
- 
--  for (i = *sindex; c = string[i]; i++)
-+  slen = strlen (string + *sindex) + *sindex;
-+  i = *sindex;
-+#if defined (HANDLE_MULTIBYTE)
-+  clen = strlen (charlist);
-+#endif
-+  while ((c = string[i]))
-     {
-+#if defined (HANDLE_MULTIBYTE)
-+      size_t mblength;
-+#endif
-+
-       if (c == CTLESC)
-       {
--        i++;
-+        i += 2;
-         continue;
-       }
- 
-+#if defined (HANDLE_MULTIBYTE)
-+      mblength = mblen (string + i, slen - i);
-+      if (mblength > 1)
-+      {
-+        wchar_t wc;
-+        size_t mblength = mbtowc (&wc, string + i, slen - i);
-+        if (MB_INVALIDCH (mblength))
-+          {
-+            if (MEMBER (c, charlist))
-+              break;
-+          }
-+        else
-+          {
-+            if (!wcharlist)
-+              {
-+                size_t len = mbstowcs (wcharlist, charlist, 0);
-+                if (len == -1)
-+                  len = 0;
-+                wcharlist = xmalloc (sizeof (wchar_t) * (len + 1));
-+                mbstowcs (wcharlist, charlist, 1 + len);
-+              }
-+
-+            if (wcschr (wcharlist, wc))
-+              {
-+                break;
-+              }
-+          }
-+      }
-+      else
-+#endif
-+
-       if (MEMBER (c, charlist))
-       break;
-+
-+      ADVANCE_CHAR (string, slen, i);
-     }
- 
-+#if defined (HANDLE_MULTIBYTE)
-+  if (wcharlist)
-+    free (wcharlist);
-+#endif
-+
-   temp = substring (string, *sindex, i);
-   *sindex = i;
- 
-@@ -1456,11 +1514,36 @@
-   d2 = 0;
-   if (delims)
-     {
--      d2 = (char *)xmalloc (strlen (delims) + 1);
--      for (i = ts = 0; delims[i]; i++)
-+      size_t slength = strlen (delims);
-+#if defined (HANDLE_MULTIBYTE)
-+      size_t mblength = 1;
-+      DECLARE_MBSTATE;
-+#endif
-+
-+      d2 = (char *)xmalloc (slength + 1);
-+      i = ts = 0;
-+      while (delims[i])
-       {
-+#if defined (HANDLE_MULTIBYTE)
-+        mbstate_t state_bak = state;
-+        mblength = mbrlen (delims + i, slength, &state);
-+
-+        if (MB_INVALIDCH (mblength))
-+          state = state_bak;
-+        else if (mblength != 1)
-+          {
-+            memcpy (d2 + ts, delims + i, mblength);
-+            ts += mblength;
-+            i += mblength;
-+            slength -= mblength;
-+            continue;
-+          }
-+#endif
-+
-         if (whitespace(delims[i]) == 0)
-           d2[ts++] = delims[i];
-+        i++;
-+        slength--;
-       }
-       d2[ts] = '\0';
-     }
-@@ -1654,10 +1737,19 @@
- string_list_dollar_star (list)
-      WORD_LIST *list;
- {
-+#if defined (HANDLE_MULTIBYTE)
-+  char sep[MB_CUR_MAX + 1];
-+#else
-   char sep[2];
-+#endif
- 
-+#if defined (HANDLE_MULTIBYTE)
-+  memcpy (sep, ifs_firstc, ifs_firstc_len);
-+  sep[ifs_firstc_len] = '\0';
-+#else
-   sep[0] = ifs_firstc;
-   sep[1] = '\0';
-+#endif
- 
-   return (string_list_internal (list, sep));
- }
-@@ -1676,14 +1768,41 @@
-      WORD_LIST *list;
-      int quoted;
- {
--  char *ifs, sep[2];
-+  char *ifs;
-+#if defined (HANDLE_MULTIBYTE)
-+  char sep[MB_CUR_MAX + 1];
-+#else
-+  char sep[2];
-+#endif
-   WORD_LIST *tlist;
- 
-   /* XXX this could just be ifs = ifs_value; */
-   ifs = ifs_var ? value_cell (ifs_var) : (char *)0;
- 
-+#if defined (HANDLE_MULTIBYTE)
-+  if (ifs && *ifs)
-+    {
-+      size_t mblength = mblen (ifs, strnlen (ifs, MB_CUR_MAX));
-+      if (MB_INVALIDCH (mblength))
-+      {
-+        sep[0] = *ifs;
-+        sep[1] = '\0';
-+      }
-+      else
-+      {
-+        memcpy (sep, ifs, mblength);
-+        sep[mblength] = '\0';
-+      }
-+    }
-+  else
-+    {
-+      sep[0] = ' ';
-+      sep[1] = '\0';
-+    }
-+#else
-   sep[0] = (ifs == 0 || *ifs == 0) ? ' ' : *ifs;
-   sep[1] = '\0';
-+#endif
- 
-   tlist = ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (ifs && *ifs == 0))
-               ? quote_list (list)
-@@ -1732,6 +1851,7 @@
-   WORD_DESC *t;
-   char *current_word, *s;
-   int sindex, sh_style_split, whitesep;
-+  size_t slen = 0;
- 
-   if (!string || !*string)
-     return ((WORD_LIST *)NULL);
-@@ -1805,7 +1925,12 @@
- 
-       /* Move past the current separator character. */
-       if (string[sindex])
--      sindex++;
-+      {
-+        DECLARE_MBSTATE;
-+        if (!slen)
-+          slen = strlen (string);
-+        ADVANCE_CHAR (string, slen, sindex);
-+      }
- 
-       /* Now skip sequences of space, tab, or newline characters if they are
-        in the list of separators. */
-@@ -6796,7 +6921,27 @@
-       ifs_cmap[uc] = 1;
-     }
- 
-+#if defined (HANDLE_MULTIBYTE)
-+  if (!ifs_value)
-+    {
-+      ifs_firstc[0] = '\0';
-+      ifs_firstc_len = 1;
-+    }
-+  else
-+    {
-+      size_t ifs_len = strnlen (ifs_value, MB_CUR_MAX);
-+      ifs_firstc_len = mblen (ifs_value, ifs_len);
-+      if (MB_INVALIDCH (ifs_firstc_len))
-+        {
-+          ifs_firstc[0] = '\0';
-+          ifs_firstc_len = 1;
-+        }
-+      else
-+        memcpy (ifs_firstc, ifs_value, ifs_firstc_len);
-+    }
-+#else
-   ifs_firstc = ifs_value ? *ifs_value : 0;
-+#endif
- }
- 
- char *
---- bash-3.0/subst.h.multibyteifs      2004-08-20 15:51:08.301074583 +0100
-+++ bash-3.0/subst.h   2004-08-20 15:51:39.070206473 +0100
-@@ -231,7 +231,12 @@
- extern SHELL_VAR *ifs_var;
- extern char *ifs_value;
- extern unsigned char ifs_cmap[];
-+#if defined (HANDLE_MULTIBYTE)
-+extern unsigned char ifs_firstc[];
-+extern size_t ifs_firstc_len;
-+#else
- extern unsigned char ifs_firstc;
-+#endif
- 
- /* Evaluates to 1 if C is a character in $IFS. */
- #define isifs(c)      (ifs_cmap[(unsigned char)(c)] != 0)

diff --git a/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch 
b/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch
deleted file mode 100644
index 46df6213b7a4..000000000000
--- a/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Fix an error when using pipes and PGRP_PIPE is enabled.
-( exec 3>&1; : `echo >&3` )
-bash: 3: Bad file descriptor
-
-http://bugs.gentoo.org/92349
-
-Patch from upstream
-
-*** a/jobs.c
---- b/jobs.c
-***************
-*** 3456,3459 ****
---- 3901,3907 ----
-    stop_making_children ();
-    start_pipeline ();
-+ #if defined (PGRP_PIPE)
-+   pipe_close (pgrp_pipe);
-+ #endif
-    delete_all_jobs (0);
-    set_job_control (0);

diff --git a/app-shells/bash/files/bash-3.0-protos.patch 
b/app-shells/bash/files/bash-3.0-protos.patch
deleted file mode 100644
index b1337b203954..000000000000
--- a/app-shells/bash/files/bash-3.0-protos.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-move prototypes around so they show up when needed
-
---- a/externs.h
-+++ b/externs.h
-@@ -327,6 +327,9 @@
- #undef xstrchr
- extern char *xstrchr __P((const char *, int));
- 
-+/* declarations for functions defined in lib/sh/zcatfd.c */
-+extern int zcatfd __P((int, int, char *));
-+
- /* declarations for functions defined in lib/sh/zread.c */
- extern ssize_t zread __P((int, char *, size_t));
- extern ssize_t zreadintr __P((int, char *, size_t));
---- a/jobs.h
-+++ b/jobs.h
-@@ -175,6 +175,8 @@
- extern void ignore_tty_job_signals __P((void));
- extern void default_tty_job_signals __P((void));
- 
-+extern void close_pgrp_pipe __P((void));
-+
- #if defined (JOB_CONTROL)
- extern int job_control;
- #endif
---- a/general.c
-+++ b/general.c
-@@ -39,6 +39,8 @@
- #include "bashintl.h"
- 
- #include "shell.h"
-+#include "test.h"
-+
- #include <tilde/tilde.h>
- 
- #if !defined (errno)
---- a/builtins/evalfile.c
-+++ b/builtins/evalfile.c
-@@ -39,6 +39,7 @@
- #include "../flags.h"
- #include "../input.h"
- #include "../execute_cmd.h"
-+#include "../trap.h"
- 
- #if defined (HISTORY)
- #  include "../bashhist.h"
---- a/lib/glob/strmatch.c
-+++ b/lib/glob/strmatch.c
-@@ -25,9 +25,6 @@
- #include "strmatch.h"
- 
- extern int xstrmatch __P((char *, char *, int));
--#if defined (HAVE_MULTIBYTE)
--extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
--#endif
- 
- int
- strmatch (pattern, string, flags)
---- a/lib/glob/strmatch.h
-+++ b/lib/glob/strmatch.h
-@@ -57,6 +57,7 @@
- 
- #if HANDLE_MULTIBYTE
- extern int wcsmatch __P((wchar_t *, wchar_t *, int));
-+extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
- #endif
- 
- #endif /* _STRMATCH_H */

diff --git a/app-shells/bash/files/bash-3.0-pwd.patch 
b/app-shells/bash/files/bash-3.0-pwd.patch
deleted file mode 100644
index 77f0918fb4d8..000000000000
--- a/app-shells/bash/files/bash-3.0-pwd.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Ripped from Fedora
-
-* Tue Mar 15 2005 Tim Waugh <twa...@redhat.com> 3.0-30
-- Fix PS1 expansion crash when PWD is unset (bg #151116).
-
---- bash-3.0/parse.y.pwd       2005-03-15 14:22:36.000000000 +0000
-+++ bash-3.0/parse.y   2005-03-15 14:22:37.000000000 +0000
-@@ -4103,7 +4103,7 @@
- #define ROOT_PATH(x)  ((x)[0] == '/' && (x)[1] == 0)
- #define DOUBLE_SLASH_ROOT(x)  ((x)[0] == '/' && (x)[1] == '/' && (x)[2] == 0)
-               /* Abbreviate \W as ~ if $PWD == $HOME */
--              if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || 
STREQ (t, temp) == 0))
-+              if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || 
STREQ (t, t_string) == 0))
-                 {
-                   if (ROOT_PATH (t_string) == 0 && DOUBLE_SLASH_ROOT 
(t_string) == 0)
-                     {

diff --git a/app-shells/bash/files/bash-3.0-rbash.patch 
b/app-shells/bash/files/bash-3.0-rbash.patch
deleted file mode 100644
index e804d20f06a9..000000000000
--- a/app-shells/bash/files/bash-3.0-rbash.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix broken rbash functionality when used as a login shell via /etc/passwd
-
-http://bugs.gentoo.org/26854
-http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=170298
-
-Backported from bash-3.1
-
---- bash-3.0/shell.c
-+++ bash-3.0/shell.c
-@@ -1089,6 +1099,8 @@
-   if (restricted)
-     return 1;
-   temp = base_pathname (name);
-+  if (*temp == '-')
-+    temp++;
-   return (STREQ (temp, RESTRICTED_SHELL_NAME));
- }
- 

diff --git a/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch 
b/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch
deleted file mode 100644
index 0b90cc3dc2b2..000000000000
--- a/app-shells/bash/files/bash-3.0-read-builtin-pipe.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Description:
-When using 'read -u 3' or the like, and the pipe-buf already contains
-more than one line, the first line is returned, and bytes up to the next
-multiple of 128 are skipped.
-
-http://lists.gnu.org/archive/html/bug-bash/2005-03/msg00168.html
-http://lists.gnu.org/archive/html/bug-bash/2005-03/msg00173.html
-http://bugs.gentoo.org/show_bug.cgi?id=87093
-
---- a/builtins/read.def
-+++ b/builtins/read.def
-@@ -276,7 +276,7 @@
-   input_is_tty = isatty (fd);
-   if (input_is_tty == 0)
- #ifndef __CYGWIN__
--    input_is_pipe = (lseek (0, 0L, SEEK_CUR) < 0) && (errno == ESPIPE);
-+    input_is_pipe = (lseek (fd, 0L, SEEK_CUR) < 0) && (errno == ESPIPE);
- #else
-     input_is_pipe = 1;
- #endif

diff --git a/app-shells/bash/files/bash-3.0-read-memleak.patch 
b/app-shells/bash/files/bash-3.0-read-memleak.patch
deleted file mode 100644
index 6cb769f3af34..000000000000
--- a/app-shells/bash/files/bash-3.0-read-memleak.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Ripped from Fedora
-
-http://lists.gnu.org/archive/html/bug-bash/2005-12/msg00013.html
-https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=173283
-
---- bash-3.0/builtins/read.def
-+++ bash-3.0/builtins/read.def
-@@ -461,6 +461,7 @@
-   if (retval < 0)
-     {
-       builtin_error (_("read error: %d: %s"), fd, strerror (errno));
-+      run_unwind_frame ("read_builtin");
-       return (EXECUTION_FAILURE);
-     }
- #endif

diff --git a/app-shells/bash/files/bash-3.0-strnlen.patch 
b/app-shells/bash/files/bash-3.0-strnlen.patch
deleted file mode 100644
index 056e00b3de57..000000000000
--- a/app-shells/bash/files/bash-3.0-strnlen.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-Add strnlen function for non-glibc systems, as one of Fedora's patches 
requires it.
-
---- bash-3.0/configure.in
-+++ bash-3.0/configure.in
-@@ -613,6 +613,9 @@
-   AC_LIBOBJ(vprint)
- fi
- 
-+AC_CHECK_FUNCS([strnlen])
-+AC_LIBOBJ(strnlen)
-+
- dnl signal stuff
- AC_TYPE_SIGNAL
- 
---- /dev/null
-+++ bash-3.0/lib/sh/strnlen.c
-@@ -0,0 +1,27 @@
-+/*
-+  Copyright (C) 2005 Gentoo Foundation
-+
-+  This program is free software; you can redistribute it and/or
-+  modify it under the terms of the GNU General Public License
-+  as published by the Free Software Foundation; either version 2
-+  of the License, or (at your option) any later version.
-+
-+  This program is distributed in the hope that it will be useful,
-+  but WITHOUT ANY WARRANTY; without even the implied warranty of
-+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+  GNU General Public License for more details.
-+
-+  You should have received a copy of the GNU General Public License
-+  along with this program; if not, write to the Free Software
-+  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, US
-+*/
-+
-+#include <stdlib.h>
-+
-+size_t strnlen(const char *s, size_t n)
-+{
-+        int i;
-+        for (i=0; s[i] && i<n; i++)
-+                /* noop */ ;
-+        return i;
-+}
---- bash-3.0/configure
-+++ bash-3.0/configure
-@@ -10696,9 +10696,127 @@ _ACEOF
- fi
- 
- if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
--  LIBOBJS="$LIBOBJS vprint.$ac_objext"
-+  case $LIBOBJS in
-+    "vprint.$ac_objext"   | \
-+  *" vprint.$ac_objext"   | \
-+    "vprint.$ac_objext "* | \
-+  *" vprint.$ac_objext "* ) ;;
-+  *) LIBOBJS="$LIBOBJS vprint.$ac_objext" ;;
-+esac
-+
- fi
- 
-+
-+for ac_func in strnlen
-+do
-+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-+echo "$as_me:$LINENO: checking for $ac_func" >&5
-+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_var+set}\" = set"; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+/* Define $ac_func to an innocuous variant, in case <limits.h> declares 
$ac_func.
-+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-+#define $ac_func innocuous_$ac_func
-+
-+/* System header to define __stub macros and hopefully few prototypes,
-+    which can conflict with char $ac_func (); below.
-+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+    <limits.h> exists even on freestanding compilers.  */
-+
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+
-+#undef $ac_func
-+
-+/* Override any gcc2 internal prototype to avoid an error.  */
-+#ifdef __cplusplus
-+extern "C"
-+{
-+#endif
-+/* We use char because int might match the return type of a gcc2
-+   builtin and then its argument prototype would still apply.  */
-+char $ac_func ();
-+/* The GNU C library defines this for functions which it implements
-+    to always fail with ENOSYS.  Some functions are actually named
-+    something starting with __ and the normal name is an alias.  */
-+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-+choke me
-+#else
-+char (*f) () = $ac_func;
-+#endif
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+int
-+main ()
-+{
-+return f != $ac_func;
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-+  (eval $ac_link) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } &&
-+       { ac_try='test -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; } &&
-+       { ac_try='test -s conftest$ac_exeext'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  eval "$as_ac_var=yes"
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_var=no"
-+fi
-+rm -f conftest.err conftest.$ac_objext \
-+      conftest$ac_exeext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-+if test `eval echo '${'$as_ac_var'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-+_ACEOF
-+
-+fi
-+done
-+
-+case $LIBOBJS in
-+    "strnlen.$ac_objext"   | \
-+  *" strnlen.$ac_objext"   | \
-+    "strnlen.$ac_objext "* | \
-+  *" strnlen.$ac_objext "* ) ;;
-+  *) LIBOBJS="$LIBOBJS strnlen.$ac_objext" ;;
-+esac
-+
-+
- echo "$as_me:$LINENO: checking return type of signal handlers" >&5
- echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
- if test "${ac_cv_type_signal+set}" = set; then

diff --git a/app-shells/bash/files/bash-3.0-subshell.patch 
b/app-shells/bash/files/bash-3.0-subshell.patch
deleted file mode 100644
index a1d7dfe7d342..000000000000
--- a/app-shells/bash/files/bash-3.0-subshell.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Ripped from Fedora which took this from upstream
-
-* Tue Nov 22 2005 Tim Waugh <twa...@redhat.com>  3.0-37
-- Applied patch from upstream to fix parsing problem (bug #146638).
-
-http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=146638
-
---- bash-3.0/parse.y.subshell  2005-11-22 13:19:11.000000000 +0000
-+++ bash-3.0/parse.y   2005-11-22 13:19:24.000000000 +0000
-@@ -2055,14 +2055,6 @@
-   if (uc)
-     shell_input_line_index++;
- 
--  if MBTEST(uc == '\\' && remove_quoted_newline && 
shell_input_line[shell_input_line_index] == '\n')
--    {
--      if (SHOULD_PROMPT ())
--        prompt_again ();
--      line_number++;
--      goto restart_read;
--    }
--
- #if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
-   /* If UC is NULL, we have reached the end of the current input string.  If
-      pushed_string_list is non-empty, it's time to pop to the previous string
-@@ -2078,6 +2070,14 @@
-     }
- #endif /* ALIAS || DPAREN_ARITHMETIC */
- 
-+  if MBTEST(uc == '\\' && remove_quoted_newline && 
shell_input_line[shell_input_line_index] == '\n')
-+    {
-+      if (SHOULD_PROMPT ())
-+        prompt_again ();
-+      line_number++;
-+      goto restart_read;
-+    }
-+
-   if (!uc && shell_input_line_terminator == EOF)
-     return ((shell_input_line_index != 0) ? '\n' : EOF);
- 

diff --git a/app-shells/bash/files/bash-3.0-trap-fg-signals.patch 
b/app-shells/bash/files/bash-3.0-trap-fg-signals.patch
deleted file mode 100644
index c7010511853f..000000000000
--- a/app-shells/bash/files/bash-3.0-trap-fg-signals.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Don't barf on handled signals inside of scripts.  Makes for nicer output.
-
-patch by Martin Schlemmer <aza...@gentoo.org>
-
---- a/jobs.c
-+++ b/jobs.c
-@@ -2893,11 +2893,11 @@
-               }
-             else if (IS_FOREGROUND (job))
-               {
--#if !defined (DONT_REPORT_SIGPIPE)
--                if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
--#else
--                if (termsig && WIFSIGNALED (s) && termsig != SIGINT && 
termsig != SIGPIPE)
--#endif
-+                if (termsig && WIFSIGNALED (s) && termsig != SIGINT &&
-+#if defined (DONT_REPORT_SIGPIPE)
-+                termsig != SIGPIPE &&
-+#endif
-+                signal_is_trapped (termsig) == 0)
-                   {
-                     fprintf (stderr, "%s", j_strsignal (termsig));
- 

diff --git a/app-shells/bash/files/bash-3.0-ulimit.patch 
b/app-shells/bash/files/bash-3.0-ulimit.patch
deleted file mode 100644
index 8202b95d2769..000000000000
--- a/app-shells/bash/files/bash-3.0-ulimit.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-Ripped from Fedora
-
---- bash-3.0/builtins/ulimit.def
-+++ bash-3.0/builtins/ulimit.def
-@@ -34,15 +34,20 @@
-     -a        all current limits are reported
-     -c        the maximum size of core files created
-     -d        the maximum size of a process's data segment
-+    -e        the maximum scheduling priority (`nice')
-     -f        the maximum size of files created by the shell
-+    -i        the maximum number of pending signals
-     -l        the maximum size a process may lock into memory
-     -m        the maximum resident set size
-     -n        the maximum number of open file descriptors
-     -p        the pipe buffer size
-+    -q        the maximum number of bytes in POSIX message queues
-+    -r        the maximum rt priority
-     -s        the maximum stack size
-     -t        the maximum amount of cpu time in seconds
-     -u        the maximum number of user processes
-     -v        the size of virtual memory 
-+    -x        the maximum number of file locks
- 
- If LIMIT is given, it is the new value of the specified resource;
- the special LIMIT values `soft', `hard', and `unlimited' stand for
-@@ -199,7 +204,13 @@
- #ifdef RLIMIT_DATA
-   { 'd',      RLIMIT_DATA,  1024,     "data seg size",        "kbytes" },
- #endif
-+#ifdef RLIMIT_NICE
-+  { 'e',      RLIMIT_NICE, 1,         "max nice",             (char *)NULL},
-+#endif /* RLIMIT_NICE */
-   { 'f',      RLIMIT_FILESIZE, 1024,  "file size",            "blocks" },
-+#ifdef RLIMIT_SIGPENDING
-+  { 'i',      RLIMIT_SIGPENDING, 1,   "pending signals",      (char *)NULL},
-+#endif
- #ifdef RLIMIT_MEMLOCK
-   { 'l',      RLIMIT_MEMLOCK, 1024,   "max locked memory",    "kbytes" },
- #endif
-@@ -208,6 +219,12 @@
- #endif /* RLIMIT_RSS */
-   { 'n',      RLIMIT_OPENFILES, 1,    "open files",           (char *)NULL},
-   { 'p',      RLIMIT_PIPESIZE, 512,   "pipe size",            "512 bytes" },
-+#ifdef RLIMIT_MSGQUEUE
-+  { 'q',      RLIMIT_MSGQUEUE, 1,     "POSIX message queues", "bytes" },
-+#endif
-+#ifdef RLIMIT_RTPRIO
-+  { 'r',      RLIMIT_RTPRIO, 1,       "max rt priority",      (char *)NULL},
-+#endif /* RLIMIT_RTPRIO */
- #ifdef RLIMIT_STACK
-   { 's',      RLIMIT_STACK, 1024,     "stack size",           "kbytes" },
- #endif
-@@ -221,6 +238,9 @@
- #ifdef RLIMIT_SWAP
-   { 'w',      RLIMIT_SWAP,    1024,   "swap size",            "kbytes" },
- #endif
-+#ifdef RLIMIT_LOCKS
-+  { 'x',      RLIMIT_LOCKS, 1,        "file locks",           (char *)NULL},
-+#endif
-   { -1, -1, -1, (char *)NULL, (char *)NULL }
- };
- #define NCMDS (sizeof(limits) / sizeof(limits[0]))
-@@ -647,11 +667,11 @@
- 
-   for (i = 0; limits[i].option > 0; i++)
-     {
--      if (get_limit (i, &softlim, &hardlim) < 0)
-+      if (get_limit (i, &softlim, &hardlim) == 0)
-+      printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1);
-+      else if (errno != EINVAL)
-       builtin_error ("%s: cannot get limit: %s", limits[i].description,
-                                                  strerror (errno));
--      else
--      printone (i, (mode & LIMIT_SOFT) ? softlim : hardlim, 1);
-     }
- }
- 
-@@ -670,7 +690,7 @@
-       else
-         sprintf (unitstr, "(-%c) ", limits[limind].option);
- 
--      printf ("%-18s %16s", limits[limind].description, unitstr);
-+      printf ("%-20s %16s", limits[limind].description, unitstr);
-     }
-   if (curlim == RLIM_INFINITY)
-     puts ("unlimited");
---- bash-3.0/doc/bashref.texi
-+++ bash-3.0/doc/bashref.texi
-@@ -3793,7 +3793,7 @@
- @item ulimit
- @btindex ulimit
- @example
--ulimit [-acdflmnpstuvSH] [@var{limit}]
-+ulimit [-acdeflmnpqrstuvxSH] [@var{limit}]
- @end example
- @code{ulimit} provides control over the resources available to processes
- started by the shell, on systems that allow such control.  If an
-@@ -3814,9 +3814,15 @@
- @item -d
- The maximum size of a process's data segment.
- 
-+@item -e
-+The maximum scheduling priority.
-+
- @item -f
- The maximum size of files created by the shell.
- 
-+@item -i
-+The maximum number of pending signals.
-+
- @item -l
- The maximum size that may be locked into memory.
- 
-@@ -3829,6 +3835,12 @@
- @item -p
- The pipe buffer size.
- 
-+@item -q
-+The maximum number of bytes in POSIX message queues.
-+
-+@item -r
-+The maximum RT priority.
-+
- @item -s
- The maximum stack size.
- 
-@@ -3841,6 +3853,9 @@
- @item -v
- The maximum amount of virtual memory available to the process.
- 
-+@item -x
-+The maximum amount of file locks.
-+
- @end table
- 
- If @var{limit} is given, it is the new value of the specified resource;
---- bash-3.0/doc/bash.1
-+++ bash-3.0/doc/bash.1
-@@ -8362,7 +8362,7 @@
- returns true if any of the arguments are found, false if
- none are found.
- .TP
--\fBulimit\fP [\fB\-SHacdflmnpstuv\fP [\fIlimit\fP]]
-+\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]]
- Provides control over the resources available to the shell and to
- processes started by it, on systems that allow such control.
- The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is
-@@ -8398,9 +8398,15 @@
- .B \-d
- The maximum size of a process's data segment
- .TP
-+.B \-e
-+The maximum scheduling priority (`nice')
-+.TP
- .B \-f
- The maximum size of files created by the shell
- .TP
-+.B \-i
-+The maximum number of pending signals
-+.TP
- .B \-l
- The maximum size that may be locked into memory
- .TP
-@@ -8414,6 +8420,12 @@
- .B \-p
- The pipe size in 512-byte blocks (this may not be set)
- .TP
-+.B \-q
-+The maximum number of bytes in POSIX message queues
-+.TP
-+.B \-r
-+The maximum rt priority
-+.TP
- .B \-s
- The maximum stack size
- .TP
-@@ -8425,6 +8437,9 @@
- .TP
- .B \-v
- The maximum amount of virtual memory available to the shell
-+.TP
-+.B \-x
-+The maximum number of file locks
- .PD
- .PP
- If

diff --git a/app-shells/bash/files/bash-3.0-volatile-command.patch 
b/app-shells/bash/files/bash-3.0-volatile-command.patch
deleted file mode 100644
index 87b9f25ffc21..000000000000
--- a/app-shells/bash/files/bash-3.0-volatile-command.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Ripped from Debian
-
-# DP: current_command must be declared volatile to prevent assignments from
-#     being optimized away as dead code.  In reality, the use of setjmp/longjmp
-#     makes it not dead code at all.
-
---- a/eval.c
-+++ b/eval.c
-@@ -63,7 +63,7 @@
- reader_loop ()
- {
-   int our_indirection_level;
--  COMMAND *current_command = (COMMAND *)NULL;
-+  COMMAND * volatile current_command = (COMMAND *)NULL;
- 
-   USE_VAR(current_command);

diff --git a/app-shells/bash/files/bash-3.1-dev-fd-buffer-overflow.patch 
b/app-shells/bash/files/bash-3.1-dev-fd-buffer-overflow.patch
deleted file mode 100644
index 9d08856e5b00..000000000000
--- a/app-shells/bash/files/bash-3.1-dev-fd-buffer-overflow.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-https://bugs.gentoo.org/431850
-
-this is a backport of the upstream bash42-033 patch for bash 3.1/3.0/2.05
-
---- a/test.c
-+++ b/test.c
-@@ -194,7 +194,8 @@
-      trailing slash.  Make sure /dev/fd/xx really uses DEV_FD_PREFIX/xx.
-      On most systems, with the notable exception of linux, this is
-      effectively a no-op. */
--      char pbuf[32];
-+      static char *pbuf = 0;
-+      pbuf = xrealloc (pbuf, sizeof (DEV_FD_PREFIX) + strlen (path + 8));
-       strcpy (pbuf, DEV_FD_PREFIX);
-       strcat (pbuf, path + 8);
-       return (stat (pbuf, finfo));

diff --git a/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch 
b/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch
deleted file mode 100644
index 80a4b0a1a034..000000000000
--- a/app-shells/bash/files/bash-3.1-dev-fd-test-as-user.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Fix the /dev/fd test when running as a non root user
-after logging in as a root user #131875
-
---- bash-3.1/configure
-+++ bash-3.1/configure
-@@ -23098,7 +23098,7 @@
-   if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
- # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
-    exec 3<&0
--   if test -r /dev/fd/3; then
-+   if test -e /dev/fd/3; then
-      bash_cv_dev_fd=standard
-    else
-      bash_cv_dev_fd=absent

diff --git a/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch 
b/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch
deleted file mode 100644
index 3ca7518fbb50..000000000000
--- a/app-shells/bash/files/bash-3.1-fix-dash-login-shell.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-http://lists.gnu.org/archive/html/bug-bash/2006-01/msg00054.html
-http://bugs.gentoo.org/118257
-
-Date: Fri, 13 Jan 2006 17:11:10 +0000
-From: Tim Waugh <twa...@redhat.com>
-To: bug-b...@gnu.org
-Subject: [patch] fix 'exec -l /bin/bash'
-
-Configuration Information [Automatically generated, do not change]:
-Machine: i386
-OS: linux-gnu
-Compiler: i386-redhat-linux-gcc
-Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='i386' 
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i386-redhat-linux-gnu' 
-DCONF_VENDOR='redhat' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL 
-DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib  -D_GNU_SOURCE 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall 
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector 
--param=ssp-buffer-size=4 -m32 -march=i386 -mtune=pentium4 
-fasynchronous-unwind-tables
-uname output: Linux gene.surrey.redhat.com 2.6.13-1.1597_FC5 #1 Thu Oct 6 
02:13:06 EDT 2005 i686 i686 i386 GNU/Linux
-Machine Type: i386-redhat-linux-gnu
-
-Bash Version: 3.1
-Patch Level: 1
-Release Status: release
-
-Description:
-       If bash has argv[0] as '-/bin/bash' it does not become a login
-       shell.
-
-Repeat-By:
-       exec -l /bin/bash
-       shopt
-
-Fix:
-
---- bash-3.1/shell.c.login     2006-01-13 16:52:14.000000000 +0000
-+++ bash-3.1/shell.c   2006-01-13 16:52:15.000000000 +0000
-@@ -1543,9 +1543,10 @@
-      any startup files; just try to be more like /bin/sh. */
-   shell_name = argv0 ? base_pathname (argv0) : PROGRAM;
- 
--  if (*shell_name == '-')
-+  if (argv0 && *argv0 == '-')
-     {
--      shell_name++;
-+      if (*shell_name == '-')
-+        shell_name++;
-       login_shell++;
-     }
- 
-
-
-_______________________________________________
-Bug-bash mailing list
-bug-b...@gnu.org
-http://lists.gnu.org/mailman/listinfo/bug-bash
-

diff --git a/app-shells/bash/files/bash-3.1-protos.patch 
b/app-shells/bash/files/bash-3.1-protos.patch
deleted file mode 100644
index 32ae8cfe91a3..000000000000
--- a/app-shells/bash/files/bash-3.1-protos.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-move prototypes around so they show up when needed
-
---- a/jobs.h
-+++ b/jobs.h
-@@ -182,6 +182,7 @@
- 
- extern int count_all_jobs __P((void));
- 
-+extern void close_pgrp_pipe __P((void));
- extern void terminate_current_pipeline __P((void));
- extern void terminate_stopped_jobs __P((void));
- extern void hangup_all_jobs __P((void));
---- a/lib/glob/strmatch.c
-+++ b/lib/glob/strmatch.c
-@@ -25,9 +25,6 @@
- #include "strmatch.h"
- 
- extern int xstrmatch __P((char *, char *, int));
--#if defined (HAVE_MULTIBYTE)
--extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
--#endif
- 
- int
- strmatch (pattern, string, flags)
---- a/lib/glob/strmatch.h
-+++ b/lib/glob/strmatch.h
-@@ -57,6 +57,7 @@
- 
- #if HANDLE_MULTIBYTE
- extern int wcsmatch __P((wchar_t *, wchar_t *, int));
-+extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
- #endif
- 
- #endif /* _STRMATCH_H */
---- a/builtins/echo.def
-+++ b/builtins/echo.def
-@@ -31,6 +31,8 @@
- #include <stdio.h>
- #include "../shell.h"
- 
-+#include "common.h"
-+
- $BUILTIN echo
- $FUNCTION echo_builtin
- $DEPENDS_ON V9_ECHO
---- a/lib/sh/winsize.c
-+++ b/lib/sh/winsize.c
-@@ -55,6 +55,7 @@
- #if defined (READLINE)
- extern void rl_set_screen_size __P((int, int));
- #endif
-+extern void sh_set_lines_and_columns __P((int, int));
- 
- void
- get_new_window_size (from_sig, rp, cp)
---- a/support/bashversion.c
-+++ b/support/bashversion.c
-@@ -47,6 +47,9 @@
- extern char *dist_version;
- extern int patch_level;
- 
-+extern char *shell_version_string __P((void));
-+extern void show_shell_version __P((int));
-+
- char *shell_name = "bash";
- char *progname;
- 

diff --git a/app-shells/bash/files/bash-3.1-ulimit.patch 
b/app-shells/bash/files/bash-3.1-ulimit.patch
deleted file mode 100644
index 8c2474825cf1..000000000000
--- a/app-shells/bash/files/bash-3.1-ulimit.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-Ripped from Fedora
-
-Add support for RLIMIT_NICE/RLIMIT_RTPRIO and add missing documentation
-for many other options
-
---- a/builtins/ulimit.def
-+++ b/builtins/ulimit.def
-@@ -24,7 +24,7 @@
- $BUILTIN ulimit
- $FUNCTION ulimit_builtin
- $DEPENDS_ON !_MINIX
--$SHORT_DOC ulimit [-SHacdfilmnpqstuvx] [limit]
-+$SHORT_DOC ulimit [-SHacdefilmnpqrstuvx] [limit]
- Ulimit provides control over the resources available to processes
- started by the shell, on systems that allow such control.  If an
- option is given, it is interpreted as follows:
-@@ -34,18 +34,20 @@
-     -a        all current limits are reported
-     -c        the maximum size of core files created
-     -d        the maximum size of a process's data segment
-+    -e        the maximum scheduling priority (`nice')
-     -f        the maximum size of files created by the shell
--    -i  the maximum number of pending signals
-+    -i        the maximum number of pending signals
-     -l        the maximum size a process may lock into memory
-     -m        the maximum resident set size
-     -n        the maximum number of open file descriptors
-     -p        the pipe buffer size
--    -q  the maximum number of bytes in POSIX message queues
-+    -q        the maximum number of bytes in POSIX message queues
-+    -r        the maximum rt priority
-     -s        the maximum stack size
-     -t        the maximum amount of cpu time in seconds
-     -u        the maximum number of user processes
-     -v        the size of virtual memory
--    -x  the maximum number of file locks
-+    -x        the maximum number of file locks
- 
- If LIMIT is given, it is the new value of the specified resource;
- the special LIMIT values `soft', `hard', and `unlimited' stand for
-@@ -202,6 +204,9 @@
- #ifdef RLIMIT_DATA
-   { 'd',      RLIMIT_DATA,  1024,     "data seg size",        "kbytes" },
- #endif
-+#ifdef RLIMIT_NICE
-+  { 'e',      RLIMIT_NICE,  1,        "max nice",     (char *)NULL},
-+#endif
-   { 'f',      RLIMIT_FILESIZE, 1024,  "file size",            "blocks" },
- #ifdef RLIMIT_SIGPENDING
-   { 'i',      RLIMIT_SIGPENDING, 1,   "pending signals",      (char *)NULL },
-@@ -217,6 +222,9 @@
- #ifdef RLIMIT_MSGQUEUE
-   { 'q',      RLIMIT_MSGQUEUE, 1,     "POSIX message queues", "bytes" },
- #endif
-+#ifdef RLIMIT_RTPRIO
-+  { 'r',      RLIMIT_RTPRIO, 1,       "max rt priority",      (char *)NULL},
-+#endif
- #ifdef RLIMIT_STACK
-   { 's',      RLIMIT_STACK, 1024,     "stack size",           "kbytes" },
- #endif
---- a/doc/bashref.texi
-+++ b/doc/bashref.texi
-@@ -3833,7 +3833,7 @@
- @item ulimit
- @btindex ulimit
- @example
--ulimit [-acdfilmnpqstuvxSH] [@var{limit}]
-+ulimit [-acdefilmnpqrstuvxSH] [@var{limit}]
- @end example
- @code{ulimit} provides control over the resources available to processes
- started by the shell, on systems that allow such control.  If an
-@@ -3854,6 +3854,9 @@
- @item -d
- The maximum size of a process's data segment.
- 
-+@item -e
-+The maximum scheduling priority.
-+
- @item -f
- The maximum size of files created by the shell.
- 
-@@ -3875,6 +3878,9 @@
- @item -q
- The maximum number of bytes in POSIX message queues.
- 
-+@item -r
-+The maximum RT priority.
-+
- @item -s
- The maximum stack size.
- 
---- a/doc/bash.1
-+++ b/doc/bash.1
-@@ -8490,7 +8490,7 @@
- returns true if any of the arguments are found, false if
- none are found.
- .TP
--\fBulimit\fP [\fB\-SHacdfilmnpqstuvx\fP [\fIlimit\fP]]
-+\fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]]
- Provides control over the resources available to the shell and to
- processes started by it, on systems that allow such control.
- The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is
-@@ -8526,6 +8526,9 @@
- .B \-d
- The maximum size of a process's data segment
- .TP
-+.B \-e
-+The maximum scheduling priority (`nice')
-+.TP
- .B \-f
- The maximum size of files created by the shell
- .TP
-@@ -8548,6 +8551,9 @@
- .B \-q
- The maximum number of bytes in POSIX message queues
- .TP
-+.B \-r
-+The maximum rt priority
-+.TP
- .B \-s
- The maximum stack size
- .TP

diff --git a/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch 
b/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch
deleted file mode 100644
index 8aca7767161d..000000000000
--- a/app-shells/bash/files/bash-3.2-dev-fd-test-as-user.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -ur bash-3.2.orig/aclocal.m4 bash-3.2/aclocal.m4
---- bash-3.2.orig/aclocal.m4    2006-12-30 20:00:31 +0000
-+++ bash-3.2/aclocal.m4 2006-12-30 20:02:02 +0000
-@@ -1544,7 +1544,8 @@
- if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
- # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
-    exec 3</dev/null
--   if test -r /dev/fd/3; then
-+   # bash test builtin always works here, so we use the test binary
-+   if `which test || echo test` -e /dev/fd/3; then
-      bash_cv_dev_fd=standard
-    else
-      bash_cv_dev_fd=absent
-diff -ur bash-3.2.orig/configure bash-3.2/configure
---- bash-3.2.orig/configure     2006-12-30 20:03:24 +0000
-+++ bash-3.2/configure  2006-12-30 20:01:50 +0000
-@@ -27179,7 +27179,8 @@
- if test -d /dev/fd  && test -r /dev/fd/0 < /dev/null; then
- # check for systems like FreeBSD 5 that only provide /dev/fd/[012]
-    exec 3</dev/null
--   if test -r /dev/fd/3; then
-+   # bash test builtin always works here, so we use the test binary
-+   if `which test || echo test` -e /dev/fd/3; then
-      bash_cv_dev_fd=standard
-    else
-      bash_cv_dev_fd=absent

diff --git a/app-shells/bash/files/bash-3.2-ldflags-for-build.patch 
b/app-shells/bash/files/bash-3.2-ldflags-for-build.patch
deleted file mode 100644
index 2dc1dd6ef790..000000000000
--- a/app-shells/bash/files/bash-3.2-ldflags-for-build.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-http://bugs.gentoo.org/211947
-
-fix from Takashi YOSHII: dont use target ldflags for build apps
-
---- bash/builtins/Makefile.in
-+++ bash/builtins/Makefile.in
-@@ -63,7 +63,7 @@
- 
- LIBS = @LIBS@
- LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
--LDFLAGS_FOR_BUILD = $(LDFLAGS)
-+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
- LOCAL_LDFLAGS = @LOCAL_LDFLAGS@
- #LIBS_FOR_BUILD = @LIBS_FOR_BUILD@
- LIBS_FOR_BUILD = $(LIBS)
---- bash/support/Makefile.in
-+++ bash/support/Makefile.in
-@@ -58,7 +58,7 @@
- 
- LOCAL_LDFLAGS = @LOCAL_LDFLAGS@
- LDFLAGS = @LDFLAGS@ $(LOCAL_LDFLAGS) $(CFLAGS)
--LDFLAGS_FOR_BUILD = $(LDFLAGS)
-+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
- 
- INCLUDES = -I${BUILD_DIR} -I${topdir}
- 
---- bash/Makefile.in
-+++ bash/Makefile.in
-@@ -143,7 +143,7 @@
- CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
- 
- LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS)
--LDFLAGS_FOR_BUILD = $(LDFLAGS)
-+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
- 
- INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) 
$(INTL_INC)
- 

diff --git a/app-shells/bash/files/bash-3.2-loadables.patch 
b/app-shells/bash/files/bash-3.2-loadables.patch
deleted file mode 100644
index cd0e1e1a8e9e..000000000000
--- a/app-shells/bash/files/bash-3.2-loadables.patch
+++ /dev/null
@@ -1,239 +0,0 @@
---- bash-3.2/examples/loadables/basename.c
-+++ bash-3.2/examples/loadables/basename.c
-@@ -11,6 +11,7 @@
- #include <stdio.h>
- #include "builtins.h"
- #include "shell.h"
-+#include "common.h"
- 
- basename_builtin (list)
-      WORD_LIST *list;
---- bash-3.2/examples/loadables/cut.c
-+++ bash-3.2/examples/loadables/cut.c
-@@ -63,6 +63,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int    errno;
---- bash-3.2/examples/loadables/dirname.c
-+++ bash-3.2/examples/loadables/dirname.c
-@@ -11,6 +11,7 @@
- #include <stdio.h>
- #include "builtins.h"
- #include "shell.h"
-+#include "common.h"
- 
- dirname_builtin (list)
-      WORD_LIST *list;
---- bash-3.2/examples/loadables/finfo.c
-+++ bash-3.2/examples/loadables/finfo.c
-@@ -12,6 +12,7 @@
- #include <pwd.h>
- #include <grp.h>
- #include <errno.h>
-+#include <time.h>
- 
- #include "bashansi.h"
- #include "shell.h"
---- bash-3.2/examples/loadables/head.c
-+++ bash-3.2/examples/loadables/head.c
-@@ -21,6 +21,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int errno;
---- bash-3.2/examples/loadables/ln.c
-+++ bash-3.2/examples/loadables/ln.c
-@@ -18,6 +18,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int errno;
---- bash-3.2/examples/loadables/logname.c
-+++ bash-3.2/examples/loadables/logname.c
-@@ -11,6 +11,7 @@
- 
- #include "builtins.h"
- #include "shell.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int errno;
---- bash-3.2/examples/loadables/mkdir.c
-+++ bash-3.2/examples/loadables/mkdir.c
-@@ -16,6 +16,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int errno;
---- bash-3.2/examples/loadables/pathchk.c
-+++ bash-3.2/examples/loadables/pathchk.c
-@@ -45,6 +45,7 @@
- #include "stdc.h"
- #include "bashgetopt.h"
- #include "maxpath.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int errno;
---- bash-3.2/examples/loadables/print.c
-+++ bash-3.2/examples/loadables/print.c
-@@ -17,6 +17,8 @@
- #include "builtins.h"
- #include "stdc.h"
- #include "bashgetopt.h"
-+#include "builtext.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int errno;
---- bash-3.2/examples/loadables/printenv.c
-+++ bash-3.2/examples/loadables/printenv.c
-@@ -11,6 +11,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- extern char **export_env;
- 
---- bash-3.2/examples/loadables/push.c
-+++ bash-3.2/examples/loadables/push.c
-@@ -11,6 +11,7 @@
- #include "shell.h"
- #include "jobs.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- #ifndef errno
- extern int errno;
---- bash-3.2/examples/loadables/realpath.c
-+++ bash-3.2/examples/loadables/realpath.c
-@@ -34,6 +34,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- #ifndef errno
- extern int    errno;
-@@ -67,14 +68,14 @@
-                       vflag = 1;
-                       break;
-               default:
--                      usage();
-+                      builtin_usage();
-               }
-       }
- 
-       list = loptend;
- 
-       if (list == 0)
--              usage();
-+              builtin_usage();
- 
-       for (es = EXECUTION_SUCCESS; list; list = list->next) {
-               p = list->word->word;
---- bash-3.2/examples/loadables/rmdir.c
-+++ bash-3.2/examples/loadables/rmdir.c
-@@ -8,6 +8,7 @@
- #include <errno.h>
- #include "builtins.h"
- #include "shell.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int errno;
---- bash-3.2/examples/loadables/sleep.c
-+++ bash-3.2/examples/loadables/sleep.c
-@@ -27,6 +27,7 @@
- 
- #include "shell.h"
- #include "builtins.h"
-+#include "common.h"
- 
- #define RETURN(x) \
-       do { \
---- bash-3.2/examples/loadables/tee.c
-+++ bash-3.2/examples/loadables/tee.c
-@@ -22,6 +22,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- #if !defined (errno)
- extern int errno;
---- bash-3.2/examples/loadables/truefalse.c
-+++ bash-3.2/examples/loadables/truefalse.c
-@@ -1,5 +1,7 @@
- /* true and false builtins */
- 
-+#include <config.h>
-+
- #include "bashtypes.h"
- #include "shell.h"
- #include "builtins.h"
---- bash-3.2/examples/loadables/tty.c
-+++ bash-3.2/examples/loadables/tty.c
-@@ -8,6 +8,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- extern char *ttyname ();
- 
---- bash-3.2/examples/loadables/uname.c
-+++ bash-3.2/examples/loadables/uname.c
-@@ -27,6 +27,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- #define FLAG_SYSNAME  0x01    /* -s */
- #define FLAG_NODENAME 0x02    /* -n */
---- bash-3.2/examples/loadables/unlink.c
-+++ bash-3.2/examples/loadables/unlink.c
-@@ -14,6 +14,7 @@
- 
- #include "builtins.h"
- #include "shell.h"
-+#include "common.h"
- 
- #ifndef errno
- extern int errno;
---- bash-3.2/examples/loadables/whoami.c
-+++ bash-3.2/examples/loadables/whoami.c
-@@ -8,6 +8,7 @@
- #include "builtins.h"
- #include "shell.h"
- #include "bashgetopt.h"
-+#include "common.h"
- 
- whoami_builtin (list)
-      WORD_LIST *list;
---- bash-3.2/examples/loadables/Makefile.in
-+++ bash-3.2/examples/loadables/Makefile.in
-@@ -68,7 +68,7 @@
- SHOBJ_CC = @SHOBJ_CC@
- SHOBJ_CFLAGS = @SHOBJ_CFLAGS@
- SHOBJ_LD = @SHOBJ_LD@
--SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
-+SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@ @LDFLAGS@
- SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
- SHOBJ_LIBS = @SHOBJ_LIBS@
- SHOBJ_STATUS = @SHOBJ_STATUS@

diff --git a/app-shells/bash/files/bash-3.2-process-subst.patch 
b/app-shells/bash/files/bash-3.2-process-subst.patch
deleted file mode 100644
index 94877c62b316..000000000000
--- a/app-shells/bash/files/bash-3.2-process-subst.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Fix process substitution on BSD
-
---- a/execute_cmd.c
-+++ b/execute_cmd.c
-@@ -2672,6 +2672,7 @@
- 
-         do_piping (pipe_in, pipe_out);
- 
-+        subshell_environment = 0;
-         if (async)
-           subshell_environment |= SUBSHELL_ASYNC;
-         if (pipe_in != NO_PIPE || pipe_out != NO_PIPE)

diff --git a/app-shells/bash/files/bash-3.2-protos.patch 
b/app-shells/bash/files/bash-3.2-protos.patch
deleted file mode 100644
index 0a9ea74adfb0..000000000000
--- a/app-shells/bash/files/bash-3.2-protos.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-move prototypes around so they show up when needed
-
---- a/jobs.h
-+++ b/jobs.h
-@@ -182,6 +182,7 @@
- 
- extern int count_all_jobs __P((void));
- 
-+extern void close_pgrp_pipe __P((void));
- extern void terminate_current_pipeline __P((void));
- extern void terminate_stopped_jobs __P((void));
- extern void hangup_all_jobs __P((void));
---- a/lib/glob/strmatch.c
-+++ b/lib/glob/strmatch.c
-@@ -25,9 +25,6 @@
- #include "strmatch.h"
- 
- extern int xstrmatch __P((char *, char *, int));
--#if defined (HAVE_MULTIBYTE)
--extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
--#endif
- 
- int
- strmatch (pattern, string, flags)
---- a/lib/glob/strmatch.h
-+++ b/lib/glob/strmatch.h
-@@ -57,6 +57,7 @@
- 
- #if HANDLE_MULTIBYTE
- extern int wcsmatch __P((wchar_t *, wchar_t *, int));
-+extern int internal_wstrmatch __P((wchar_t *, wchar_t *, int));
- #endif
- 
- #endif /* _STRMATCH_H */
---- a/quit.h
-+++ b/quit.h
-@@ -21,6 +21,8 @@
- #if !defined (_QUIT_H_)
- #define _QUIT_H_
- 
-+#include "sig.h"
-+
- /* Non-zero means SIGINT has already ocurred. */
- extern volatile int interrupt_state;
- extern volatile int terminating_signal;
---- a/support/bashversion.c
-+++ b/support/bashversion.c
-@@ -47,6 +47,9 @@
- extern char *dist_version;
- extern int patch_level;
- 
-+extern char *shell_version_string __P((void));
-+extern void show_shell_version __P((int));
-+
- char *shell_name = "bash";
- char *progname;
- 

diff --git a/app-shells/bash/files/bash-3.2-session-leader.patch 
b/app-shells/bash/files/bash-3.2-session-leader.patch
deleted file mode 100644
index 2e9286f34d40..000000000000
--- a/app-shells/bash/files/bash-3.2-session-leader.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-http://bugs.gentoo.org/231775
-http://lists.gnu.org/archive/html/bug-bash/2008-07/msg00010.html
-
-A parent bash shell sometimes will set the session leader tty (using tcsetpgrp)
-back to itself, taking control away from a child bash shell, due to a race
-condition.  A result is that the child can then not then execute some commands
-(like stty) from its init script (e.g. .bashrc).  The result I (and others)
-have seen is that the bash shell will hang while reading the init script.
-
-*** a/jobs.c
---- b/jobs.c
-***************
-*** 266,269 ****
---- 266,270 ----
-  static void set_job_running __P((int));
-  static void setjstatus __P((int));
-+ static int maybe_give_terminal_to __P((pid_t, pid_t, int));
-  static void mark_all_jobs_as_dead __P((void));
-  static void mark_dead_jobs_as_notified __P((int));
-***************
-*** 637,641 ****
-          */
-         if (job_control && newjob->pgrp && 
(subshell_environment&SUBSHELL_ASYNC) == 0)
-!          give_terminal_to (newjob->pgrp, 0);
-       }
-      }
---- 638,642 ----
-          */
-         if (job_control && newjob->pgrp && 
(subshell_environment&SUBSHELL_ASYNC) == 0)
-!          maybe_give_terminal_to (shell_pgrp, newjob->pgrp, 0);
-       }
-      }
-***************
-*** 3833,3836 ****
---- 3834,3863 ----
-  }
-  
-+ /* Give terminal to NPGRP iff it's currently owned by OPGRP.  FLAGS are the
-+    flags to pass to give_terminal_to(). */
-+ static int
-+ maybe_give_terminal_to (opgrp, npgrp, flags)
-+      pid_t opgrp, npgrp;
-+      int flags;
-+ {
-+   int tpgrp;
-+ 
-+   tpgrp = tcgetpgrp (shell_tty);
-+   if (tpgrp == npgrp)
-+     {
-+       terminal_pgrp = npgrp;
-+       return 0;
-+     }
-+   else if (tpgrp != opgrp)
-+     {
-+ #if defined (DEBUG)
-+       internal_warning ("maybe_give_terminal_to: terminal pgrp == %d shell 
pgrp = %d", tpgrp, opgrp);
-+ #endif
-+       return -1;
-+     }
-+   else
-+     return (give_terminal_to (npgrp, flags));     
-+ }
-+ 
-  /* Clear out any jobs in the job array.  This is intended to be used by
-     children of the shell, who should not have any job structures as baggage

diff --git a/app-shells/bash/files/bash-3.2-ulimit.patch 
b/app-shells/bash/files/bash-3.2-ulimit.patch
deleted file mode 100644
index 19ea7e6e5e33..000000000000
--- a/app-shells/bash/files/bash-3.2-ulimit.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-add missing docs for -e and -r options
-
---- a/builtins/ulimit.def
-+++ b/builtins/ulimit.def
-@@ -24,7 +24,7 @@
- $BUILTIN ulimit
- $FUNCTION ulimit_builtin
- $DEPENDS_ON !_MINIX
--$SHORT_DOC ulimit [-SHacdfilmnpqstuvx] [limit]
-+$SHORT_DOC ulimit [-SHacdefilmnpqrstuvx] [limit]
- Ulimit provides control over the resources available to processes
- started by the shell, on systems that allow such control.  If an
- option is given, it is interpreted as follows:

diff --git a/app-shells/bash/files/bash-4.0-configure.patch 
b/app-shells/bash/files/bash-4.0-configure.patch
deleted file mode 100644
index e57cb6b2402e..000000000000
--- a/app-shells/bash/files/bash-4.0-configure.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-http://bugs.gentoo.org/304901
-
-newer patches touch configure ... we don't want autotool deps, so update
-the files ourselves
-
---- bash-4.0/configure
-+++ bash-4.0/configure
-@@ -5806,7 +5806,7 @@
-               # static version specified as -llibname to override the
-               # dynamic version
-               case "${host_os}" in
--              darwin[89]*)    READLINE_LIB='${READLINE_LIBRARY}' ;;
-+              darwin[89]*|darwin10*) READLINE_LIB='${READLINE_LIBRARY}' ;;
-               *)              READLINE_LIB=-lreadline ;;
-               esac
-       fi
-@@ -5847,7 +5847,7 @@
-               # static version specified as -llibname to override the
-               # dynamic version
-               case "${host_os}" in
--              darwin[89]*)    HISTORY_LIB='${HISTORY_LIBRARY}' ;;
-+              darwin[89]*|darwin10*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
-               *)              HISTORY_LIB=-lhistory ;;
-               esac
-       fi

diff --git a/app-shells/bash/files/bash-4.0-ldflags-for-build.patch 
b/app-shells/bash/files/bash-4.0-ldflags-for-build.patch
deleted file mode 100644
index 089264f97e40..000000000000
--- a/app-shells/bash/files/bash-4.0-ldflags-for-build.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-http://bugs.gentoo.org/211947
-
-fix from Takashi YOSHII: dont use target ldflags for build apps
-
---- bash/Makefile.in
-+++ bash/Makefile.in
-@@ -143,7 +143,7 @@
- CCFLAGS_FOR_BUILD = $(BASE_CCFLAGS) $(CPPFLAGS_FOR_BUILD) $(CFLAGS_FOR_BUILD)
- 
- LDFLAGS = @LDFLAGS@ $(STATIC_LD) $(LOCAL_LDFLAGS) $(PROFILE_FLAGS) $(CFLAGS)
--LDFLAGS_FOR_BUILD = $(LDFLAGS)
-+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ $(LOCAL_LDFLAGS) $(CFLAGS_FOR_BUILD)
- 
- INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) 
$(INTL_INC)
- 

diff --git a/app-shells/bash/files/bash-4.0-negative-return.patch 
b/app-shells/bash/files/bash-4.0-negative-return.patch
deleted file mode 100644
index 32affa18c179..000000000000
--- a/app-shells/bash/files/bash-4.0-negative-return.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-http://lists.gnu.org/archive/html/bug-bash/2009-02/msg00158.html
-
-make `return` accept negative values again
-
-hack by me (vap...@gentoo.org) ... i'm not familiar with bash source code, so
-i imagine this isn't the best way to do it ...
-
---- bash/builtins/return.def
-+++ bash/builtins/return.def
-@@ -60,9 +60,23 @@
- return_builtin (list)
-      WORD_LIST *list;
- {
-+      int neg = 0;
-+      if (list && list->word && list->word->word) {
-+              char *word = list->word->word;
-+              if (*word == '-') {
-+                      while (*word++)
-+                              if (!isdigit(*word))
-+                                      break;
-+                      if (!*word)
-+                              neg = 1;
-+              }
-+      }
-+
-+      if (!neg) {
-   if (no_options (list))
-     return (EX_USAGE);
-   list = loptend;     /* skip over possible `--' */
-+      }
- 
-   return_catch_value = get_exitstat (list);
- 

diff --git a/app-shells/bash/files/bash-4.0-parallel-build.patch 
b/app-shells/bash/files/bash-4.0-parallel-build.patch
deleted file mode 100644
index 8384e2c9019c..000000000000
--- a/app-shells/bash/files/bash-4.0-parallel-build.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-http://bugs.gentoo.org/267613
-
-add missing dep
-
-patch by Peter Alfredsen
-
---- bash-4.0/Makefile.in
-+++ bash-4.0/Makefile.in
-@@ -1022,10 +1022,11 @@
- subst.o: flags.h jobs.h siglist.h execute_cmd.h ${BASHINCDIR}/filecntl.h 
trap.h pathexp.h
- subst.o: mailcheck.h input.h $(DEFSRC)/getopt.h $(DEFSRC)/common.h
- subst.o: bashline.h bashhist.h ${GLOB_LIBSRC}/strmatch.h
- subst.o: ${BASHINCDIR}/chartypes.h
- subst.o: ${BASHINCDIR}/shmbutil.h
-+subst.o: ${DEFDIR}/builtext.h
- test.o: bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h
- test.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h 
command.h ${BASHINCDIR}/stdc.h error.h
- test.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h 
array.h hashlib.h
- test.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h
- test.o: make_cmd.h subst.h sig.h pathnames.h externs.h test.h
-
-http://bugs.gentoo.org/284633
-
-and another ...
-
---- bash-4.0/lib/sh/Makefile.in
-+++ bash-4.0/lib/sh/Makefile.in
-@@ -136,6 +136,9 @@
- ${BUILD_DIR}/version.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-       -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h )
- 
-+${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-+      -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
-+
- # rules for losing makes, like SunOS
- casemod.o: casemod.c
- clktck.o: clktck.c
-
-http://bugs.gentoo.org/300143
-
-and another ...
-
---- bash-4.0/lib/glob/Makefile.in
-+++ bash-4.0/lib/glob/Makefile.in
-@@ -119,6 +119,11 @@
- mostlyclean: clean
-       -( cd doc && $(MAKE) $(MFLAGS) $@ )
- 
-+# Dependencies
-+
-+${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-+      -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
-+
- ######################################################################
- #                                                                  #
- #  Dependencies for the object files which make up this library.     #
-@@ -136,7 +141,7 @@
- strmatch.o: $(BUILD_DIR)/config.h
- strmatch.o: $(BASHINCDIR)/stdc.h
- 
--glob.o: $(BUILD_DIR)/config.h
-+glob.o: $(BUILD_DIR)/config.h $(topdir)/shell.h $(BUILD_DIR)/pathnames.h
- glob.o: $(topdir)/bashtypes.h $(BASHINCDIR)/ansi_stdlib.h $(topdir)/bashansi.h
- glob.o: $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/memalloc.h
- glob.o: strmatch.h glob.h

diff --git a/app-shells/bash/files/bash-4.1-fbsd-eaccess.patch 
b/app-shells/bash/files/bash-4.1-fbsd-eaccess.patch
deleted file mode 100644
index 3c5b5dd98d9b..000000000000
--- a/app-shells/bash/files/bash-4.1-fbsd-eaccess.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Bash built-in test fails to correctly report exeuctable status for non-
-executable files when run by root on FreeBSD.
-
-See http://bugs.gentoo.org/303411
-
-Patch from Johan Hattne <johan.hat...@utsuthwestern.edu>
---- a/lib/sh/eaccess.c.orig
-+++ b/lib/sh/eaccess.c
-@@ -198,11 +198,19 @@
-      char *path;
-      int mode;
- {
-+  struct stat s;
-+  int ret;
-+
-   if (path_is_devfd (path))
-     return (sh_stataccess (path, mode));
- 
- #if defined (HAVE_EACCESS)            /* FreeBSD */
--  return (eaccess (path, mode));
-+  if (stat (path, &s) != 0)
-+    return (-1);
-+  ret = eaccess (path, mode);
-+  if (mode == X_OK && ret == 0 && !S_ISDIR(s.st_mode) && geteuid() == 0)
-+    return ((s.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) == 0 ? -1 : 0);
-+  return (ret);
- #elif defined (EFF_ONLY_OK)           /* SVR4(?), SVR4.2 */
-   return access (path, mode|EFF_ONLY_OK);
- #else

diff --git a/app-shells/bash/files/bash-4.1-parallel-build.patch 
b/app-shells/bash/files/bash-4.1-parallel-build.patch
deleted file mode 100644
index ae44bcc0cf6d..000000000000
--- a/app-shells/bash/files/bash-4.1-parallel-build.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- bash-4.1/lib/glob/Makefile.in
-+++ bash-4.1/lib/glob/Makefile.in
-@@ -119,6 +119,11 @@
- mostlyclean: clean
-       -( cd doc && $(MAKE) $(MFLAGS) $@ )
- 
-+# Dependencies
-+
-+${BUILD_DIR}/pathnames.h: ${BUILD_DIR}/config.h ${BUILD_DIR}/Makefile Makefile
-+      -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} pathnames.h )
-+
- ######################################################################
- #                                                                  #
- #  Dependencies for the object files which make up this library.     #
-@@ -136,7 +141,7 @@
- strmatch.o: $(BUILD_DIR)/config.h
- strmatch.o: $(BASHINCDIR)/stdc.h
- 
--glob.o: $(BUILD_DIR)/config.h
-+glob.o: $(BUILD_DIR)/config.h $(topdir)/shell.h $(BUILD_DIR)/pathnames.h
- glob.o: $(topdir)/bashtypes.h $(BASHINCDIR)/ansi_stdlib.h $(topdir)/bashansi.h
- glob.o: $(BASHINCDIR)/posixstat.h $(BASHINCDIR)/memalloc.h
- glob.o: strmatch.h glob.h

diff --git a/app-shells/bash/files/bash-4.2-dev-fd-buffer-overflow.patch 
b/app-shells/bash/files/bash-4.2-dev-fd-buffer-overflow.patch
deleted file mode 100644
index d50c269b7e71..000000000000
--- a/app-shells/bash/files/bash-4.2-dev-fd-buffer-overflow.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugs.gentoo.org/431850
-
-this is a minor tweak to the upstream patch to also apply to bash 4.1/4.0/3.2
-
-                            BASH PATCH REPORT
-                            =================
-
-Bash-Release:  4.2
-Patch-ID:      bash42-033
-
-Bug-Reported-by:       David Leverton <levert...@googlemail.com>
-Bug-Reference-ID:      <4fcce737.1060...@googlemail.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-Bash uses a static buffer when expanding the /dev/fd prefix for the test
-and conditional commands, among other uses, when it should use a dynamic
-buffer to avoid buffer overflow.
-
-Patch (apply with `patch -p0'):
-
-*** bash-4.2/lib/sh/eaccess.c
---- bash-4.2/lib/sh/eaccess.c
-***************
-*** 83,86 ****
---- 83,88 ----
-       struct stat *finfo;
-  {
-+   static char *pbuf = 0;
-+ 
-    if (*path == '\0')
-      {
-***************
-*** 107,111 ****
-       On most systems, with the notable exception of linux, this is
-       effectively a no-op. */
-!       char pbuf[32];
-        strcpy (pbuf, DEV_FD_PREFIX);
-        strcat (pbuf, path + 8);
---- 109,113 ----
-       On most systems, with the notable exception of linux, this is
-       effectively a no-op. */
-!       pbuf = xrealloc (pbuf, sizeof (DEV_FD_PREFIX) + strlen (path + 8));
-        strcpy (pbuf, DEV_FD_PREFIX);
-        strcat (pbuf, path + 8);

diff --git a/app-shells/bash/files/bash-4.2-execute-job-control.patch 
b/app-shells/bash/files/bash-4.2-execute-job-control.patch
deleted file mode 100644
index 82b73e5157ca..000000000000
--- a/app-shells/bash/files/bash-4.2-execute-job-control.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-fix build when job control is disabled
-
-http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00110.html
-http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00057.html
-http://lists.gnu.org/archive/html/bug-bash/2011-09/msg00039.html
-https://bugs.gentoo.org/383237
-
-should be fixed in next release of bash ...
-
---- a/execute_cmd.c
-+++ b/execute_cmd.c
-@@ -2202,7 +2202,11 @@
-   /* If the `lastpipe' option is set with shopt, and job control is not
-      enabled, execute the last element of non-async pipelines in the
-      current shell environment. */
--  if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == 
NO_PIPE && prev > 0)
-+  if (lastpipe_opt && 
-+#if defined(JOB_CONTROL)
-+              job_control == 0 && 
-+#endif
-+              asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
-     {
-       lstdin = move_to_high_fd (0, 0, 255);
-       if (lstdin > 0)

diff --git a/app-shells/bash/files/bash-4.2-no-readline.patch 
b/app-shells/bash/files/bash-4.2-no-readline.patch
deleted file mode 100644
index 14eb6bf421e9..000000000000
--- a/app-shells/bash/files/bash-4.2-no-readline.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-fix building when readline is disabled
-
---- a/builtins/complete.def
-+++ b/builtins/complete.def
-@@ -49,6 +49,8 @@ $END
- 
- #include <config.h>
- 
-+#ifdef READLINE
-+
- #include <stdio.h>
- 
- #include "../bashtypes.h"
-@@ -867,3 +869,5 @@ compopt_builtin (list)
- 
-   return (ret);
- }
-+
-+#endif

diff --git a/app-shells/bash/files/bash-4.2-parallel-build.patch 
b/app-shells/bash/files/bash-4.2-parallel-build.patch
deleted file mode 100644
index ab2de86206a3..000000000000
--- a/app-shells/bash/files/bash-4.2-parallel-build.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-https://lists.gnu.org/archive/html/bug-bash/2011-10/msg00036.html
-
-the current yacc rules allow multiple runs to generate the same files.  usually
-this doesn't come up as the generated files are shipped in the tarball, but
-when you modify parse.y (applying a patch or developing or whatever), you can
-hit this problem.
-
-simple way of showing this:
-       make -j y.tab.{c,h}
-a correct system would not show the yacc parser running twice :)
-
-simple patch is to have the .h file depend on the .c file, and have the .h file
-itself issue a dummy rule (to avoid make thinking things changed).
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -579,16 +579,17 @@
- 
- # old rules
- GRAM_H = parser-built
--y.tab.o: y.tab.c ${GRAM_H} command.h ${BASHINCDIR}/stdc.h input.h
-+y.tab.o: y.tab.h y.tab.c ${GRAM_H} command.h ${BASHINCDIR}/stdc.h input.h
- ${GRAM_H}:    y.tab.h
-       @-if test -f y.tab.h ; then \
-               cmp -s $@ y.tab.h 2>/dev/null || cp -p y.tab.h $@; \
-       fi
--y.tab.c y.tab.h: parse.y
-+y.tab.c: parse.y
- #     -if test -f y.tab.h; then mv -f y.tab.h old-y.tab.h; fi
-       $(YACC) -d $(srcdir)/parse.y
-       touch parser-built
- #     -if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; else cp -p 
y.tab.h ${GRAM_H}; fi
-+y.tab.h: y.tab.c ; @true
- 
- # experimental new rules - work with GNU make but not BSD (or OSF) make
- #y.tab.o: y.tab.c y.tab.h
-
-https://lists.gnu.org/archive/html/bug-bash/2011-10/msg00037.html
-
-the current code generates a bunch of local libraries in subdirs and then
-links bash against that.  those subdirs sometimes need version.h.  so they
-have a rule to change back up to the parent dir and build version.h (which is
-fine).  the trouble is that the top level objects and the subdirs are allowed
-to build in parallel, so it's possible for multiple children to see that
-version.h is not available and that it needs to be created, so they all do.
-
-there is even more trouble is that version.h depends on all the top level
-sources, some of which are compiled (like syntax.c).  so these parallel
-children all kick off a job to generate syntax.c which in turn requires the
-mksyntax helper executable.  obviously multiple processes rm-ing, compiling,
-and linking the same files quickly falls apart.
-
-so tweak the subdirs to all depend on the .build target which in turn depends
-on all of these top level files being generated.  now the subdirs won't try and
-recursively enter the top level.
-
-(noticed by David James)
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -597,6 +598,11 @@
- #     $(YACC) -d $(srcdir)/parse.y
- #     -if cmp -s old-y.tab.h y.tab.h; then mv old-y.tab.h y.tab.h; fi
- 
-+# Subdirs will often times want version.h, so they'll change back up to
-+# the top level and try to create it.  This causes parallel build issues
-+# so just force top level sanity before we descend.
-+$(LIBDEP): .build
-+
- $(READLINE_LIBRARY): config.h $(READLINE_SOURCE)
-       @echo making $@ in ${RL_LIBDIR}
-       @( { test "${RL_LIBDIR}" = "${libdir}" && exit 0; } || \
-
-http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00107.html
-
-the top level Makefile will recurse into the defdir for multiple targets
-(libbuiltins.a, common.o, bashgetopt.o, builtext.h), and since these do
-not have any declared interdependencies, parallel makes will recurse into
-the subdir and build the respective targets.
-
-nothing depends on common.o or bashgetopt.o, so those targets don't get
-used normally.  this leaves libbuiltins.a and builtext.h.  at a glance,
-this shouldn't be a big deal, but when we look closer, there's a subtle
-failure lurking.
-
-most of the objects in the defdir need to be generated which means they
-need to build+link the local mkbuiltins helper.  the builtext.h header
-also needs to be generated by the mkbuiltins helper.  so when the top
-level launches a child for libbuiltins.a and a child for builtext.h, we
-can hit a race condition where the two try to generate mkbuiltins, and
-the build randomly fails.
-
-so update libbuiltins.a to depend on builtext.h.  this should be fairly
-simple since it's only a single target.
-
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -674,7 +674,7 @@
-       $(RM) $@
-       ./mksyntax$(EXEEXT) -o $@
- 
--$(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h 
${BASHINCDIR}/memalloc.h version.h
-+$(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h 
${BASHINCDIR}/memalloc.h ${DEFDIR}/builtext.h version.h
-       @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || 
exit 1
- 
- # these require special rules to circumvent make builtin rules

diff --git a/app-shells/bash/files/bash-4.2-read-retry.patch 
b/app-shells/bash/files/bash-4.2-read-retry.patch
deleted file mode 100644
index 44903c68afe1..000000000000
--- a/app-shells/bash/files/bash-4.2-read-retry.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-https://bugs.gentoo.org/447810
-
-fix from upstream to workaround broken BSD kernels
-
-commit 208fdb509e072977ae7a621e916dfcd32c76047d
-Author: Chet Ramey <c...@caleb.ins.cwru.edu>
-Date:   Mon Mar 4 08:09:29 2013 -0500
-
-    commit bash-20130201 snapshot
-
-diff --git a/redir.c b/redir.c
-index d7da2f3..aa3d16d 100644
---- a/redir.c
-+++ b/redir.c
-@@ -650,7 +650,7 @@ redir_open (filename, flags, mode, ri)
-      int flags, mode;
-      enum r_instruction ri;
- {
--  int fd, r;
-+  int fd, r, e;
- 
-   r = find_string_in_alist (filename, _redir_special_filenames, 1);
-   if (r >= 0)
-@@ -666,7 +666,16 @@ redir_open (filename, flags, mode, ri)
-     }
-   else
-     {
--      fd = open (filename, flags, mode);
-+      do
-+      {
-+        fd = open (filename, flags, mode);
-+        e = errno;
-+        if (fd < 0 && e == EINTR)
-+          QUIT;
-+        errno = e;
-+      }
-+      while (fd < 0 && errno == EINTR);
-+
- #if defined (AFS)
-       if ((fd < 0) && (errno == EACCES))
-       {

diff --git a/app-shells/bash/files/bash-4.2-speed-up-read-N.patch 
b/app-shells/bash/files/bash-4.2-speed-up-read-N.patch
deleted file mode 100644
index b96ad0c887e1..000000000000
--- a/app-shells/bash/files/bash-4.2-speed-up-read-N.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00034.html
-
-From 530d4988afd68ea9d2cf1b0267d4dc821d0d204f Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vap...@gentoo.org>
-Date: Mon, 19 Nov 2012 17:58:51 -0500
-Subject: [PATCH] bash: speed up `read -N`
-
-Rather than using 1 byte reads, use the existing cache read logic.
-This could be sped up more, but this change is not as invasive and
-should (hopefully) be fairly safe.
-
-Signed-off-by: Mike Frysinger <vap...@gentoo.org>
----
- builtins/read.def | 21 ++++++++++++++++-----
- externs.h         |  1 +
- lib/sh/zread.c    | 15 +++++++++++++--
- 3 files changed, 30 insertions(+), 7 deletions(-)
-
-diff --git a/builtins/read.def b/builtins/read.def
-index e32dec7..81a1b3f 100644
---- a/builtins/read.def
-+++ b/builtins/read.def
-@@ -457,7 +457,10 @@ read_builtin (list)
-   interrupt_immediately++;
-   terminate_immediately++;
- 
--  unbuffered_read = (nchars > 0) || (delim != '\n') || input_is_pipe;
-+  if ((nchars > 0) && !input_is_tty && ignore_delim)
-+    unbuffered_read = 2;
-+  else if ((nchars > 0) || (delim != '\n') || input_is_pipe)
-+    unbuffered_read = 1;
- 
-   if (prompt && edit == 0)
-     {
-@@ -505,10 +508,18 @@ read_builtin (list)
-         print_ps2 = 0;
-       }
- 
--      if (unbuffered_read)
--      retval = zread (fd, &c, 1);
--      else
--      retval = zreadc (fd, &c);
-+      switch (unbuffered_read)
-+      {
-+      case 2:
-+        retval = zreadcn (fd, &c, nchars - nr);
-+        break;
-+      case 1:
-+        retval = zread (fd, &c, 1);
-+        break;
-+      default:
-+        retval = zreadc (fd, &c);
-+        break;
-+      }
- 
-       if (retval <= 0)
-       {
-diff --git a/externs.h b/externs.h
-index 09244fa..a5ad645 100644
---- a/externs.h
-+++ b/externs.h
-@@ -479,6 +479,7 @@ extern ssize_t zread __P((int, char *, size_t));
- extern ssize_t zreadretry __P((int, char *, size_t));
- extern ssize_t zreadintr __P((int, char *, size_t));
- extern ssize_t zreadc __P((int, char *));
-+extern ssize_t zreadcn __P((int, char *, int));
- extern ssize_t zreadcintr __P((int, char *));
- extern void zreset __P((void));
- extern void zsyncfd __P((int));
-diff --git a/lib/sh/zread.c b/lib/sh/zread.c
-index 5db21a9..af7d02b 100644
---- a/lib/sh/zread.c
-+++ b/lib/sh/zread.c
-@@ -101,15 +101,18 @@ static char lbuf[128];
- static size_t lind, lused;
- 
- ssize_t
--zreadc (fd, cp)
-+zreadcn (fd, cp, len)
-      int fd;
-      char *cp;
-+     int len;
- {
-   ssize_t nr;
- 
-   if (lind == lused || lused == 0)
-     {
--      nr = zread (fd, lbuf, sizeof (lbuf));
-+      if (len > sizeof (lbuf))
-+      len = sizeof (lbuf);
-+      nr = zread (fd, lbuf, len);
-       lind = 0;
-       if (nr <= 0)
-       {
-@@ -123,6 +126,14 @@ zreadc (fd, cp)
-   return 1;
- }
- 
-+ssize_t
-+zreadc (fd, cp)
-+     int fd;
-+     char *cp;
-+{
-+  return zreadcn (fd, cp, sizeof (lbuf));
-+}
-+
- /* Don't mix calls to zreadc and zreadcintr in the same function, since they
-    use the same local buffer. */
- ssize_t
--- 
-1.7.12.4
-

diff --git a/app-shells/bash/files/bash-4.3-arrayfunc.patch 
b/app-shells/bash/files/bash-4.3-arrayfunc.patch
deleted file mode 100644
index f44d18478454..000000000000
--- a/app-shells/bash/files/bash-4.3-arrayfunc.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-http://lists.gnu.org/archive/html/bug-bash/2014-11/msg00178.html
-
-diff --git a/arrayfunc.c b/arrayfunc.c
-index 804e6da..0f900aa 100644
---- a/arrayfunc.c
-+++ b/arrayfunc.c
-@@ -498,7 +498,7 @@ assign_compound_array_list (var, nlist, flags)
- 
-   for (list = nlist; list; list = list->next)
-     {
--      iflags = flags;
-+      iflags = (flags & ~ASS_APPEND);
-       w = list->word->word;
- 
-       /* We have a word of the form [ind]=value */

diff --git 
a/app-shells/bash/files/bash-4.3-mapfile-improper-array-name-validation.patch 
b/app-shells/bash/files/bash-4.3-mapfile-improper-array-name-validation.patch
deleted file mode 100644
index 20bf340fdbd3..000000000000
--- 
a/app-shells/bash/files/bash-4.3-mapfile-improper-array-name-validation.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-http://lists.gnu.org/archive/html/bug-bash/2014-11/msg00097.html
-
---- bash-4.3/builtins/mapfile.def
-+++ bash-4.3/builtins/mapfile.def
-@@ -339,7 +339,7 @@
-   else
-     array_name = list->word->word;
-   
--  if (legal_identifier (array_name) == 0 && valid_array_reference 
(array_name) == 0)
-+  if (legal_identifier (array_name) == 0)
-     {
-       sh_invalidid (array_name);
-       return (EXECUTION_FAILURE);

diff --git a/app-shells/bash/files/bash-4.3-protos.patch 
b/app-shells/bash/files/bash-4.3-protos.patch
deleted file mode 100644
index 7af84ff707f3..000000000000
--- a/app-shells/bash/files/bash-4.3-protos.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/redir.c
-+++ b/redir.c
-@@ -31,6 +31,7 @@
- #endif
- #include "filecntl.h"
- #include "posixstat.h"
-+#include "trap.h"
- 
- #if defined (HAVE_UNISTD_H)
- #  include <unistd.h>

diff --git a/app-shells/bash/files/bash-4.4-jobs_overflow.patch 
b/app-shells/bash/files/bash-4.4-jobs_overflow.patch
deleted file mode 100644
index 8753d62ec6c1..000000000000
--- a/app-shells/bash/files/bash-4.4-jobs_overflow.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://lists.gnu.org/archive/html/bug-bash/2017-12/msg00025.html
-https://bugs.gentoo.org/644720
-
---- bash-4.4/jobs.c
-+++ bash-4.4/jobs.c
-@@ -750,7 +750,7 @@
-   else
-     nsize = bgpids.nalloc;
- 
--  while (nsize < js.c_childmax)
-+  while (nsize < (ps_index_t)js.c_childmax)
-     nsize *= 2;
- 
-   if (bgpids.nalloc < js.c_childmax)

diff --git a/app-shells/bash/files/bash-4.4-popd-offset-overflow.patch 
b/app-shells/bash/files/bash-4.4-popd-offset-overflow.patch
deleted file mode 100644
index cc6b622eca34..000000000000
--- a/app-shells/bash/files/bash-4.4-popd-offset-overflow.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://bugs.gentoo.org/600174
-https://lists.gnu.org/archive/html/bug-bash/2016-11/msg00099.html
-
-*** bash-4.4/builtins/pushd.def
---- bash-4.4/builtins/pushd.def
-***************
-*** 366,370 ****
-      }
-  
-!   if (which > directory_list_offset || (directory_list_offset == 0 && which 
== 0))
-      {
-        pushd_error (directory_list_offset, which_word ? which_word : "");
---- 366,370 ----
-      }
-  
-!   if (which > directory_list_offset || (which < -directory_list_offset) || 
(directory_list_offset == 0 && which == 0))
-      {
-        pushd_error (directory_list_offset, which_word ? which_word : "");
-***************
-*** 388,391 ****
---- 388,396 ----
-        of the list into place. */
-        i = (direction == '+') ? directory_list_offset - which : which;
-+       if (i < 0 || i > directory_list_offset)
-+      {
-+        pushd_error (directory_list_offset, which_word ? which_word : "");
-+        return (EXECUTION_FAILURE);
-+      }
-        free (pushd_directory_list[i]);
-        directory_list_offset--;

diff --git a/app-shells/bash/files/bash-4.4-set-SHOBJ_STATUS.patch 
b/app-shells/bash/files/bash-4.4-set-SHOBJ_STATUS.patch
deleted file mode 100644
index 96302c2030e7..000000000000
--- a/app-shells/bash/files/bash-4.4-set-SHOBJ_STATUS.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-http://lists.gnu.org/archive/html/bug-bash/2016-10/msg00004.html
-
---- a/configure
-+++ b/configure
-@@ -16124,6 +16124,9 @@ $as_echo_n "checking shared object configuration for 
loadable builtins... " >&6;
- 
-       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SHOBJ_STATUS" >&5
- $as_echo "$SHOBJ_STATUS" >&6; }
-+else
-+      SHOBJ_STATUS=unsupported
-+
- fi
- 
- # try to create a directory tree if the source is elsewhere

diff --git a/app-shells/bash/files/bash-4.x-deferred-heredocs.patch 
b/app-shells/bash/files/bash-4.x-deferred-heredocs.patch
deleted file mode 100644
index c6a6de44d36d..000000000000
--- a/app-shells/bash/files/bash-4.x-deferred-heredocs.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-http://bugs.gentoo.org/310197
-http://lists.gnu.org/archive/html/bug-bash/2010-03/msg00063.html
-
-fix heredocs handling in `set` output
-
-*** bash-4.1/print_cmd.c
---- bash-4.1/print_cmd.c
-***************
-*** 114,117 ****
---- 114,123 ----
-  #define CHECK_XTRACE_FP      xtrace_fp = (xtrace_fp ? xtrace_fp : stderr)
-  
-+ #define PRINT_DEFERRED_HEREDOCS(x) \
-+   do { \
-+     if (deferred_heredocs) \
-+       print_deferred_heredocs (x); \
-+   } while (0)
-+ 
-  /* Non-zero means the stuff being printed is inside of a function def. */
-  static int inside_function_def;
-***************
-*** 561,571 ****
-  {
-    print_for_command_head (for_command);
-- 
-    cprintf (";");
-    newline ("do\n");
-    indentation += indentation_amount;
-    make_command_string_internal (for_command->action);
-    semicolon ();
-    indentation -= indentation_amount;
-    newline ("done");
-  }
---- 566,578 ----
-  {
-    print_for_command_head (for_command);
-    cprintf (";");
-    newline ("do\n");
-+ 
-    indentation += indentation_amount;
-    make_command_string_internal (for_command->action);
-+   PRINT_DEFERRED_HEREDOCS ("");
-    semicolon ();
-    indentation -= indentation_amount;
-+ 
-    newline ("done");
-  }

diff --git a/app-shells/bash/files/bash-5.0-history-append.patch 
b/app-shells/bash/files/bash-5.0-history-append.patch
deleted file mode 100644
index 20f78bfe9f03..000000000000
--- a/app-shells/bash/files/bash-5.0-history-append.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-*** ../bash-5.0-patched/bashhist.c     2018-07-05 22:41:14.000000000 -0400
---- bashhist.c 2019-02-23 17:12:02.000000000 -0500
-***************
-*** 437,445 ****
-       char *filename;
-  {
-!   int fd, result;
-    struct stat buf;
-  
-    result = EXECUTION_SUCCESS;
-!   if (history_lines_this_session > 0 && (history_lines_this_session <= 
where_history ()))
-      {
-        /* If the filename was supplied, then create it if necessary. */
---- 437,445 ----
-       char *filename;
-  {
-!   int fd, result, histlen;
-    struct stat buf;
-  
-    result = EXECUTION_SUCCESS;
-!   if (history_lines_this_session > 0)
-      {
-        /* If the filename was supplied, then create it if necessary. */
-***************
-*** 454,457 ****
---- 454,461 ----
-         close (fd);
-       }
-+       /* cap the number of lines we write at the length of the history list 
*/
-+       histlen = where_history ();
-+       if (histlen > 0 && history_lines_this_session > histlen)
-+      history_lines_this_session = histlen;   /* reset below anyway */
-        result = append_history (history_lines_this_session, filename);
-        /* Pretend we already read these lines from the file because we just

Reply via email to